Class
NumCosmoBBN
Description [src]
abstract class NumCosmo.BBN : NumCosmoMath.Model
{
/* No available fields */
}
Abstract class for primordial nucleosynthesis models.
A NcBBN answers what Big Bang Nucleosynthesis predicts for a cosmology,
given the two quantities BBN actually depends on: the baryon density
$\omega_b = \Omega_{b0}h^2$ and the extra relativistic degrees of freedom
$\Delta N_\mathrm{eff} = N_\mathrm{eff} - 3.046$. Both are read from the
NcHICosmo passed to each method, never stored: a NcBBN is a submodel of
NcHICosmo and holding a reference back to its parent would be a cycle.
The only prediction every implementation must provide is the Helium-4 mass
fraction $Y_p$, nc_bbn_Yp_4He(). The tables shipped with NumCosmo tabulate
$Y_p$ alone, so nc_bbn_DH(), nc_bbn_He3H() and nc_bbn_Li7H() are optional —
check ncm_model_check_impl_opt() against NcBBNImpl before calling them.
Implementations that interpolate a table are valid only inside it.
nc_bbn_get_domain() reports that range and nc_bbn_check_domain() turns a
cosmology outside it into an error: a table asked about a baryon density it
never covered has no answer, and returning an extrapolated one silently is
how a chain ends up converged on invented helium.
Functions
nc_bbn_clear
If bbn is different from NULL, decreases the reference count of
bbn by one and sets *bbn to NULL.
Instance methods
nc_bbn_DH
Computes the primordial Deuterium abundance $\mathrm{D}/\mathrm{H}$ predicted
for cosmo. Optional: check ncm_model_check_impl_opt() for NC_BBN_IMPL_DH first.
nc_bbn_He3H
Computes the primordial Helium-3 abundance ${}^3\mathrm{He}/\mathrm{H}$
predicted for cosmo. Optional: check ncm_model_check_impl_opt() for
%NC_BBN_IMPL_He3H first.
nc_bbn_Li7H
Computes the primordial Lithium-7 abundance ${}^7\mathrm{Li}/\mathrm{H}$
predicted for cosmo. Optional: check ncm_model_check_impl_opt() for
%NC_BBN_IMPL_Li7H first.
nc_bbn_check_domain
Errors out unless $(wb, DNeff)$ lies inside the domain bbn reports through
nc_bbn_get_domain(). Implementations that interpolate a table call this
before evaluating: outside the table there is no prediction to give, and an
extrapolated value would be indistinguishable from a real one.
nc_bbn_get_domain
Gets the range of $(\omega_b, \Delta N_\mathrm{eff})$ over which bbn is
defined. A model with no intrinsic range reports the widest one it accepts.
Properties
Properties inherited from NcmModel (9)
NumCosmoMath.Model:implementation
The implementation flags of the model class, see ncm_model_check_impl_flag().
NumCosmoMath.Model:name
The name of the model class.
NumCosmoMath.Model:nick
The nickname of the model class.
NumCosmoMath.Model:params-types
The NcmParamType of each parameter.
NumCosmoMath.Model:reparam
The reparametrization, see ncm_model_set_reparam().
NumCosmoMath.Model:scalar-params-len
The number of scalar parameters.
NumCosmoMath.Model:sparam-array
The parameter descriptions that differ from the class ones, NcmSParam keyed by
parameter index. Each one is placed by its parameter name: a description of a
parameter declared with ncm_model_class_add_removed_param() is skipped, and one of
any other unknown parameter aborts.
NumCosmoMath.Model:submodel-array
The submodels, attached at construction.
NumCosmoMath.Model:vector-params-len
The number of vector parameters (not their lengths).
Signals
Signals inherited from GObject (1)
GObject::notify
The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.
Class structure
struct NumCosmoBBNClass {
gdouble (* Yp_4He) (
NcBBN* bbn,
NcHICosmo* cosmo
);
void (* get_domain) (
NcBBN* bbn,
gdouble* wb_lb,
gdouble* wb_ub,
gdouble* DNeff_lb,
gdouble* DNeff_ub
);
gdouble (* DH) (
NcBBN* bbn,
NcHICosmo* cosmo
);
gdouble (* He3H) (
NcBBN* bbn,
NcHICosmo* cosmo
);
gdouble (* Li7H) (
NcBBN* bbn,
NcHICosmo* cosmo
);
}
No description available.
Class members
Yp_4He: gdouble (* Yp_4He) ( NcBBN* bbn, NcHICosmo* cosmo )No description available.
get_domain: void (* get_domain) ( NcBBN* bbn, gdouble* wb_lb, gdouble* wb_ub, gdouble* DNeff_lb, gdouble* DNeff_ub )No description available.
DH: gdouble (* DH) ( NcBBN* bbn, NcHICosmo* cosmo )No description available.
He3H: gdouble (* He3H) ( NcBBN* bbn, NcHICosmo* cosmo )No description available.
Li7H: gdouble (* Li7H) ( NcBBN* bbn, NcHICosmo* cosmo )No description available.
Virtual methods
NumCosmo.BBNClass.DH
Computes the primordial Deuterium abundance $\mathrm{D}/\mathrm{H}$ predicted
for cosmo. Optional: check ncm_model_check_impl_opt() for NC_BBN_IMPL_DH first.
NumCosmo.BBNClass.He3H
Computes the primordial Helium-3 abundance ${}^3\mathrm{He}/\mathrm{H}$
predicted for cosmo. Optional: check ncm_model_check_impl_opt() for
%NC_BBN_IMPL_He3H first.
NumCosmo.BBNClass.Li7H
Computes the primordial Lithium-7 abundance ${}^7\mathrm{Li}/\mathrm{H}$
predicted for cosmo. Optional: check ncm_model_check_impl_opt() for
%NC_BBN_IMPL_Li7H first.
NumCosmo.BBNClass.get_domain
Gets the range of $(\omega_b, \Delta N_\mathrm{eff})$ over which bbn is
defined. A model with no intrinsic range reports the widest one it accepts.