21 #ifndef FUB_IDEAL_GAS_TCHEM_REACTOR_HPP
22 #define FUB_IDEAL_GAS_TCHEM_REACTOR_HPP
25 #include "fub/ode_solver/OdeSolver.hpp"
38 "You have not initialized TChem before using this reactor.") {}
44 "Only one Reactor at the time is allowed to exist.") {}
52 virtual std::unique_ptr<TChemMechanism>
Clone_()
const = 0;
Definition: TChemReactor.hpp:55
std::vector< double > molar_masses_
Definition: TChemReactor.hpp:120
TChemReactor(const TChemMechanism &mechanism)
OdeSolver::feedback_type Feedback
Definition: TChemReactor.hpp:57
std::vector< double > moles_
Definition: TChemReactor.hpp:115
std::vector< double > temperature_and_mass_fractions_
Definition: TChemReactor.hpp:114
double density_
Definition: TChemReactor.hpp:122
std::vector< double > cps_
Definition: TChemReactor.hpp:118
span< const double > GetMolarMasses() const
Definition: TChemReactor.hpp:82
span< const double > GetMoleFractions() const
Definition: TChemReactor.hpp:85
void SetDensity(double rho)
double GetInternalEnergy() const
void SetOdeSolver(std::unique_ptr< OdeSolver > solver)
Definition: TChemReactor.hpp:67
void SetMassFractions(span< const double > Y)
void Advance(double dt, Feedback feedback)
double GetMeanMolarMass() const
double thermo_temperature_
Definition: TChemReactor.hpp:125
std::vector< double > cvs_
Definition: TChemReactor.hpp:119
double GetTemperature() const
Definition: TChemReactor.hpp:77
std::unique_ptr< OdeSolver > ode_solver_
Definition: TChemReactor.hpp:127
span< const double > GetCps() const
Definition: TChemReactor.hpp:86
const OdeSolver & GetOdeSolver() const
Definition: TChemReactor.hpp:91
const char * GetSpeciesName(int i) const
Definition: TChemReactor.hpp:111
span< const double > GetMassFractions() const
Definition: TChemReactor.hpp:79
void SetPressure(double p)
double pressure_
Definition: TChemReactor.hpp:123
double SetPressureIsentropic(double p)
void SetInternalEnergy(double e, double tolerance=1e-6)
span< const double > GetEnthalpies() const
Definition: TChemReactor.hpp:88
span< const double > GetInternalEnergies() const
Definition: TChemReactor.hpp:89
void SetTemperature(double T)
double GetDensity() const
Definition: TChemReactor.hpp:76
span< const double > GetCvs() const
Definition: TChemReactor.hpp:87
std::vector< double > internal_energies_
Definition: TChemReactor.hpp:116
void SetMoleFractions(span< const double > X)
double GetPressure() const
Definition: TChemReactor.hpp:75
double GetSpeedOfSound() const
std::vector< std::string > species_names_
Definition: TChemReactor.hpp:121
span< const std::string > GetSpeciesNames() const
Definition: TChemReactor.hpp:84
void SetMoleFractions(std::string X)
std::array< double, 2 > setPVector_
Definition: TChemReactor.hpp:126
double temperature_
Definition: TChemReactor.hpp:124
std::vector< double > enthalpies_
Definition: TChemReactor.hpp:117
A span is a view over a contiguous sequence of objects, the storage of which is owned by some other o...
Definition: span.hpp:81
The fub namespace.
Definition: AnyBoundaryCondition.hpp:31
auto make_span(T(&array)[N]) -> span< T, static_cast< std::ptrdiff_t >(N)>
Definition: span.hpp:1001
Definition: TChemReactor.hpp:47
virtual ~TChemMechanism()=default
virtual const char * GetThermoResource() const =0
virtual const char * GetMechanismResource() const =0
virtual std::unique_ptr< TChemMechanism > Clone_() const =0
virtual int getNSpecies() const =0
Definition: TChemReactor.hpp:35
TChemNotInitialized()
Definition: TChemReactor.hpp:36
Definition: TChemReactor.hpp:41
TChemReactorUniqueError()
Definition: TChemReactor.hpp:42