5#include "base_species.h"
6#include "species_build_context.h"
22 static constexpr std::string_view kTypeName =
"ur";
37 void ComputeBackground(
double a,
const double* pvecback_B,
double* pvecback)
override;
38 double Rho(
const double* pvecback)
const override;
39 double P(
const double* pvecback)
const override;
42 const double* pvecback_B,
43 const double* pvecback)
const override;
65 return std::make_unique<PerturbLayout>();
85 const double* pvecback,
104 int* used_in_sources)
const override;
125 const PerturbationsModule& mod,
127 TransferColumnSection section = TransferColumnSection::all)
const override;
131 const PerturbationsModule& mod,
138 int index_tp_delta_ = -1;
139 int index_tp_theta_ = -1;
Definition base_species.h:32
Definition base_species.h:76
Definition perturb_source_context.h:63
Definition ultra_relativistic.h:20
bool IsFreestreaming() const override
Definition ultra_relativistic.h:45
double Rho(const double *pvecback) const override
Definition ultra_relativistic.cpp:29
void PrintVariables(PerturbColumnWriter &writer, double tau, const double *y, const PerturbationsModule &mod, const perturb_workspace *ppw) const override
Definition ultra_relativistic.cpp:343
std::unique_ptr< BaseSpecies::PerturbLayout > CreatePerturbLayout() const override
Definition ultra_relativistic.h:64
void WriteBackgroundColumnTitles(BackgroundColumnWriter &w) const override
Definition ultra_relativistic.cpp:44
void MarkUsedInSources(const BaseSpecies::PerturbLayout &layout, const perturb_workspace *ppw, int *used_in_sources) const override
Definition ultra_relativistic.cpp:386
void WriteBackgroundData(const double *pvecback, BackgroundColumnWriter &w) const override
Definition ultra_relativistic.cpp:48
void FillSources(const BaseSpecies::PerturbLayout &layout, const double *y, const double *dy, PerturbSourceContext &ctx) const override
Definition ultra_relativistic.cpp:251
void PerturbDerivs(const BaseSpecies::PerturbLayout &layout, double tau, const double *y, double *dy, const perturb_parameters_and_workspace &ppaw) const override
Definition ultra_relativistic.cpp:103
double GetOmega0() const override
Definition ultra_relativistic.h:26
double P(const double *pvecback) const override
Definition ultra_relativistic.cpp:33
void RegisterTransferSourceIndices(int &index_tp, const SourceRequestContext &ctx) override
Definition ultra_relativistic.cpp:55
double PPrime(double a, double H, const double *pvecback_B, const double *pvecback) const override
Definition ultra_relativistic.cpp:37
void PerturbSynchronousToNewtonian(const BaseSpecies::PerturbLayout &layout, double *y, const PerturbIcContext &ctx) override
Definition ultra_relativistic.cpp:290
void RegisterBackgroundIndices(int &index_bg) override
Definition ultra_relativistic.cpp:18
StressEnergyContribution StressEnergy(const BaseSpecies::PerturbLayout &layout, const perturb_vector *pv, const double *y, const double *pvecback, const perturb_workspace *ppw) const override
Definition ultra_relativistic.cpp:215
double GetRadiationOmega0() const override
Definition ultra_relativistic.h:31
void CopyPerturbationsAcrossSwitch(const BaseSpecies::PerturbLayout &old_layout, const BaseSpecies::PerturbLayout &new_layout, const double *old_y, double *new_y, const PerturbSwitchContext &ctx) const override
Definition ultra_relativistic.cpp:298
void RegisterPerturbationIndices(BaseSpecies::PerturbLayout &layout, perturb_vector *pv, const precision *ppr, int &index_pt, const perturb_workspace *ppw, int gauge) override
Definition ultra_relativistic.cpp:61
void WriteOutputColumns(PerturbColumnWriter &writer, const PerturbationsModule &mod, file_format fmt, TransferColumnSection section=TransferColumnSection::all) const override
Definition ultra_relativistic.cpp:324
void ApplyInitialConditions(const BaseSpecies::PerturbLayout &layout, double *y, const PerturbIcContext &ctx) override
Definition ultra_relativistic.cpp:237
void ComputeBackground(double a, const double *pvecback_B, double *pvecback) override
Definition ultra_relativistic.cpp:22
Definition perturbations.h:250
Definition perturbations.h:344
file_format
Definition precision.h:40
Definition base_species.h:89
Definition perturb_source_context.h:125
Definition perturb_source_context.h:103
Definition perturb_source_context.h:159
Definition perturb_source_context.h:48
Definition species_build_context.h:58
Definition ultra_relativistic.h:56
int l_max
2 when ufa_on, else ppr->l_max_ur
Definition ultra_relativistic.h:61
int idx_l3
index_pt_l3_ur (only when ufa_off and l_max>=3)
Definition ultra_relativistic.h:60
int idx_delta
index_pt_delta_ur
Definition ultra_relativistic.h:57
int idx_shear
index_pt_shear_ur
Definition ultra_relativistic.h:59
int idx_theta
index_pt_theta_ur
Definition ultra_relativistic.h:58
Definition perturbations_module.h:341
Definition precision.h:63