7#include "composite_species.h"
8#include "scalar_field.h"
9#include "species_build_context.h"
19double Type3CouplingDeltaPhiPrime(
double beta,
double phi_prime_bg,
double theta_cdm);
22double Type3CouplingDeltaThetaCdm(
double beta,
24 double a_prime_over_a,
43 static constexpr std::string_view kTypeName =
"cdm_scf_momentum";
45 enum ChildIndex { kCdm = 0, kScf = 1 };
47 return static_cast<const CDMSpecies::PerturbLayout&
>(*my.child_layouts[kCdm]);
49 static const ScalarFieldSpecies::PerturbLayout& scf_layout(
51 return static_cast<const ScalarFieldSpecies::PerturbLayout&
>(*my.child_layouts[kScf]);
54 Type3Species(
const background& pba,
double omega0_cdm, std::unique_ptr<ScalarFieldSpecies> scf);
77 const PerturbationsModule& mod,
79 TransferColumnSection section = TransferColumnSection::all)
const override;
83 const PerturbationsModule& mod,
86 std::vector<ShootingTarget> GetShootingTargets()
const override {
87 return scf_->GetShootingTargets();
90 std::vector<double>& guess,
91 std::vector<double>& dxdy)
const override {
92 scf_->ComputeShootingGuess(ctx, guess, dxdy);
96 return scf_->ComputeShootingResidual(ctx, target);
108 const double* pvecback,
117 const double* pvecback,
134 const double* pvecback,
Definition base_species.h:32
Definition composite_species.h:26
Definition perturb_source_context.h:63
Definition scalar_field.h:18
Definition type3_species.h:41
void PrintVariables(PerturbColumnWriter &writer, double tau, const double *y, const PerturbationsModule &mod, const perturb_workspace *ppw) const override
Definition type3_species.cpp:44
void WriteBackgroundData(const double *pvecback, BackgroundColumnWriter &w) const override
Definition type3_species.cpp:26
void AddCouplingDerivs(double tau, const double *y, double *dy, const perturb_parameters_and_workspace &ppaw) const override
Definition type3_species.cpp:153
void WriteOutputColumns(PerturbColumnWriter &writer, const PerturbationsModule &mod, file_format fmt, TransferColumnSection section=TransferColumnSection::all) const override
Definition type3_species.cpp:31
StressEnergyContribution StressEnergy(const BaseSpecies::PerturbLayout &layout, const perturb_vector *pv, const double *y, const double *pvecback, const perturb_workspace *ppw) const override
Definition type3_species.cpp:214
void WriteBackgroundColumnTitles(BackgroundColumnWriter &w) const override
Definition type3_species.cpp:21
Definition perturbations.h:250
Definition perturbations.h:344
file_format
Definition precision.h:40
Definition base_species.h:89
Definition base_species.h:332
Definition composite_species.h:36
Definition shooting_target.h:7
Definition shooting_target.h:14
Definition species_build_context.h:58
Definition perturbations_module.h:341