def __init__(self, varyw=True, varyOde=True, userd_DE=True): # two parameters: Om and h self.userd_DE = userd_DE print('userd', userd_DE) self.varyw = varyw self.varyOde = varyOde self.w0 = w_par.value self.Ode = Ode_par.value self.oC = LCDMCosmology() LCDMCosmology.__init__(self)
def __init__(self): obh2 = 0.0224 Om = 0.274 h = 0.7 mnu = 0 fidTheory = LCDMCosmology(obh2, Om, h, mnu) GaussBAODVLikelihood.__init__(self, "DR11LOWZ", 0.32, 1264.0, 25.0, fidTheory)
def __init__(self): obh2 = 0.0227 Om = 0.27 h = 0.7 mnu = 0 #;# rd=149.77 fidTheory = LCDMCosmology(obh2, Om, h, mnu) TabulatedBAOLikelihood.__init__(self, "DR11LyaCross", 'data/lyabaocross.scan', 2, fidTheory, 2.36)
def __init__(self): obh2 = 0.021547 Om = 0.31 h = 0.67 mnu = 0 fidTheory = LCDMCosmology(obh2, Om, h, mnu) TabulatedBAODVLikelihood.__init__( self, "MGS", "data/chidavexi8stavePk5staverec.dat", fidTheory, 0.15)
def __init__(self): obh2 = 0.022 Om = 0.31 h = 0.676 mnu = 0.06 fidTheory = LCDMCosmology(obh2, Om, h, mnu) TabulatedBAOLikelihood.__init__( self, "ACPNS_1", 'data/aratdatacombrecACPNScombaccarec15st01covchi.dat', 2, fidTheory, 0.39)
def __init__(self): ## fiducial cosmology for LOWZ/CMASS data. ## see Anderson et al, page 28 obh2 = 0.0224 Om = 0.274 h = 0.7 mnu = 0 #rd=149.28 fidTheory = LCDMCosmology(obh2, Om, h, mnu) ## negative col means the cols is probability and not chi2 TabulatedBAOLikelihood.__init__(self, "DR11CMASS", 'data/sdss_DR11CMASS_consensus.dat', -2, fidTheory, 0.57)
def __init__(self): ## fiducial cosmology for Lya data. ## see e.g. Busca's email on 12/3/13 obh2 = 0.0227 Om = 0.27 h = 0.7 mnu = 0.06 #;# rd=149.77 fidTheory = LCDMCosmology(obh2, Om, h, mnu) # File from 5/16 from Nicolas. TabulatedBAOLikelihood.__init__( self, "DR11LyaAuto", 'data/chi2_surface_dr11_baseline_fit.txt', 4, fidTheory, 2.34)
def __init__(self): obh2 = 0.022 Om = 0.31 h = 0.676 mnu = 0.06 fidTheory = LCDMCosmology(obh2, Om, h, mnu) TabulatedBAOLikelihood.__init__(self, "CombBAOzb3", 'data/combxiFBBAOlikgrid_zb3.dat', -2, fidTheory, 0.61, order_aper_apar=False)
def __init__(self, varymu=True, varyAmp=True, varysig=True, varyCos=True): ## two parameters: Om and h ## we start with false here... varyOk = False ## this is my "original cosmology" -- outside gaussian not much will change. self.varyOk = varyOk self.varymu = varymu self.varyAmp = varyAmp self.varysig = varysig self.varyCos = varyCos self.Ok = Ok_par.value self.mu = mu_par.value self.Amp = Amp_par.value self.sig = sig_par.value ## auxiliary self cosmology self.oC = LCDMCosmology() LCDMCosmology.__init__(self)
def __init__(self): obh2 = 0.02227 Om = 0.27 h = 0.7 mnu = 0 fidTheory = LCDMCosmology(obh2, Om, h, mnu) GaussBAODVLikelihood.__init__(self, "SixdFGS", 0.106, 456.0, 27.0, fidTheory, maxchi2=4)
def __init__(self, varyw=True, varyOde=True, userd_DE=True): ## two parameters: Om and h self.userd_DE = userd_DE print 'userd', userd_DE self.varyw= varyw self.varyOde=varyOde self.w0= w_par.value self.Ode=Ode_par.value self.oC=LCDMCosmology() LCDMCosmology.__init__(self)
def __init__(self): # fiducial cosmology for Lya data. # Taken from https://github.com/igmhub/picca/blob/master/data/deSainteAgatheetal2019/auto_alone_stdFit/auto_alone_stdFit..ap.at.scan.dat # fiducial model -- see Table 2 of Victoria's paper obh2 = 0.02222 h = 0.6731 Om = 0.1426 / h**2 mnu = 0.06 # rd=147.33 fidTheory = LCDMCosmology(obh2, Om, h, mnu) TabulatedBAOLikelihood.__init__( self, "DR14LyaAuto", 'data/deSainteAgatheetal2019_ap_at_scan.dat', 2, fidTheory, 2.34, aperp_col=1, apar_col=0, skiprows=1)
def __init__(self): # fiducial cosmology for Lya data. # Taken from https://github.com/igmhub/picca/tree/master/data/Blomqvistetal2019/cross_alone_stdFit # fiducial model -- double check obh2 = 0.02222 h = 0.6731 Om = 0.1426 / h**2 mnu = 0.06 # rd=147.33 fidTheory = LCDMCosmology(obh2, Om, h, mnu) # File from 5/16 from Nicolas. TabulatedBAOLikelihood.__init__( self, "DR14LyaCross", 'data/Blomqvistetal2019_ap_at_scan.dat', 2, fidTheory, 2.34, aperp_col=1, apar_col=0, skiprows=1)
def __init__(self, varymu=True, varyAmp=True, varysig=True, varyCos=True): ## two parameters: Om and h ## we start with false here... varyOk=False ## this is my "original cosmology" -- outside gaussian not much will change. self.varyOk=varyOk self.varymu=varymu self.varyAmp=varyAmp self.varysig=varysig self.varyCos=varyCos self.Ok=Ok_par.value self.mu=mu_par.value self.Amp=Amp_par.value self.sig=sig_par.value ## auxiliary self cosmology self.oC=LCDMCosmology() LCDMCosmology.__init__(self)
def ParseModel(model): if model=="LCDM": T=LCDMCosmology() elif model=="LCDMmasslessnu": T=LCDMCosmology(mnu=0) elif model=="nuLCDM": T=LCDMCosmology() T.setVaryMnu() elif model=="NeffLCDM": LCDMCosmology.rd_approx="CuestaNeff" T=LCDMCosmology() T.setVaryNnu() elif model=="noradLCDM": T=LCDMCosmology(disable_radiation=True) elif model=="oLCDM": T=oLCDMCosmology() elif model=="nuoLCDM": T=oLCDMCosmology() T.setVaryMnu() elif model=="wCDM": T=wLCDMCosmology() elif model=="nuwCDM": T=wLCDMCosmology() T.setVaryMnu() elif model=="waCDM": T=owa0CDMCosmology(varyOk=False) elif model=="owCDM": T=owa0CDMCosmology(varywa=False) elif model=="owaCDM": T=owa0CDMCosmology() elif model=='FCDM': T=OzcosCosmology() elif model=="JordiCDM": T=JordiCDMCosmology() elif model=="WeirdCDM": T=WeirdCDMCosmology() elif model=="TLight": T=TiredLightDecorator(PolyCDMCosmology()) elif model=="StepCDM": T=StepCDMCosmology() elif model=="Spline": T=SplineLCDMCosmology() elif model=="DecayFrac": T=DecayLCDMCosmology() elif model=="Decay": T=DecayLCDMCosmology(varyxfrac=False) elif model=="Decay01": T=DecayLCDMCosmology(varyxfrac=False,xfrac=0.1) elif model=="Decay05": T=DecayLCDMCosmology(varyxfrac=False,xfrac=0.5) elif model=="PolyCDM": T=PolyCDMCosmology() elif model=="fPolyCDM": T=PolyCDMCosmology(varyOk=False) elif model=="EarlyDE": T=EarlyDECosmology(varyw=False,userd_DE=False) elif model=="EarlyDE_rd_DE": T=EarlyDECosmology(varyw=False) elif model=="SlowRDE": T=SlowRDECosmology(varyOk=False) elif model=="Quint": T=QuintCosmology() elif model=='wDM': T=wDMCosmology() else: print "Cannot recognize model", model sys.exit(1) return T
class WeirdCDMCosmology(LCDMCosmology): def __init__(self, varymu=True, varyAmp=True, varysig=True, varyCos=True): ## two parameters: Om and h ## we start with false here... varyOk=False ## this is my "original cosmology" -- outside gaussian not much will change. self.varyOk=varyOk self.varymu=varymu self.varyAmp=varyAmp self.varysig=varysig self.varyCos=varyCos self.Ok=Ok_par.value self.mu=mu_par.value self.Amp=Amp_par.value self.sig=sig_par.value ## auxiliary self cosmology self.oC=LCDMCosmology() LCDMCosmology.__init__(self) ## my free parameters. We add Ok on top of LCDM ones (we inherit LCDM) def freeParameters(self): l=[] if (self.varyCos): l+=LCDMCosmology.freeParameters(self) if (self.varyOk): l.append(Ok_par) if (self.varymu): l.append(mu_par) if (self.varyAmp): l.append(Amp_par) if (self.varysig): l.append(sig_par) return l def updateParams(self,pars): LCDMCosmology.updateParams(self,pars) self.oC.updateParams(pars) for p in pars: if p.name=="Ok": self.Ok=p.value self.setCurvature(self.Ok) if (abs(self.Ok)>1.0): return False elif p.name=="mu": self.mu=p.value elif p.name=="Amp": self.Amp=p.value elif p.name=="sig": self.sig=p.value return True def Weird(self,a): #return W(z) and dW(z)/dz z=1.0/a-1 lmu=log(self.mu+1) lz=log(z+1) W=self.Amp*N.exp(-(lz-lmu)**2/(2*self.sig**2)) WP=W*(-(lz-lmu)/self.sig**2)*a ## a=1/(1+z) = dlog(1+z)/dz return W,WP ## this is relative hsquared as a function of a ## i.e. H(z)^2/H(z=0)^2 def RHSquared_a(self,a): W,WP=self.Weird(a) H2=LCDMCosmology.RHSquared_a(self,a) HI=1/sqrt(H2) HI=HI*(1+W) + self.oC.Da_z(1/a-1)*WP return 1/HI**2 def Da_z(self,z): W,WP=self.Weird(1/(1.0+z)) return self.oC.Da_z(z)*(1+W)
class EarlyDECosmology(LCDMCosmology): def __init__(self, varyw=True, varyOde=True, userd_DE=True): ## two parameters: Om and h self.userd_DE = userd_DE print 'userd', userd_DE self.varyw= varyw self.varyOde=varyOde self.w0= w_par.value self.Ode=Ode_par.value self.oC=LCDMCosmology() LCDMCosmology.__init__(self) ## my free parameters. We add Ok on top of LCDM ones (we inherit LCDM) def freeParameters(self): l=LCDMCosmology.freeParameters(self) if (self.varyw): l.append(w_par) if (self.varyOde): l.append(Ode_par) return l def updateParams(self,pars): ok=LCDMCosmology.updateParams(self,pars) self.oC.updateParams(pars) if not ok: return False for p in pars: if p.name=="w": self.w0=p.value if p.name=="Ode": self.Ode=p.value return True ## this is relative hsquared as a function of a ## i.e. H(z)^2/H(z=0)^2 def RHSquared_a(self,a): NuContrib=self.NuDensity.rho(a)/self.h**2 Omega_d0 = 1.0-self.Ocb-self.Omrad-self.NuDensity.rho(1.0)/self.h**2 factor= self.Ocb/a**3+self.Omrad/a**4+NuContrib Omega_d =(Omega_d0-self.Ode*(1.0-a**(-3*self.w0)))/(Omega_d0+factor*a**(3*(1.0+self.w0)))+ self.Ode*(1.0-a**(-3*self.w0)) return factor/(1.0-Omega_d) def prefactor(self): if self.userd_DE: self.rd = self.oC.rd*((1.-self.Ode)**(0.5)) else: self.rd = self.oC.rd return self.c_/(self.rd*self.h*100) #for printing purposes only def Omega_de(self, a): NuContrib=self.NuDensity.rho(a)/self.h**2 Omega_d0 = 1.0-self.Ocb-self.Omrad-self.NuDensity.rho(1.0)/self.h**2 factor= self.Ocb/a**3+self.Omrad/a**4+NuContrib return (Omega_d0-self.Ode*(1.0-a**(-3*self.w0)))/(Omega_d0+factor*a**(3*(1.0+self.w0)))+ self.Ode*(1.0-a**(-3*self.w0))
class WeirdCDMCosmology(LCDMCosmology): def __init__(self, varymu=True, varyAmp=True, varysig=True, varyCos=True): ## two parameters: Om and h ## we start with false here... varyOk = False ## this is my "original cosmology" -- outside gaussian not much will change. self.varyOk = varyOk self.varymu = varymu self.varyAmp = varyAmp self.varysig = varysig self.varyCos = varyCos self.Ok = Ok_par.value self.mu = mu_par.value self.Amp = Amp_par.value self.sig = sig_par.value ## auxiliary self cosmology self.oC = LCDMCosmology() LCDMCosmology.__init__(self) ## my free parameters. We add Ok on top of LCDM ones (we inherit LCDM) def freeParameters(self): l = [] if (self.varyCos): l += LCDMCosmology.freeParameters(self) if (self.varyOk): l.append(Ok_par) if (self.varymu): l.append(mu_par) if (self.varyAmp): l.append(Amp_par) if (self.varysig): l.append(sig_par) return l def updateParams(self, pars): LCDMCosmology.updateParams(self, pars) self.oC.updateParams(pars) for p in pars: if p.name == "Ok": self.Ok = p.value self.setCurvature(self.Ok) if (abs(self.Ok) > 1.0): return False elif p.name == "mu": self.mu = p.value elif p.name == "Amp": self.Amp = p.value elif p.name == "sig": self.sig = p.value return True def Weird(self, a): #return W(z) and dW(z)/dz z = 1.0 / a - 1 lmu = log(self.mu + 1) lz = log(z + 1) W = self.Amp * N.exp(-(lz - lmu)**2 / (2 * self.sig**2)) WP = W * (-(lz - lmu) / self.sig**2) * a ## a=1/(1+z) = dlog(1+z)/dz return W, WP ## this is relative hsquared as a function of a ## i.e. H(z)^2/H(z=0)^2 def RHSquared_a(self, a): W, WP = self.Weird(a) H2 = LCDMCosmology.RHSquared_a(self, a) HI = 1 / sqrt(H2) HI = HI * (1 + W) + self.oC.Da_z(1 / a - 1) * WP return 1 / HI**2 def Da_z(self, z): W, WP = self.Weird(1 / (1.0 + z)) return self.oC.Da_z(z) * (1 + W)
def ParseModel(model): if model == "LCDM": T = LCDMCosmology() elif model == "LCDMmasslessnu": T = LCDMCosmology(mnu=0) elif model == "nuLCDM": T = LCDMCosmology() T.setVaryMnu() elif model == "NeffLCDM": LCDMCosmology.rd_approx = "CuestaNeff" T = LCDMCosmology() T.setVaryNnu() elif model == "noradLCDM": T = LCDMCosmology(disable_radiation=True) elif model == "oLCDM": T = oLCDMCosmology() elif model == "nuoLCDM": T = oLCDMCosmology() T.setVaryMnu() elif model == "wCDM": T = wLCDMCosmology() elif model == "nuwCDM": T = wLCDMCosmology() T.setVaryMnu() elif model == "waCDM": T = owa0CDMCosmology(varyOk=False) elif model == "owCDM": T = owa0CDMCosmology(varywa=False) elif model == "owaCDM": T = owa0CDMCosmology() elif model == "JordiCDM": T = JordiCDMCosmology() elif model == "WeirdCDM": T = WeirdCDMCosmology() elif model == "TLight": T = TiredLightDecorator(PolyCDMCosmology()) elif model == "StepCDM": T = StepCDMCosmology() elif model == "Spline": T = SplineLCDMCosmology() elif model == "DecayFrac": T = DecayLCDMCosmology() elif model == "Decay": T = DecayLCDMCosmology(varyxfrac=False, xfrac=1.0) elif model == "Decay01": T = DecayLCDMCosmology(varyxfrac=False, xfrac=0.1) elif model == "Decay05": T = DecayLCDMCosmology(varyxfrac=False, xfrac=0.5) elif model == "PolyCDM": T = PolyCDMCosmology() elif model == "fPolyCDM": T = PolyCDMCosmology(varyOk=False) elif model == "EarlyDE": T = EarlyDECosmology(varyw=False, userd_DE=False) elif model == "EarlyDE_rd_DE": T = EarlyDECosmology(varyw=False) elif model == "SlowRDE": T = SlowRDECosmology(varyOk=False) elif model == "Quint_last": T = QuintCosmology() elif model == 'wDM': T = wDMCosmology() else: print(("Cannot recognize model", model)) sys.exit(1) return T
def ParseModel(model): # if model=="LCDM_2": if model == "LCDM" or "LCDM_" in model: T = LCDMCosmology() elif model == "LCDMmasslessnu" or "LCDMmasslessnu_" in model: T = LCDMCosmology(mnu=0) elif model == "nuLCDM" or "nuLCDM_" in model: T = LCDMCosmology() T.setVaryMnu() elif model == "NnuLCDM" or "NnuLCDM_" in model: LCDMCosmology.rd_approx = "tabulated_Nnu" T = LCDMCosmology() T.setVaryNnu() elif model == "noradLCDM" or "noradLCDM_" in model: T = LCDMCosmology(disable_radiation=True) elif model == "oLCDM" or "oLCDM_" in model: T = oLCDMCosmology() elif model == "wCDM" or "wCDM_" in model: T = wLCDMCosmology() elif model == "waCDM" or "waCDM_" in model: T = owa0CDMCosmology(varyOk=False) elif model == "owCDM" or "owCDM_" in model: T = owa0CDMCosmology(varywa=False) elif model == "owaCDM" or "owaCDM_" in model: T = owa0CDMCosmology() elif model == "JordiCDM" or "JordiCDM_" in model: T = JordiCDMCosmology() elif model == "WeirdCDM" or "WeirdCDM_" in model: T = WeirdCDMCosmology() elif model == "TLight" or "TLight_" in model: T = TLightCosmology() elif model == "StepCDM" or "StepCDM_" in model: T = StepCDMCosmology() elif model == "Spline" or "Spline_" in model: T = SplineLCDMCosmology() elif model == "Decay" or "Decay_" in model: T = DecayLCDMCosmology() elif model == "PolyCDM" or "PolyCDM_" in model: T = PolyCDMCosmology() elif model == "EarlyDE" or "EarlyDE_" in model: T = EarlyDECosmology() else: print "Cannot recognize model", model sys.exit(1) return T
def ParseModel(model): if model == "LCDM": T = LCDMCosmology() elif model == "LCDMmasslessnu": T = LCDMCosmology(mnu=0) elif model == "nuLCDM": T = LCDMCosmology() T.setVaryMnu() elif model == "NeffLCDM": LCDMCosmology.rd_approx = "CuestaNeff" T = LCDMCosmology() T.setVaryNnu() elif model == "noradLCDM": T = LCDMCosmology(disable_radiation=True) elif model == "oLCDM": T = oLCDMCosmology() elif model == "nuoLCDM": T = oLCDMCosmology() T.setVaryMnu() elif model == "wCDM": T = wLCDMCosmology() elif model == "nuwCDM": T = wLCDMCosmology() T.setVaryMnu() elif model == "waCDM": T = owa0CDMCosmology(varyOk=False) elif model == "owCDM": T = owa0CDMCosmology(varywa=False) elif model == "owaCDM": T = owa0CDMCosmology() elif model == "JordiCDM": T = JordiCDMCosmology() elif model == "WeirdCDM": T = WeirdCDMCosmology() elif model == "TLight": T = TiredLightDecorator(PolyCDMCosmology()) elif model == "StepCDM": T = StepCDMCosmology() elif model == "Spline": T = SplineLCDMCosmology() elif model == "DecayFrac": T = DecayLCDMCosmology() elif model == "Decay": T = DecayLCDMCosmology(varyxfrac=False, xfrac=1.0) elif model == "Decay01": T = DecayLCDMCosmology(varyxfrac=False, xfrac=0.1) elif model == "Decay05": T = DecayLCDMCosmology(varyxfrac=False, xfrac=0.5) elif model == "PolyCDM": T = PolyCDMCosmology() elif model == "fPolyCDM": T = PolyCDMCosmology(polyvary=['Om1','Om2']) elif model == "PolyOk": ## polycdm for OK T = PolyCDMCosmology(Ok_prior=10.) elif model == "PolyOkc": ## polycdm sans Om2 term to couple two T = PolyCDMCosmology(polyvary=['Om1','Ok'],Ok_prior=10.) elif model == "PolyOkf": ## polycdm sans Om2 term to couple two T = PolyCDMCosmology(polyvary=['Om1','Om2']) elif model == "EarlyDE": T = EarlyDECosmology(varyw=False, userd_DE=False) elif model == "EarlyDE_rd_DE": T = EarlyDECosmology(varyw=False) elif model == "SlowRDE": T = SlowRDECosmology(varyOk=False) elif model == "Quint_last": T = QuintCosmology() elif model == 'wDM': T = wDMCosmology() else: print("Cannot recognize model", model) sys.exit(1) return T
def ParseModel(model): if model == "LCDM": T = LCDMCosmology() elif model == "LCDMmasslessnu": T = LCDMCosmology(mnu=0) elif model == "nuLCDM": T = LCDMCosmology() T.setVaryMnu() elif model == "NeffLCDM": LCDMCosmology.rd_approx = "CuestaNeff" T = LCDMCosmology() T.setVaryNnu() elif model == "noradLCDM": T = LCDMCosmology(disable_radiation=True) elif model == "oLCDM": T = oLCDMCosmology() elif model == "nuoLCDM": T = oLCDMCosmology() T.setVaryMnu() elif model == "wCDM": T = wLCDMCosmology() elif model == "nuwCDM": T = wLCDMCosmology() T.setVaryMnu() elif model == "waCDM": T = owa0CDMCosmology(varyOk=False) elif model == "owCDM": T = owa0CDMCosmology(varywa=False) elif model == "owaCDM": T = Lowa0CDMCosmology() elif model == 'FCDM': T = OzcosCosmology() elif model == 'HornFco_c_cubic': T = HornFcoCosmology(varyc=True) elif model == 'HornFco_f_cubic': T = HornFcoCosmology(varyf=True) elif model == "JordiCDM": T = JordiCDMCosmology() elif model == "WeirdCDM": T = WeirdCDMCosmology() elif model == "TLight": T = TiredLightDecorator(PolyCDMCosmology()) elif model == "StepCDM": T = StepCDMCosmology() elif model == "Spline": T = SplineLCDMCosmology() elif model == "DecayFrac": T = DecayLCDMCosmology() elif model == "Decay": T = DecayLCDMCosmology(varyxfrac=False) elif model == "Decay01": T = DecayLCDMCosmology(varyxfrac=False, xfrac=0.1) elif model == "Decay05": T = DecayLCDMCosmology(varyxfrac=False, xfrac=0.5) elif model == "PolyCDM": T = PolyCDMCosmology() elif model == "fPolyCDM": T = PolyCDMCosmology(varyOk=False) elif model == "EarlyDE": T = EarlyDECosmology(varyw=False, userd_DE=False) elif model == "EarlyDE_rd_DE": T = EarlyDECosmology(varyw=False) elif model == "SlowRDE": T = SlowRDECosmology(varyOk=False) elif model == "Quint": T = QuintCosmology_try() elif model == "Quintess": T = QuintomCosmology(varymquin=True) elif model == "Phantom": T = QuintomCosmology(varymphan=True) elif model == "Quintom": T = QuintomCosmology(varymquin=True, varymphan=True, varyiniphi=True) elif model == "Anisotropic": T = AnisotropicCosmology() elif model == "Fourier": T = FourierCosmology() elif model == 'wDM': T = wDMCosmology() else: print "Cannot recognize model", model sys.exit(1) return T
class Early_DE_DMCosmology(LCDMCosmology): def __init__(self, varyw=True, varyOde=True, userd_DE=True, varywMO=True): ## two parameters: Om and h self.userd_DE = userd_DE print 'userd', userd_DE self.varyw = varyw self.varyOde = varyOde self.varywMO = varywMO self.w0 = w_par.value self.Ode = Ode_par.value self.wMO = wMO_par.value self.oC = LCDMCosmology() LCDMCosmology.__init__(self) ## my free parameters. We add Ok on top of LCDM ones (we inherit LCDM) def freeParameters(self): l = LCDMCosmology.freeParameters(self) if (self.varyw): l.append(w_par) if (self.varyOde): l.append(Ode_par) if (self.varywMO): l.append(wMO_par) return l def updateParams(self, pars): ok = LCDMCosmology.updateParams(self, pars) self.oC.updateParams(pars) if not ok: return False for p in pars: if p.name == "w": self.w0 = p.value if p.name == "Ode": self.Ode = p.value elif p.name == "wMO": self.wMO = p.value return True ## this is relative hsquared as a function of a ## i.e. H(z)^2/H(z=0)^2 def RHSquared_a(self, a): NuContrib = self.NuDensity.rho(a) / self.h**2 self.Odm = self.Ocb - self.Obh2 / (self.h**2) #Se agrega por DM self.Ob = self.Ocb - self.Odm #Se agrega por DM Omega_d0 = 1.0 - self.Ocb - self.Omrad - self.NuDensity.rho( 1.0) / self.h**2 factor = self.Ob / a**3 + self.Odm * a**( -3 * (1.0 + self.wMO)) + self.Omrad / a**4 + NuContrib Omega_d = (Omega_d0 - self.Ode * (1.0 - a**(-3 * self.w0))) / ( Omega_d0 + factor * a** (3 * (1.0 + self.w0))) + self.Ode * (1.0 - a**(-3 * self.w0)) return factor / (1.0 - Omega_d) def prefactor(self): if self.userd_DE: self.rd = self.oC.rd * ((1. - self.Ode)**(0.5)) else: self.rd = self.oC.rd return self.c_ / (self.rd * self.h * 100) #for printing purposes only def Omega_de(self, a): NuContrib = self.NuDensity.rho(a) / self.h**2 Omega_d0 = 1.0 - self.Ocb - self.Omrad - self.NuDensity.rho( 1.0) / self.h**2 factor = self.Ob / a**3 + self.Odm * a**( -3 * (1.0 + self.wMO)) + self.Omrad / a**4 + NuContrib return (Omega_d0 - self.Ode * (1.0 - a**(-3 * self.w0))) / ( Omega_d0 + factor * a** (3 * (1.0 + self.w0))) + self.Ode * (1.0 - a**(-3 * self.w0))