Finite Volume Solver  prototype
A framework to build finite volume solvers for the AG Klein at the Freie Universität Berlin.
Public Types | Public Member Functions | Private Attributes | List of all members
fub::ideal_gas::TChemReactor Class Reference

#include <TChemReactor.hpp>

Public Types

using Feedback = OdeSolver::feedback_type
 

Public Member Functions

 TChemReactor (const TChemMechanism &mechanism)
 
 ~TChemReactor () noexcept
 
 TChemReactor (const TChemReactor &)=delete
 
TChemReactoroperator= (const TChemReactor &)=delete
 
 TChemReactor (TChemReactor &&)=delete
 
TChemReactoroperator= (TChemReactor &&)=delete
 
void SetOdeSolver (std::unique_ptr< OdeSolver > solver)
 
void Advance (double dt)
 
void Advance (double dt, Feedback feedback)
 
int GetNSpecies () const
 
double GetPressure () const
 
double GetDensity () const
 
double GetTemperature () const
 
span< const double > GetMassFractions () const
 
span< const double > GetMolarMasses () const
 
double GetMeanMolarMass () const
 
span< const std::string > GetSpeciesNames () const
 
span< const double > GetMoleFractions () const
 
span< const double > GetCps () const
 
span< const double > GetCvs () const
 
span< const double > GetEnthalpies () const
 
span< const double > GetInternalEnergies () const
 
const OdeSolver & GetOdeSolver () const
 
double GetSpeedOfSound () const
 
double GetInternalEnergy () const
 
double GetCp () const
 
double GetCv () const
 
double GetGamma () const
 
void SetPressure (double p)
 
void SetDensity (double rho)
 
void SetTemperature (double T)
 
void SetInternalEnergy (double e, double tolerance=1e-6)
 
void SetMassFractions (span< const double > Y)
 
void SetMoleFractions (span< const double > X)
 
void SetMoleFractions (std::string X)
 
double SetPressureIsentropic (double p)
 
void UpdateThermoState ()
 
const char * GetSpeciesName (int i) const
 

Private Attributes

std::vector< double > temperature_and_mass_fractions_
 
std::vector< double > moles_
 
std::vector< double > internal_energies_
 
std::vector< double > enthalpies_
 
std::vector< double > cps_
 
std::vector< double > cvs_
 
std::vector< double > molar_masses_
 
std::vector< std::string > species_names_
 
double density_
 
double pressure_
 
double temperature_
 
double thermo_temperature_
 
std::array< double, 2 > setPVector_
 
std::unique_ptr< OdeSolver > ode_solver_
 

Member Typedef Documentation

◆ Feedback

using fub::ideal_gas::TChemReactor::Feedback = OdeSolver::feedback_type

Constructor & Destructor Documentation

◆ TChemReactor() [1/3]

fub::ideal_gas::TChemReactor::TChemReactor ( const TChemMechanism mechanism)

◆ ~TChemReactor()

fub::ideal_gas::TChemReactor::~TChemReactor ( )
noexcept

◆ TChemReactor() [2/3]

fub::ideal_gas::TChemReactor::TChemReactor ( const TChemReactor )
delete

◆ TChemReactor() [3/3]

fub::ideal_gas::TChemReactor::TChemReactor ( TChemReactor &&  )
delete

Member Function Documentation

◆ Advance() [1/2]

void fub::ideal_gas::TChemReactor::Advance ( double  dt)

◆ Advance() [2/2]

void fub::ideal_gas::TChemReactor::Advance ( double  dt,
Feedback  feedback 
)

◆ GetCp()

double fub::ideal_gas::TChemReactor::GetCp ( ) const

◆ GetCps()

span<const double> fub::ideal_gas::TChemReactor::GetCps ( ) const
inline

◆ GetCv()

double fub::ideal_gas::TChemReactor::GetCv ( ) const

◆ GetCvs()

span<const double> fub::ideal_gas::TChemReactor::GetCvs ( ) const
inline

◆ GetDensity()

double fub::ideal_gas::TChemReactor::GetDensity ( ) const
inline

◆ GetEnthalpies()

span<const double> fub::ideal_gas::TChemReactor::GetEnthalpies ( ) const
inline

◆ GetGamma()

double fub::ideal_gas::TChemReactor::GetGamma ( ) const

◆ GetInternalEnergies()

span<const double> fub::ideal_gas::TChemReactor::GetInternalEnergies ( ) const
inline

◆ GetInternalEnergy()

