Exemplo n.º 1
0
 def sigmaf(lwv):
     wv = np.exp(lwv) - C
     bb, osc = getBoundary(rhoSol[0], rhoSol[1], [mu * wv, a2])
     assert osc == 0
     qsigmas.append(-1j * bb[2][1] / (bb[2][0] * (mu * wv)))
     qws.append(wv)
     return (qsigmas[-1].real - 1) * (wv + C) * mu
Exemplo n.º 2
0
from getBoundary import getBoundary
from solveBC import sweep, findrho
from printStatus import printRatio
import numpy as np
import pylab as pl
from fig import fig, saveFig, printText

a2s=np.logspace(-4,4,60)
y1s,y2s=[],[]
Tr=2
for i in range(len(a2s)):
    a2=a2s[i]
    printRatio(i,len(a2s))
    bbs,sols=sweep(lambda x,y:getBoundary(x,y,[0,a2]),[1e-6],oscN=1)
    
    rho=-np.array(bbs)[:,:,1,1].real
    rhoc=min([min(r) for r in rho])#rho, in units used at Tc

    rho=rhoc/Tr**2
    zh=1
    T=3./(zh*4.*np.pi)
    Tc=T*np.sqrt(rho/rhoc)


    bb,osc=getBoundary(1,0,[0,a2])
    guess=rho/(-bb[1][1])
    from scipy.optimize import fsolve
    hphi=fsolve(lambda hphi:rho+getBoundary(hphi,0,[0,a2])[0][1][1], guess)

    w=1e-3*Tc
    bb,osc=getBoundary(hphi,0,[w,a2])
Exemplo n.º 3
0
 def f(l):
     w = np.exp(l)
     bb, osc = getBoundary(rhoSol[osci][0], rhoSol[osci][1], [mu * w, a2])
     assert osc == osci
     return -1j * bb[2][1] / (bb[2][0] * (mu * w))
Exemplo n.º 4
0
import numpy as np
import pylab as pl
from fig import fig, saveFig, printText, getPlotY
from printStatus import printRatio
from pickle import load, dump

hpsis = np.logspace(-6, 1.5, 300)
a2 = 0.1
plotImag = False  # True
from solveBC import sweep, findrho

try:
    bbs, sols = load(open("cache/sols_a2=" + str(a2)))
except IOError:
    print("Solve for sweep of different horizon BCs...")
    bbs, sols = sweep(lambda x, y: getBoundary(x, y, [0, a2]), hpsis, oscN=1, status=True)
    dump((bbs, sols), open("cache/sols_a2=" + str(a2), "w"))

rho = -np.array(bbs)[:, :, 1, 1].real
rhoc = min([min(r) for r in rho])  # rho, in units used at Tc

fig(11)
if a2 == 0:
    Trs = [1.0, 0.9, 0.5, 0.05]
else:
    Trs = [0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 1.1, 1.2, 1.3]
    # Trs=[0.1,0.3,0.5,0.7,0.9,1.1]
    # Trs=np.linspace(0.23,0.4,8)
zh = 1
T = 3.0 / (zh * 4.0 * np.pi)
# wvs= np.logspace(0,1.5,40)/15.
Exemplo n.º 5
0
 def f(w):
     bb,osc=getBoundary(rhoSol[osci][0],rhoSol[osci][1], [w*T,a2])
     assert(osc==osci)
     return -1j*bb[2][1]/( bb[2][0]*(T*w) )
Exemplo n.º 6
0
import numpy as np
import pylab as pl
from fig import fig, saveFig, printText, getPlotY
from printStatus import printRatio
from pickle import load, dump

hpsis=np.logspace(-6,1.5,300)
a2=0.0
plotImag=True
from solveBC import sweep, findrho

try:
    bbs,sols=load(open('cache/sols_a2='+str(a2)))
except IOError:
    print('Solve for sweep of different horizon BCs...')
    bbs,sols=sweep(lambda x,y: getBoundary(x,y,[0,a2]), hpsis, oscN=1, status=True)
    dump((bbs,sols),open('cache/sols_a2='+str(a2),'w'))

mu=-np.array(bbs)[:,:,1,1].real
muc=min([min(r) for r in mu])#mu, in units used at Tc

natTK=45.*0.69503476 #45 K *K_b in cm**{-1}
voltInT=1/(45.*8.6173324e-5)

#Trs=[0.9,0.5,0.05]
nature=[10,17,28,40,54,71]
#murs=[i*19./nature[0] for i in nature]
scale=3.7
murs=[scale*np.sqrt(1.*i)*5000./2/8.9/natTK for i in nature]

zh=1
Exemplo n.º 7
0
import numpy as np
import pylab as pl
from fig import fig, saveFig, printText, getPlotY
from printStatus import printRatio
from pickle import load, dump

hpsis=np.logspace(-6,1.5,300)
a2=0.0
plotImag=False
from solveBC import sweep, findrho
oscN=6
try:
    bbs,sols=load(open('cache/sols_oscN='+str(oscN)+'_a2='+str(a2)))
except IOError:
    print('Solve for sweep of different horizon BCs...')
    bbs,sols=sweep(lambda x,y: getBoundary(x,y,[0,a2]), hpsis, oscN=oscN, status=True)
    dump((bbs,sols),open('cache/sols_oscN='+str(oscN)+'_a2='+str(a2),'w'))

rho=-np.array(bbs)[:,:,1,1].real
mu=np.array(bbs)[:,:,1,0].real
O=np.array(bbs)[:,:,0,1].real
#const=mu
const=np.sqrt(rho)
cConst=min([min(r) for r in const])#rho, in units used at Tc


zh=1.#choice of length units makes zh numerically constant
T=3./(zh*4.*np.pi)#temp of solution in units used, this is constant by choice of units

for osci in range(len(mu)):
    sign=-1 if O[osci][0]<0 else 1
Exemplo n.º 8
0
sp.pprint(sp.I*LEe)
Lfun=sp.lambdify([M.x[0]]+varParams+dummies, sp.I*LEe)


hpsis=np.logspace(-6,1.5,300)
a2=0.0001
plotImag=False
from solveBC import sweep, findrho
oscN=4
try:
    bbs,sols=load(open('cache/sols_oscN='+str(oscN)+'_a2='+str(a2)))
    print len(sols[0])
    assert(len(sols[0])==len(hpsis))
except IOError:
    print('Solve for sweep of different horizon BCs...')
    bbs,sols=sweep(lambda x,y: getBoundary(x,y,[0,a2]), hpsis, oscN=oscN, status=True)
    dump((bbs,sols),open('cache/sols_oscN='+str(oscN)+'_a2='+str(a2),'w'))

rhos=-np.array(bbs)[:,:,1,1].real
mu=np.array(bbs)[:,:,1,0].real
O=np.array(bbs)[:,:,0,1].real
#const=mu
const=np.sqrt(rhos)
cConst=min([min(r) for r in const])#rho, in units used at Tc

zh=1.#choice of length units makes zh numerically constant
T=3./(zh*4.*np.pi)#temp of solution in units used, this is numerically constant by choice of units

try:
    As=load(open('cache/As_oscN='+str(oscN)+'_a2='+str(a2)))
except IOError: