5#include "composite_species.h"
6#include "dark_radiation_species.h"
8#include "species_build_context.h"
10class BackgroundModule;
24 static constexpr std::string_view kTypeName =
"dcdm_dr";
30 enum ChildIndex { kDcdm = 0, kDr = 1 };
32 return static_cast<const DCDMSpecies::PerturbLayout&
>(
35 static const DarkRadiationSpecies::PerturbLayout& dr_layout(
37 return static_cast<const DarkRadiationSpecies::PerturbLayout&
>(
42 const BackgroundModule* bgm,
45 double Omega_ini_dcdm);
53 void BackgroundDerivs(
double tau,
const double* y,
double* dy,
const double* pvecback)
override;
70 const PerturbationsModule& mod,
72 TransferColumnSection section = TransferColumnSection::all)
const override;
90 std::vector<ShootingTarget> GetShootingTargets()
const override;
92 std::vector<double>& guess,
93 std::vector<double>& dxdy)
const override;
106 const background* pba_;
107 const BackgroundModule* bgm_ =
nullptr;
110 bool needs_shooting_ =
false;
Definition base_species.h:32
Definition composite_species.h:26
Definition dcdm_dr_species.h:22
void WriteBackgroundColumnTitles(BackgroundColumnWriter &w) const override
Definition dcdm_dr_species.cpp:28
void SetBackgroundModule(const BackgroundModule *bgm) override
Definition dcdm_dr_species.cpp:23
void WriteBackgroundData(const double *pvecback, BackgroundColumnWriter &w) const override
Definition dcdm_dr_species.cpp:33
void SetBackgroundInitialConditions(const BackgroundICContext &ctx) override
Definition dcdm_dr_species.cpp:38
void WriteOutputColumns(PerturbColumnWriter &writer, const PerturbationsModule &mod, file_format fmt, TransferColumnSection section=TransferColumnSection::all) const override
Definition dcdm_dr_species.cpp:156
void FillSources(const BaseSpecies::PerturbLayout &layout, const double *y, const double *dy, PerturbSourceContext &ctx) const override
Definition dcdm_dr_species.cpp:85
void PerturbSynchronousToNewtonian(const BaseSpecies::PerturbLayout &layout, double *y, const PerturbIcContext &ctx) override
Definition dcdm_dr_species.cpp:71
void BackgroundDerivs(double tau, const double *y, double *dy, const double *pvecback) override
Definition dcdm_dr_species.cpp:55
void AddCouplingDerivs(double tau, const double *y, double *dy, const perturb_parameters_and_workspace &ppaw) const override
Definition dcdm_dr_species.cpp:173
Definition dark_radiation_species.h:19
Definition perturb_source_context.h:63
file_format
Definition precision.h:40
Definition background_ic_context.h:11
Definition base_species.h:89
Definition composite_species.h:36
Definition perturb_source_context.h:125
Definition perturb_source_context.h:103
Definition shooting_target.h:7
Definition shooting_target.h:14
Definition species_build_context.h:58
Definition perturbations_module.h:341