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
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])
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))
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.
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) )
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
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
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: