rizer.cantera_ext
C++ Cantera 1-D plasma extension (custom Domain1D models and solvers)
Loading...
Searching...
No Matches
PrescribedPressureThermo.h
Go to the documentation of this file.
1
8
9#ifndef RIZER_PRESCRIBED_PRESSURE_THERMO_H
10#define RIZER_PRESCRIBED_PRESSURE_THERMO_H
11
13
14#include <functional>
15
16namespace rizer
17{
18
28 {
29 public:
33 using PressureFn = std::function<double(double r, double t)>;
34
39
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;
46 double electronCv() const override;
47 double densityFromPressure(double pressure, double Tg, double Te,
48 const double *Y) const override;
49 double heavyTemperature(double rho, const double *Y,
50 double heavy_internal_energy_target,
51 double Tg_seed) const override;
52
53 private:
54 PressureFn m_pressure;
55 GammaLawThermo m_backing;
56 };
57
58} // namespace rizer
59
60#endif // RIZER_PRESCRIBED_PRESSURE_THERMO_H
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().