double fub::ideal_gas::TChemReactor::GetInternalEnergy ( ) const

◆ GetMassFractions()

span<const double> fub::ideal_gas::TChemReactor::GetMassFractions ( ) const
inline

◆ GetMeanMolarMass()

double fub::ideal_gas::TChemReactor::GetMeanMolarMass ( ) const

◆ GetMolarMasses()

span<const double> fub::ideal_gas::TChemReactor::GetMolarMasses ( ) const
inline

◆ GetMoleFractions()

span<const double> fub::ideal_gas::TChemReactor::GetMoleFractions ( ) const
inline

◆ GetNSpecies()

int fub::ideal_gas::TChemReactor::GetNSpecies ( ) const

◆ GetOdeSolver()

const OdeSolver& fub::ideal_gas::TChemReactor::GetOdeSolver ( ) const
inline

◆ GetPressure()

double fub::ideal_gas::TChemReactor::GetPressure ( ) const
inline

◆ GetSpeciesName()

const char* fub::ideal_gas::TChemReactor::GetSpeciesName ( int  i) const
inline

◆ GetSpeciesNames()

span<const std::string> fub::ideal_gas::TChemReactor::GetSpeciesNames ( ) const
inline

◆ GetSpeedOfSound()

double fub::ideal_gas::TChemReactor::GetSpeedOfSound ( ) const

◆ GetTemperature()

double fub::ideal_gas::TChemReactor::GetTemperature ( ) const
inline

◆ operator=() [1/2]

TChemReactor& fub::ideal_gas::TChemReactor::operator= ( const TChemReactor )
delete

◆ operator=() [2/2]

TChemReactor& fub::ideal_gas::TChemReactor::operator= ( TChemReactor &&  )
delete

◆ SetDensity()

void fub::ideal_gas::TChemReactor::SetDensity ( double  rho)

◆ SetInternalEnergy()

void fub::ideal_gas::TChemReactor::SetInternalEnergy ( double  e,
double  tolerance = 1e-6 
)

◆ SetMassFractions()

void fub::ideal_gas::TChemReactor::SetMassFractions ( span< const double >  Y)

◆ SetMoleFractions() [1/2]

void fub::ideal_gas::TChemReactor::SetMoleFractions ( span< const double >  X)

◆ SetMoleFractions() [2/2]

void fub::ideal_gas::TChemReactor::SetMoleFractions ( std::string  X)

◆ SetOdeSolver()

void fub::ideal_gas::TChemReactor::SetOdeSolver ( std::unique_ptr< OdeSolver >  solver)
inline

◆ SetPressure()

void fub::ideal_gas::TChemReactor::SetPressure ( double  p)

◆ SetPressureIsentropic()

double fub::ideal_gas::TChemReactor::SetPressureIsentropic ( double  p)

◆ SetTemperature()

void fub::ideal_gas::TChemReactor::SetTemperature ( double  T)

◆ UpdateThermoState()

void fub::ideal_gas::TChemReactor::UpdateThermoState ( )

Member Data Documentation

◆ cps_

std::vector<double> fub::ideal_gas::TChemReactor::cps_
private

◆ cvs_

std::vector<double> fub::ideal_gas::TChemReactor::cvs_
private

◆ density_

double fub::ideal_gas::TChemReactor::density_
private

◆ enthalpies_

std::vector<double> fub::ideal_gas::TChemReactor::enthalpies_
private

◆ internal_energies_

std::vector<double> fub::ideal_gas::TChemReactor::internal_energies_
private

◆ molar_masses_

std::vector<double> fub::ideal_gas::TChemReactor::molar_masses_
private

◆ moles_

std::vector<double> fub::ideal_gas::TChemReactor::moles_
private

◆ ode_solver_

std::unique_ptr<OdeSolver> fub::ideal_gas::TChemReactor::ode_solver_
private

◆ pressure_

double fub::ideal_gas::TChemReactor::pressure_
private

◆ setPVector_

std::array<double, 2> fub::ideal_gas::TChemReactor::setPVector_
private

◆ species_names_

std::vector<std::string> fub::ideal_gas::TChemReactor::species_names_
private

◆ temperature_

double fub::ideal_gas::TChemReactor::temperature_
private

◆ temperature_and_mass_fractions_

std::vector<double> fub::ideal_gas::TChemReactor::temperature_and_mass_fractions_
private

◆ thermo_temperature_

double fub::ideal_gas::TChemReactor::thermo_temperature_
private

The documentation for this class was generated from the following file: