3#include "base_species.h"
12 :
BaseSpecies(
"IDM_DRMD", EnergyType::Matter), pba_(pba), Omega0_idm_drmd_(omega0_idm_drmd) {}
15 return Omega0_idm_drmd_;
19 index_bg_rho_ = index_bg++;
23 pvecback[index_bg_rho_] = Omega0_idm_drmd_ * pba_.H0 * pba_.H0 / (a * a * a);
26 double Rho(
const double* pvecback)
const override {
27 return pvecback[index_bg_rho_];
29 double P(
const double* )
const override {
41 return std::make_unique<PerturbLayout>();
66 const double* pvecback,
82 const background& pba_;
83 double Omega0_idm_drmd_;
Definition base_species.h:76
void PerturbDerivs(const BaseSpecies::PerturbLayout &layout, double tau, const double *y, double *dy, const perturb_parameters_and_workspace &ppaw) const override
Definition interacting_species.cpp:330
void ComputeBackground(double a, const double *, double *pvecback) override
Definition idm_drmd.h:22
double Rho(const double *pvecback) const override
Definition idm_drmd.h:26
void CopyPerturbationsAcrossSwitch(const BaseSpecies::PerturbLayout &old_layout, const BaseSpecies::PerturbLayout &new_layout, const double *old_y, double *new_y, const PerturbSwitchContext &ctx) const override
Definition interacting_species.cpp:374
void RegisterBackgroundIndices(int &index_bg) override
Definition idm_drmd.h:18
double P(const double *) const override
Definition idm_drmd.h:29
double GetOmega0() const override
Definition idm_drmd.h:14
std::unique_ptr< BaseSpecies::PerturbLayout > CreatePerturbLayout() const override
Definition idm_drmd.h:40
StressEnergyContribution StressEnergy(const BaseSpecies::PerturbLayout &layout, const perturb_vector *pv, const double *y, const double *pvecback, const perturb_workspace *ppw) const override
Definition interacting_species.cpp:346
void PerturbSynchronousToNewtonian(const BaseSpecies::PerturbLayout &layout, double *y, const PerturbIcContext &ctx) override
Definition interacting_species.cpp:365
Definition perturbations.h:250
Definition perturbations.h:344
Definition base_species.h:89
Definition perturb_source_context.h:125
Definition perturb_source_context.h:159
Definition perturbations_module.h:341
Definition precision.h:63