6#include "composite_species.h"
7#include "dark_radiation_species.h"
8#include "dncdm_species.h"
10#include "species/shooting_target.h"
11#include "species/species_build_context.h"
13class BackgroundModule;
25 enum ChildIndex { kDncdm = 0, kDr = 1 };
30 static const DarkRadiationSpecies::PerturbLayout& dr_layout(
32 return static_cast<const DarkRadiationSpecies::PerturbLayout&
>(
38 const background* pba,
39 const BackgroundModule* bgm);
44 std::vector<ShootingTarget> GetShootingTargets()
const override;
46 std::vector<double>& guess,
47 std::vector<double>& dxdy)
const override;
55 void BackgroundDerivs(
double tau,
const double* y,
double* dy,
const double* pvecback)
override;
111 const PerturbationsModule& mod,
113 TransferColumnSection section = TransferColumnSection::all)
const override;
124 const background* pba_;
125 const BackgroundModule* bgm_ =
nullptr;
Definition base_species.h:32
Definition composite_species.h:26
Definition dncdm_species.h:22
void WriteBackgroundData(const double *pvecback, BackgroundColumnWriter &w) const override
Definition dncdm_species.cpp:431
void WriteBackgroundColumnTitles(BackgroundColumnWriter &w) const override
Definition dncdm_species.cpp:418
Definition dncdm_dr_species.h:18
void BackgroundDerivs(double tau, const double *y, double *dy, const double *pvecback) override
Definition dncdm_dr_species.cpp:42
void AddCouplingDerivs(double tau, const double *y, double *dy, const perturb_parameters_and_workspace &ppaw) const override
Definition dncdm_dr_species.cpp:101
void WriteOutputColumns(PerturbColumnWriter &writer, const PerturbationsModule &mod, file_format fmt, TransferColumnSection section=TransferColumnSection::all) const override
Definition dncdm_dr_species.cpp:276
void WriteBackgroundData(const double *pvecback, BackgroundColumnWriter &w) const override
Definition dncdm_dr_species.h:60
void SetBackgroundInitialConditions(const BackgroundICContext &ctx) override
Definition dncdm_dr_species.cpp:38
void PerturbTensorDerivs(const BaseSpecies::PerturbLayout &layout, double tau, const double *y, double *dy, const perturb_parameters_and_workspace &ppaw) const override
Definition dncdm_dr_species.cpp:74
void SetBackgroundModule(const BackgroundModule *bgm) override
Definition dncdm_dr_species.cpp:33
void PerturbSynchronousToNewtonian(const BaseSpecies::PerturbLayout &layout, double *y, const PerturbIcContext &ctx) override
Definition dncdm_dr_species.cpp:84
void WriteBackgroundColumnTitles(BackgroundColumnWriter &w) const override
Definition dncdm_dr_species.h:57
double GetOmega0() const override
Definition dncdm_dr_species.cpp:295
void FillSources(const BaseSpecies::PerturbLayout &layout, const double *y, const double *dy, PerturbSourceContext &ctx) const override
Definition dncdm_dr_species.cpp:228
Definition dark_radiation_species.h:19
Definition perturb_source_context.h:63
Definition perturbations.h:250
Definition perturbations.h:344
file_format
Definition precision.h:40
Definition background_ic_context.h:11
Definition base_species.h:89
Definition composite_species.h:36
Definition ncdm_base_species.h:50
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
Definition precision.h:63