7#include "composite_species.h"
9#include "species/shooting_target.h"
10#include "species/species_build_context.h"
11#include "wdm_decay_product.h"
13class BackgroundModule;
33 static constexpr std::string_view kTypeName =
"dcdm_wdm";
38 enum ChildIndex { kDcdm = 0, kWdm = 1 };
40 return static_cast<const DCDMSpecies::PerturbLayout&
>(
50 const background* pba,
51 const BackgroundModule* bgm,
52 double omega0_combined,
53 double Omega_ini_dcdm);
60 void ComputeBackground(
double a,
const double* pvecback_B,
double* pvecback)
override;
61 void BackgroundDerivs(
double tau,
const double* y,
double* dy,
const double* pvecback)
override;
72 std::vector<ShootingTarget> GetShootingTargets()
const override;
74 std::vector<double>& guess,
75 std::vector<double>& dxdy)
const override;
90 const PerturbationsModule& mod,
92 TransferColumnSection section = TransferColumnSection::all)
const override;
116 const background* pba_;
117 const BackgroundModule* bgm_ =
nullptr;
120 bool needs_shooting_ =
false;
123 mutable std::vector<double> scratch_J_, scratch_dJ_;
Definition base_species.h:32
Definition composite_species.h:26
Definition dcdm_wdm_species.h:31
void BackgroundDerivs(double tau, const double *y, double *dy, const double *pvecback) override
Definition dcdm_wdm_species.cpp:49
void WriteOutputColumns(PerturbColumnWriter &writer, const PerturbationsModule &mod, file_format fmt, TransferColumnSection section=TransferColumnSection::all) const override
Definition dcdm_wdm_species.cpp:277
void SetBackgroundModule(const BackgroundModule *bgm) override
Definition dcdm_wdm_species.cpp:34
void AddCouplingDerivs(double tau, const double *y, double *dy, const perturb_parameters_and_workspace &ppaw) const override
Definition dcdm_wdm_species.cpp:222
void FillSources(const BaseSpecies::PerturbLayout &layout, const double *y, const double *dy, PerturbSourceContext &ctx) const override
Definition dcdm_wdm_species.cpp:246
void WriteBackgroundData(const double *pvecback, BackgroundColumnWriter &w) const override
Definition dcdm_wdm_species.cpp:71
void ComputeBackground(double a, const double *pvecback_B, double *pvecback) override
Definition dcdm_wdm_species.cpp:43
void WriteBackgroundColumnTitles(BackgroundColumnWriter &w) const override
Definition dcdm_wdm_species.cpp:66
double GetOmega0() const override
Definition dcdm_wdm_species.cpp:81
Definition perturb_source_context.h:63
Definition wdm_decay_product.h:34
file_format
Definition precision.h:40
Definition base_species.h:89
Definition composite_species.h:36
Definition ncdm_base_species.h:50
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