-
CopyScalarVariableArray(EV, y, yout)
-
EvolutionVars :: EV
-
real(dl) intent(in) :: y(EV%nvar)
-
real(dl) intent(out) :: yout(EVout%nvar)
CopyTensorVariableArray(EV, y, yout)
EvolutionVars :: EV
real(dl) intent(in) :: y(EV%nvart)
real(dl) intent(out) :: yout(EVout%nvart)
derivs(EV, n, ay, ayprime, tau)
Evaluate the time derivatives of the scalar perturbations
EvolutionVars :: EV
integer :: n
real(dl) :: ay(n)
real(dl) :: ayprime(n)
real(dl) :: tau
derivst(EV, n, ayt, aytprime, tau)
Evaluate the time derivatives of the tensor perturbations.
EvolutionVars :: EV
integer :: n
real(dl) target :: ayt(n)
real(dl) target :: aytprime(n)
real(dl) :: tau
derivsv(EV, n, yv, yvprime, tau)
Evaluate the time derivatives of the vector perturbations, flat case
EvolutionVars :: EV
integer :: n
real(dl) target :: yv(n)
real(dl) target :: yvprime(n)
real(dl) :: tau
GaugeInterface_EvolveScal(EV, c, w, y, tol1, tau, tauend, ind)
EvolutionVars :: EV
real(dl) :: c(24)
real(dl) :: w(EV%nvar,9)
real(dl) :: y(EV%nvar)
real(dl) :: tol1
real(dl) :: tau
real(dl) :: tauend
integer :: ind
GaugeInterface_EvolveTens(EV, c, w, y, tol1, tau, tauend, ind)
EvolutionVars :: EV
real(dl) :: c(24)
real(dl) :: w(EV%nvart,9)
real(dl) :: y(EV%nvart)
real(dl) :: tol1
real(dl) :: tau
real(dl) :: tauend
integer :: ind
GaugeInterface_ScalEv(EV, c, w, y, tol1, tau, tauend, ind)
EvolutionVars :: EV
real(dl) :: c(24)
real(dl) :: w(EV%nvar,9)
real(dl) :: y(EV%nvar)
real(dl) :: tol1
real(dl) :: tau
real(dl) :: tauend
integer :: ind
GetNumEqns(EV)
EvolutionVars :: EV
initial(EV, y, tau)
Scalar initial conditions.
EvolutionVars :: EV
real(dl) :: y(EV%nvar)
real(dl) :: tau
initialt(tau, EV, yt)
Initial conditions for tensors
real(dl) :: tau
EvolutionVars :: EV
real(dl) :: yt(EV%nvart)
initialv(tau, EV, yv)
Initial conditions for vectors
real(dl) :: tau
EvolutionVars :: EV
real(dl) :: yv(EV%nvarv)
MassiveNuVars(EV, y, a, grho, gpres, dgrho, dgq, wnu_arr)
EvolutionVars :: EV
real(dl) :: y(EV%nvar)
real(dl) :: a
real(dl) :: grho
real(dl) :: gpres
real(dl) :: dgrho
real(dl) :: dgq
real(dl) intent(out), optional :: wnu_arr(max_nu)
MassiveNuVarsOut(EV, y, yprime, a, adotoa, grho, gpres, dgrho, dgq, dgpi, dgpi_diff, pidot_sum, clxnu_all)
EvolutionVars :: EV
real(dl) :: y(EV%nvar)
real(dl) :: yprime(EV%nvar)
real(dl) :: a
real(dl) :: adotoa
real(dl) optional :: grho
real(dl) optional :: gpres
real(dl) optional :: dgrho
real(dl) optional :: dgq
real(dl) optional :: dgpi
real(dl) optional :: dgpi_diff
real(dl) optional :: pidot_sum
real(dl) optional :: clxnu_all
Nu_Integrate_L012(EV, nu_i, a, y, drhonu, fnu, dpnu, pinu)
EvolutionVars :: EV
integer intent(in) :: nu_i
real(dl) intent(in) :: a
real(dl) intent(in) :: y(EV%nvar)
real(dl) intent(OUT) :: drhonu
real(dl) intent(OUT) :: fnu
real(dl) optional, intent(OUT) :: dpnu
real(dl) optional, intent(OUT) :: pinu
Nu_Intvsq(EV, nu_i, a, y, G11, G30)
EvolutionVars :: EV
integer intent(in) :: nu_i
real(dl) intent(in) :: a
real(dl) intent(in) :: y(EV%nvar)
real(dl) intent(OUT) :: G11
real(dl) intent(OUT) :: G30
Nu_pinudot(EV, nu_i, a, adotoa, y, ydot, pinudot)
EvolutionVars :: EV
integer intent(in) :: nu_i
real(dl) intent(in) :: a
real(dl) intent(in) :: adotoa
real(dl) intent(in) :: y(EV%nvar)
real(dl) intent(in) :: ydot(EV%nvar)
real(dl) :: pinudot
output(EV, y, j, tau, sources, num_custom_sources)
EvolutionVars :: EV
real(dl) :: y(EV%nvar)
integer intent(in) :: j
real(dl) :: tau
real(dl) target :: sources(:)
integer intent(in) :: num_custom_sources
output_window_sources(EV, y, yprime, sources, tau, a, adotoa, grho, gpres, k, etak, z, etakdot, phi, phidot, sigma, sigmadot, dgrho, clxg, clxb, clxc, clxnu, dgq, qg, vb, qgdot, vbdot, dgpi, pig, pigdot, diff_rhopi, polter, polterdot, polterddot, octg, octgdot, E, Edot, Delta_TM, Delta_xe)
Line of sight sources for number counts, lensing and 21cm redshift windows
EvolutionVars :: EV
real(dl) :: y(EV%nvar)
real(dl) :: yprime(EV%nvar)
real(dL) intent(out) :: sources(:)
real(dL) intent(in) :: tau
real(dL) intent(in) :: a
real(dL) intent(in) :: adotoa
real(dL) intent(in) :: grho
real(dL) intent(in) :: gpres
real(dL) intent(in) :: k
real(dL) intent(in) :: etak
real(dL) intent(in) :: z
real(dL) intent(in) :: etakdot
real(dL) intent(in) :: phi
real(dL) intent(in) :: phidot
real(dL) intent(in) :: sigma
real(dL) intent(in) :: sigmadot
real(dL) intent(in) :: dgrho
real(dL) intent(in) :: clxg
real(dL) intent(in) :: clxb
real(dL) intent(in) :: clxc
real(dL) intent(in) :: clxnu
real(dL) intent(in) :: dgq
real(dL) intent(in) :: qg
real(dL) intent(in) :: vb
real(dL) intent(in) :: qgdot
real(dL) intent(in) :: vbdot
real(dL) intent(in) :: dgpi
real(dL) intent(in) :: pig
real(dL) intent(in) :: pigdot
real(dL) intent(in) :: diff_rhopi
real(dL) intent(in) :: polter
real(dL) intent(in) :: polterdot
real(dL) intent(in) :: polterddot
real(dL) intent(in) :: octg
real(dL) intent(in) :: octgdot
real(dL) intent(in) :: E(2:3)
real(dL) intent(in) :: Edot(2:3)
real(dl) intent(in) :: Delta_TM
real(dl) intent(in) :: Delta_xe
outputt(n, EV, yt, tau, dt, dte, dtb)
calculate the tensor sources for open and closed case
integer :: n
EvolutionVars :: EV
real(dl) target :: yt(n)
real(dl) :: tau
real(dl) :: dt
real(dl) :: dte
real(dl) :: dtb
outputv(n, EV, yv, tau, dt, dte, dtb)
calculate the vector sources
integer :: n
EvolutionVars :: EV
real(dl) target :: yv(n)
real(dl) :: tau
real(dl) :: dt
real(dl) :: dte
real(dl) :: dtb
outtransf(EV, tau, Arr, y)
write out clxc, clxb, clxg, clxn
EvolutionVars :: EV
real(dl) intent(in) :: tau
real target :: Arr(:)
real(dl) :: y(EV%nvar)
SetActiveState(P)
CAMBdata target :: P
SetupScalarArrayIndices(EV, max_num_eqns)
Set up array indices after the lmax have been decided
EvolutionVars :: EV
integer intent(out), optional :: max_num_eqns
SetupTensorArrayIndices(EV, maxeq)
EvolutionVars :: EV
integer optional, intent(out) :: maxeq
SwitchToMassiveNuApprox(EV, nu_i, a, y)
When the neutrinos are no longer highly relativistic we use a truncated
energy-integrated hierarchy going up to third order in velocity dispersion
EvolutionVars :: EV
integer intent(in) :: nu_i
real(dl) :: a
real(dl) :: y(EV%nvar)
TSource_func(sources, tau, a, adotoa, grho, gpres, w_lam, cs2_lam, grhob_t, grhor_t, grhoc_t, grhog_t, grhov_t, grhonu_t, k, etak, etakdot, phi, phidot, sigma, sigmadot, dgrho, clxg, clxb, clxc, clxr, clxnu, clxde, delta_p_b, dgq, qg, qr, qde, vb, qgdot, qrdot, vbdot, dgpi, pig, pir, pigdot, pirdot, diff_rhopi, polter, polterdot, polterddot, octg, octgdot, E, Edot, opacity, dopacity, ddopacity, visibility, dvisibility, ddvisibility, exptau, Kf, f_K)
real(dl) intent(out) :: sources(:)
real(dl) intent(in) :: tau
real(dl) intent(in) :: a
real(dl) intent(in) :: adotoa
real(dl) intent(in) :: grho
real(dl) intent(in) :: gpres
real(dl) intent(in) :: w_lam
real(dl) intent(in) :: cs2_lam
real(dl) intent(in) :: grhob_t
real(dl) intent(in) :: grhor_t
real(dl) intent(in) :: grhoc_t
real(dl) intent(in) :: grhog_t
real(dl) intent(in) :: grhov_t
real(dl) intent(in) :: grhonu_t
real(dl) intent(in) :: k
real(dl) intent(in) :: etak
real(dl) intent(in) :: etakdot
real(dl) intent(in) :: phi
real(dl) intent(in) :: phidot
real(dl) intent(in) :: sigma
real(dl) intent(in) :: sigmadot
real(dl) intent(in) :: dgrho
real(dl) intent(in) :: clxg
real(dl) intent(in) :: clxb
real(dl) intent(in) :: clxc
real(dl) intent(in) :: clxr
real(dl) intent(in) :: clxnu
real(dl) intent(in) :: clxde
real(dl) intent(in) :: delta_p_b
real(dl) intent(in) :: dgq
real(dl) intent(in) :: qg
real(dl) intent(in) :: qr
real(dl) intent(in) :: qde
real(dl) intent(in) :: vb
real(dl) intent(in) :: qgdot
real(dl) intent(in) :: qrdot
real(dl) intent(in) :: vbdot
real(dl) intent(in) :: dgpi
real(dl) intent(in) :: pig
real(dl) intent(in) :: pir
real(dl) intent(in) :: pigdot
real(dl) intent(in) :: pirdot
real(dl) intent(in) :: diff_rhopi
real(dl) intent(in) :: polter
real(dl) intent(in) :: polterdot
real(dl) intent(in) :: polterddot
real(dl) intent(in) :: octg
real(dl) intent(in) :: octgdot
real(dl) intent(in) :: E(2:3)
real(dl) intent(in) :: Edot(2:3)
real(dl) intent(in) :: opacity
real(dl) intent(in) :: dopacity
real(dl) intent(in) :: ddopacity
real(dl) intent(in) :: visibility
real(dl) intent(in) :: dvisibility
real(dl) intent(in) :: ddvisibility
real(dl) intent(in) :: exptau
REAL(dl) intent(in) :: Kf(*)
real(dl) external :: f_K