Variable Names
Below we present the variables used throughout the CosmoInterface which are declared in the AbstractModel class and thus shared by all models. See include/CosmoInterface/abstractmodel.h, together with the per-sector base classes it inherits from, in include/CosmoInterface/abstractmodel/. We group them below by sector, in the same order as those base classes.
The names are systematic, so there is less to remember than the list suggests: fld denotes a field and pi its conjugate momentum, a trailing 0 the homogeneous (zero) mode, masses2 a mass squared, and 2Av a volume average of a square. The sector sits in the middle of the name — S, CS, SU2Doublet/SU2Dbl, U1, SU2, GWs — so that piCS is the momentum of a complex scalar, and SU2DblGrad2AvI the averaged gradient-squared of an SU(2) doublet.
The trailing letters of the averages and of the scale factor record when the quantity lives, which matters for the staggered leapfrog evolver: I is an integer time step, SI a semi-integer (half) step, and a further M the previous value of that same quantity. Only the integer-step variables are listed below; each one has SI, IM and SIM counterparts declared alongside it.
Scalar singlets
fldS\(\tilde \phi\)piS\(\tilde \pi_{\phi}\)fldS0\(\langle \tilde \phi_* \rangle\)piS0\(\langle \tilde \pi_{\phi,*} \rangle\)masses2S\(\tilde{m}_{\phi}^2\)pi2AvI\(\langle \tilde \pi_{\phi}^2 \rangle\)grad2AvI\(\sum_i \langle (\tilde \partial_i \tilde \phi)^2 \rangle\)
Complex scalars
fldCS\(\tilde \varphi\)piCS\(\tilde \pi_{\varphi}\)fldCS0\(\langle \tilde \varphi_* \rangle\)piCS0\(\langle \tilde \pi_{\varphi,*} \rangle\)masses2CS\(\tilde{m}_{\varphi}^2\)CSpi2AvI\(\langle \tilde \pi_{\varphi}^2 \rangle\)CSgrad2AvI\(\sum_i \langle(\widetilde D_i^A \widetilde \varphi)^*(\widetilde D_i^A \widetilde \varphi) \rangle\)
SU(2) doublets
fldSU2Doublet\(\widetilde\Phi\)piSU2Doublet\(\widetilde \pi_{\Phi}\)fldSU2Doublet0\(\langle \tilde \Phi_* \rangle\)piSU2Doublet0\(\langle \tilde \pi_{\Phi,*} \rangle\)masses2SU2Doublet\(\tilde{m}_{\Phi}^2\)SU2DblPi2AvI\(\langle \widetilde \pi_{\Phi}^2 \rangle\)SU2DblGrad2AvI\(\sum_i \langle (\widetilde D_i\widetilde \Phi)^\dagger(\widetilde D_i \widetilde \Phi) \rangle\)
U(1) gauge fields
fldU1\(\widetilde{A}_{i}\)piU1\(\left(\tilde\pi_A\right)_i\)U1pi2AvI\(\sum_i \langle \mathcal{E}_i^2 \rangle\)U1Mag2AvI\(\sum_i \langle \mathcal{B}_i^2 \rangle\)
SU(2) gauge fields
fldSU2\(\widetilde{B}_{i}^a\)piSU2\(\left(\tilde\pi_B\right)^{a}_i\)SU2pi2AvI\(\sum_{i,a} \langle (\mathcal{E}_i^a)^2 \rangle\)SU2Mag2AvI\(\sum_{i,a} \langle (\mathcal{B}_i^a)^2 \rangle\)
Gravitational wavesonly allocated when withGWs = true
fldGWs\(\tilde v_{ij}\)piGWs\(\left(\tilde\pi_v\right)_{ij}\)
Scale factor and potential
aI\(a\)aDotI\(a'\)potAvI\(\langle \widetilde V \rangle\)pot0\(\langle \widetilde V_{*} \rangle\)
Program-variable normalization
alpha\(\alpha\)fStar\(f_*\)omegaStar\(\omega_*\)
The gravitational-wave variables are the five independent components of a symmetric, traceless tensor, evolved as described in Gravitational Waves. Unlike the matter fields, they are held as std::unique_ptr and are only allocated when withGWs = true, so they are accessed through a dereference — *model.fldGWs — and are nullptr otherwise.