5#include "composite_species.h"
8#include "species_build_context.h"
18 static constexpr std::string_view kTypeName =
"idm_dr_idr";
24 enum ChildIndex { kIdmDr = 0, kIdr = 1 };
26 return static_cast<const IDM_DRSpecies::PerturbLayout&
>(
44 std::vector<double> alpha_idm_dr,
45 std::vector<double> beta_idr);
66 bool has_idr()
const {
81 int* used_in_sources)
const override;
83 std::optional<double>
GetParam(
const std::string& name)
const override;
102 const PerturbationsModule& mod,
104 TransferColumnSection section = TransferColumnSection::all)
const override;
109 const PerturbationsModule& mod,
123 const background& pba_;
124 bool has_idm_dr_ =
false;
125 bool has_idr_ =
false;
128 int index_tp_delta_idm_dr_ = -1;
129 int index_tp_theta_idm_dr_ = -1;
130 int index_tp_delta_idr_ = -1;
131 int index_tp_theta_idr_ = -1;
Definition base_species.h:32
Definition composite_species.h:26
void SetPerturbs(const perturbs *ppt) override
Definition composite_species.cpp:31
Definition idm_dr_idr_species.h:16
void WriteBackgroundColumnTitles(BackgroundColumnWriter &w) const override
Definition idm_dr_idr_species.cpp:31
void ApplyInitialConditions(const BaseSpecies::PerturbLayout &layout, double *y, const PerturbIcContext &ctx) override
Definition idm_dr_idr_species.cpp:42
void WriteBackgroundData(const double *pvecback, BackgroundColumnWriter &w) const override
Definition idm_dr_idr_species.cpp:36
void SetPerturbs(const perturbs *ppt) override
Definition idm_dr_idr_species.h:72
void FillSources(const BaseSpecies::PerturbLayout &layout, const double *y, const double *dy, PerturbSourceContext &ctx) const override
Definition idm_dr_idr_species.cpp:75
void WriteOutputColumns(PerturbColumnWriter &writer, const PerturbationsModule &mod, file_format fmt, TransferColumnSection section=TransferColumnSection::all) const override
Definition idm_dr_idr_species.cpp:126
void PrintVariables(PerturbColumnWriter &writer, double tau, const double *y, const PerturbationsModule &mod, const perturb_workspace *ppw) const override
Definition idm_dr_idr_species.cpp:147
bool has_idm_dr() const
Definition idm_dr_idr_species.h:63
void RegisterTransferSourceIndices(int &index_tp, const SourceRequestContext &ctx) override
Definition idm_dr_idr_species.cpp:15
std::optional< double > GetParam(const std::string &name) const override
Definition idm_dr_idr_species.cpp:23
void AddCouplingDerivs(double tau, const double *y, double *dy, const perturb_parameters_and_workspace &ppaw) const override
Definition idm_dr_idr_species.cpp:248
void MarkUsedInSources(const BaseSpecies::PerturbLayout &layout, const perturb_workspace *ppw, int *used_in_sources) const override
Definition idm_dr_idr_species.cpp:564
Definition perturb_source_context.h:63
Definition perturbations.h:344
Definition perturbations.h:100
file_format
Definition precision.h:40
Definition base_species.h:89
Definition composite_species.h:36
Definition perturb_source_context.h:125
Definition perturb_source_context.h:103
Definition perturb_source_context.h:48
Definition species_build_context.h:58
Definition perturbations_module.h:341