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.