9#ifndef RIZER_PRESCRIBED_PRESSURE_THERMO_H
10#define RIZER_PRESCRIBED_PRESSURE_THERMO_H
33 using PressureFn = std::function<double(
double r,
double t)>;
40 void pressures(
double r,
double t,
double rho,
double Tg,
double Te,
41 const double *Y,
double &p_heavy,
42 double &p_electron)
const override;
43 double soundSpeed(
double r,
double t,
double rho,
double Tg,
double Te,
44 const double *Y)
const override;
45 double heavyEnergy(
double Tg,
const double *Y)
const override;
48 const double *Y)
const override;
50 double heavy_internal_energy_target,
51 double Tg_seed)
const override;
Calorically perfect ThermoAccessor: one constant gamma for the heavy pool, ElectronGamma for the elec...
Calorically perfect ideal-gas accessor: one constant for the heavy pool, ElectronGamma for the elect...
std::function< double(double r, double t)> PressureFn
Total prescribed pressure as a function of radius [m] and time [s], returning [Pa].
double heavyTemperature(double rho, const double *Y, double heavy_internal_energy_target, double Tg_seed) const override
Invert for at fixed density and composition (NUMERICS.md section 8).
double densityFromPressure(double pressure, double Tg, double Te, const double *Y) const override
Density reproducing a target total pressure at a given temperature pair and composition – the inverse...
double electronCv() const override
Electron specific heat at constant volume, per kg of ELECTRONS, .
void pressures(double r, double t, double rho, double Tg, double Te, const double *Y, double &p_heavy, double &p_electron) const override
Per-pool partial pressures, PHYSICS.md equation (G6).
double heavyEnergy(double Tg, const double *Y) const override
Heavy-pool internal energy per kg of MIXTURE, – the basis that makes the conserved variable of equa...
PrescribedPressureThermo(PressureFn pressure, GammaLawThermo backing)
double soundSpeed(double r, double t, double rho, double Tg, double Te, const double *Y) const override
Sound speed, PHYSICS.md appendix A.4: the frozen two-pool speed , each pool following its own adiaba...
Equation-of-state and caloric accessor injected into hydroStep().