ABLATE Source Documentation  0.12.34
ablate::eos::ChemTab Class Reference
+ Inheritance diagram for ablate::eos::ChemTab:

Public Member Functions

 ChemTab (std::filesystem::path path)
 
const std::vector< std::string > & GetSpeciesVariables () const override
 
const std::vector< std::string > & GetSpeciesNames () const
 
const std::vector< std::string > & GetFieldFunctionProperties () const override
 
const std::vector< std::string > & GetProgressVariables () const override
 
std::vector< std::string > GetFieldTags () const override
 
std::shared_ptr< SourceCalculatorCreateSourceCalculator (const std::vector< domain::Field > &fields, const ablate::domain::Range &cellRange) override
 
void View (std::ostream &stream) const override
 
eos::ThermodynamicFunction GetThermodynamicFunction (eos::ThermodynamicProperty property, const std::vector< domain::Field > &fields) const override
 
eos::ThermodynamicTemperatureFunction GetThermodynamicTemperatureFunction (eos::ThermodynamicProperty property, const std::vector< domain::Field > &fields) const override
 
eos::EOSFunction GetFieldFunctionFunction (const std::string &field, eos::ThermodynamicProperty property1, eos::ThermodynamicProperty property2, std::vector< std::string > otherProperties) const override
 
ThermodynamicTemperatureMassFractionFunction GetThermodynamicTemperatureMassFractionFunction (ThermodynamicProperty property, const std::vector< domain::Field > &fields) const override
 
std::map< std::string, double > GetSpeciesMolecularMass () const override
 
std::map< std::string, std::map< std::string, int > > GetSpeciesElementalInformation () const override
 
std::map< std::string, double > GetElementInformation () const override
 
void ChemistrySource (PetscReal density, const PetscReal densityProgressVariable[], PetscReal *densityEnergySource, PetscReal *progressVariableSource) const
 
void ComputeProgressVariables (const std::vector< PetscReal > &massFractions, std::vector< PetscReal > &progressVariables) const
 
void ComputeMassFractions (const std::vector< PetscReal > &progressVariables, std::vector< PetscReal > &massFractions, PetscReal density=1.0) const
 
void ComputeMassFractions (const PetscReal *progressVariables, PetscReal *massFractions, PetscReal density=1.0) const
 
void GetInitializerProgressVariables (const std::string &name, std::vector< PetscReal > &progressVariables) const
 
std::vector< std::tuple< ablate::solver::CellSolver::SolutionFieldUpdateFunction, void *, std::vector< std::string > > > GetSolutionFieldUpdates () override
 
- Public Member Functions inherited from ablate::eos::ChemistryModel
 ChemistryModel (std::string name)
 
virtual double GetEnthalpyOfFormation (std::string_view speciesName) const
 
- Public Member Functions inherited from ablate::eos::EOS
 EOS (std::string typeIn)
 
virtual std::vector< std::shared_ptr< domain::FieldDescriptor > > GetAdditionalFields () const
 

Static Public Attributes

static const std::string DENSITY_YI_DECODE_FIELD = "DENSITY_YI_DECODE"
 
static const std::string errorMessage = "Using the ChemTab requires Tensorflow to be compile with ABLATE."
 
- Static Public Attributes inherited from ablate::eos::EOS
static const std::string YI = "Yi"
 
static const std::string PROGRESS = "Progress"
 

Additional Inherited Members

- Protected Attributes inherited from ablate::eos::EOS
const std::string type
 

Member Function Documentation

◆ CreateSourceCalculator()

std::shared_ptr<SourceCalculator> ablate::eos::ChemTab::CreateSourceCalculator ( const std::vector< domain::Field > &  fields,
const ablate::domain::Range cellRange 
)
inlineoverridevirtual

Function to create the batch source specific to the provided cell range

Parameters
cellRange
Returns

Implements ablate::eos::ChemistryModel.

◆ GetFieldFunctionFunction()

eos::EOSFunction ablate::eos::ChemTab::GetFieldFunctionFunction ( const std::string &  field,
eos::ThermodynamicProperty  property1,
eos::ThermodynamicProperty  property2,
std::vector< std::string >  otherProperties 
) const
inlineoverridevirtual

Single function to produce fieldFunction function for any two properties, velocity, and species mass fractions. These calls can be slower and should be used for init/output only

Parameters
field
property1
property2

Implements ablate::eos::EOS.

◆ GetFieldFunctionProperties()

const std::vector<std::string>& ablate::eos::ChemTab::GetFieldFunctionProperties ( ) const
inlineoverridevirtual

Properties known by this equation of state used for the FieldFunction calculations. This can be the same as the GetSpeciesVariables. species model functions

Returns

Reimplemented from ablate::eos::EOS.

◆ GetFieldTags()

std::vector<std::string> ablate::eos::ChemTab::GetFieldTags ( ) const
inlineoverridevirtual

Returns any additional field tags that can be used when setting up the field

Returns

Reimplemented from ablate::eos::EOS.

◆ GetProgressVariables()

const std::vector<std::string>& ablate::eos::ChemTab::GetProgressVariables ( ) const
inlineoverridevirtual

Returns a vector of all extra variables required to utilize the equation of state

Returns

Implements ablate::eos::EOS.

◆ GetSolutionFieldUpdates()

std::vector<std::tuple<ablate::solver::CellSolver::SolutionFieldUpdateFunction, void*, std::vector<std::string> > > ablate::eos::ChemTab::GetSolutionFieldUpdates ( )
inlineoverridevirtual

Optional function to get a solution update

Reimplemented from ablate::eos::ChemistryModel.

◆ GetSpeciesVariables()

const std::vector<std::string>& ablate::eos::ChemTab::GetSpeciesVariables ( ) const
inlineoverridevirtual

Required species to utilize the equation of state species model functions

Returns

Implements ablate::eos::EOS.

◆ GetThermodynamicFunction()

eos::ThermodynamicFunction ablate::eos::ChemTab::GetThermodynamicFunction ( eos::ThermodynamicProperty  property,
const std::vector< domain::Field > &  fields 
) const
inlineoverridevirtual

Single function to produce thermodynamic function for any property based upon the available fields

Parameters
property
fields
Returns

Implements ablate::eos::EOS.

◆ GetThermodynamicTemperatureFunction()

eos::ThermodynamicTemperatureFunction ablate::eos::ChemTab::GetThermodynamicTemperatureFunction ( eos::ThermodynamicProperty  property,
const std::vector< domain::Field > &  fields 
) const
inlineoverridevirtual

Single function to produce thermodynamic function for any property based upon the available fields and temperature

Parameters
property
fields
Returns

Implements ablate::eos::EOS.

◆ View()

void ablate::eos::ChemTab::View ( std::ostream &  stream) const
inlineoverridevirtual

Print the details of this eos

Parameters
stream

Implements ablate::eos::EOS.


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