Inheritance diagram for ablate::eos::TChemSoot:Public Types | |
| using | ThermodynamicStaticFunction = PetscErrorCode(*)(const PetscReal conserved[], PetscReal *property, void *ctx) |
| using | ThermodynamicTemperatureStaticFunction = PetscErrorCode(*)(const PetscReal conserved[], PetscReal temperature, PetscReal *property, void *ctx) |
Public Member Functions | |
| TChemSoot (std::filesystem::path mechanismFile, std::shared_ptr< ablate::monitors::logs::Log >={}, const std::shared_ptr< ablate::parameters::Parameters > &options={}) | |
| ThermodynamicFunction | GetThermodynamicFunction (ThermodynamicProperty property, const std::vector< domain::Field > &fields) const override |
| ThermodynamicTemperatureFunction | GetThermodynamicTemperatureFunction (ThermodynamicProperty property, const std::vector< domain::Field > &fields) const override |
| EOSFunction | GetFieldFunctionFunction (const std::string &field, ThermodynamicProperty property1, ThermodynamicProperty property2, std::vector< std::string > otherProperties) const override |
| const std::vector< std::string > & | GetProgressVariables () const override |
| std::map< std::string, double > | GetElementInformation () const override |
| std::map< std::string, std::map< std::string, int > > | GetSpeciesElementalInformation () const override |
| std::map< std::string, double > | GetSpeciesMolecularMass () const override |
| void | View (std::ostream &stream) const override |
| std::shared_ptr< SourceCalculator > | CreateSourceCalculator (const std::vector< domain::Field > &fields, const ablate::domain::Range &cellRange) override |
| std::shared_ptr< FunctionContext > | BuildFunctionContext (ablate::eos::ThermodynamicProperty property, const std::vector< domain::Field > &fields) const |
Public Member Functions inherited from ablate::eos::TChemBase | |
| TChemBase (const std::string &eosName, std::filesystem::path mechanismFile, const std::shared_ptr< ablate::monitors::logs::Log > &={}, const std::shared_ptr< ablate::parameters::Parameters > &options={}) | |
| tChemLib::KineticModelData & | GetKineticModelData () |
| real_type_1d_view | GetEnthalpyOfFormation () |
| const std::vector< std::string > & | GetSpeciesVariables () const override |
| double | GetEnthalpyOfFormation (std::string_view speciesName) const override |
Public Member Functions inherited from ablate::eos::ChemistryModel | |
| ChemistryModel (std::string name) | |
| virtual std::vector< std::tuple< ablate::solver::CellSolver::SolutionFieldUpdateFunction, void *, std::vector< std::string > > > | GetSolutionFieldUpdates () |
| virtual ThermodynamicTemperatureMassFractionFunction | GetThermodynamicTemperatureMassFractionFunction (ThermodynamicProperty property, const std::vector< domain::Field > &fields) const |
Public Member Functions inherited from ablate::eos::EOS | |
| EOS (std::string typeIn) | |
| virtual std::vector< std::string > | GetFieldTags () const |
| virtual std::vector< std::shared_ptr< domain::FieldDescriptor > > | GetAdditionalFields () const |
| virtual const std::vector< std::string > & | GetFieldFunctionProperties () const |
Static Public Member Functions | |||||||
| static void | FillWorkingVectorFromDensityMassFractions (double density, double temperature, const double *densityYi, const tChemSoot::StateVectorSoot< real_type_1d_view_host > &stateVector) | ||||||
| static real_type | CarbonEnthalpy_R_T (const real_type &Temp) | ||||||
| static double | CarbonCp_R (const double &Temp) | ||||||
| static double | ComputeSolidCarbonSensibleEnthalpy (double temperature) | ||||||
Direct Thermodynamic Properties Functions | |||||||
These functions are used to compute the direct thermodynamic properties (without temperature). They are not called directly but a pointer to them is returned
| |||||||
| static PetscErrorCode | DensityFunction (const PetscReal conserved[], PetscReal *property, void *ctx) | ||||||
| static PetscErrorCode | TemperatureFunction (const PetscReal conserved[], PetscReal *property, void *ctx) | ||||||
| static PetscErrorCode | PressureFunction (const PetscReal conserved[], PetscReal *property, void *ctx) | ||||||
| static PetscErrorCode | InternalSensibleEnergyFunction (const PetscReal conserved[], PetscReal *property, void *ctx) | ||||||
| static PetscErrorCode | SensibleEnthalpyFunction (const PetscReal conserved[], PetscReal *property, void *ctx) | ||||||
| static PetscErrorCode | SpecificHeatConstantVolumeFunction (const PetscReal conserved[], PetscReal *property, void *ctx) | ||||||
| static PetscErrorCode | SpecificHeatConstantPressureFunction (const PetscReal conserved[], PetscReal *property, void *ctx) | ||||||
| static PetscErrorCode | SpeedOfSoundFunction (const PetscReal conserved[], PetscReal *property, void *ctx) | ||||||
| static PetscErrorCode | SpeciesSensibleEnthalpyFunction (const PetscReal conserved[], PetscReal *property, void *ctx) | ||||||
Temperature Based Thermodynamic Properties Functions | |||||||
These functions are used to compute the thermodynamic properties when temperature is known. They are not called directly but a pointer to them is returned and may be faster than the direct calls.
| |||||||
| static PetscErrorCode | DensityTemperatureFunction (const PetscReal conserved[], PetscReal T, PetscReal *property, void *ctx) | ||||||
| static PetscErrorCode | TemperatureTemperatureFunction (const PetscReal conserved[], PetscReal T, PetscReal *property, void *ctx) | ||||||
| static PetscErrorCode | PressureTemperatureFunction (const PetscReal conserved[], PetscReal T, PetscReal *property, void *ctx) | ||||||
| static PetscErrorCode | InternalSensibleEnergyTemperatureFunction (const PetscReal conserved[], PetscReal T, PetscReal *property, void *ctx) | ||||||
| static PetscErrorCode | SensibleEnthalpyTemperatureFunction (const PetscReal conserved[], PetscReal T, PetscReal *property, void *ctx) | ||||||
| static PetscErrorCode | SpecificHeatConstantVolumeTemperatureFunction (const PetscReal conserved[], PetscReal T, PetscReal *property, void *ctx) | ||||||
| static PetscErrorCode | SpecificHeatConstantPressureTemperatureFunction (const PetscReal conserved[], PetscReal T, PetscReal *property, void *ctx) | ||||||
| static PetscErrorCode | SpeedOfSoundTemperatureFunction (const PetscReal conserved[], PetscReal T, PetscReal *property, void *ctx) | ||||||
| static PetscErrorCode | SpeciesSensibleEnthalpyTemperatureFunction (const PetscReal conserved[], PetscReal T, PetscReal *property, void *ctx) | ||||||
Public Attributes | |
| std::map< ThermodynamicProperty, std::tuple< ThermodynamicStaticFunction, ThermodynamicTemperatureStaticFunction, std::function< ordinal_type(ordinal_type)> > > | thermodynamicFunctions |
| const std::set< ThermodynamicProperty > | speciesSizedProperties = {ThermodynamicProperty::SpeciesSensibleEnthalpy} |
Static Public Attributes | |
| static std::string | CSolidName = "C(S)" |
| static std::string | SootNumberDensityName = "SootNumberDensity_Mass" |
Static Public Attributes inherited from ablate::eos::TChemBase | |
| static const double | TREF = 298.15 |
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::TChemBase | |
| tChem::SourceCalculator::ChemistryConstraints | constraints |
| hold a copy of the constrains that can be used for single or batch source calculation | |
| const std::filesystem::path | mechanismFile |
| the mechanismFile may be chemkin or yaml based | |
| std::shared_ptr< ablate::monitors::logs::Log > | log |
| an optional log file for tchem echo redirection | |
| tChemLib::KineticModelData | kineticsModel |
| std::shared_ptr< tChemLib::KineticModelGasConstData< typename Tines::UseThisDevice< host_exec_space >::type > > | kineticsModelDataHost |
| std::shared_ptr< tChemLib::KineticModelGasConstData< typename Tines::UseThisDevice< exec_space >::type > > | kineticsModelDataDevice |
| std::vector< std::string > | species |
| real_type_1d_view | enthalpyReferenceDevice |
| real_type_1d_view_host | enthalpyReferenceHost |
Protected Attributes inherited from ablate::eos::EOS | |
| const std::string | type |
Static Protected Attributes inherited from ablate::eos::TChemBase | |
| static const std::array< std::string, 2 > | validFileExtensions = {".yaml", ".yml"} |
| using ablate::eos::TChemSoot::ThermodynamicStaticFunction = PetscErrorCode (*)(const PetscReal conserved[], PetscReal* property, void* ctx) |
template function to call base tChem function Store a map of functions functions for quick lookup
|
explicit |
The tChem EOS can utilize either a mechanical & thermo file using the Chemkin file format for a modern yaml file.
| mechFile | |
| optionalThermoFile |
| std::shared_ptr< ablate::eos::TChemSoot::FunctionContext > ablate::eos::TChemSoot::BuildFunctionContext | ( | ablate::eos::ThermodynamicProperty | property, |
| const std::vector< domain::Field > & | fields | ||
| ) | const |
helper function to build the function context needed regardless of function type. This is specialized for soot
| Function | |
| Type |
| fields |
|
inlinestatic |
static call to compute carbon sensible enthalpy
|
overridevirtual |
Function to create the batch source specific to the provided cell range
| cellRange |
Implements ablate::eos::ChemistryModel.
|
static |
Fill and Normalize the density species mass fractions
| numSpec | |
| yi |
|
overridevirtual |
Returns all elements tracked in this mechanism and their molecular mass
Reimplemented from ablate::eos::ChemistryModel.
|
overridevirtual |
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
| field | |
| property1 | |
| property2 |
Implements ablate::eos::EOS.
|
inlineoverridevirtual |
TThe tChemSoot also need to track the soot number density
Reimplemented from ablate::eos::TChemBase.
|
overridevirtual |
no. of atoms of each element in each species
Reimplemented from ablate::eos::ChemistryModel.
|
overridevirtual |
|
overridevirtual |
Single function to produce thermodynamic function for any property based upon the available fields
| property | |
| fields |
Implements ablate::eos::EOS.
|
overridevirtual |
Single function to produce thermodynamic function for any property based upon the available fields and temperature
| property | |
| fields |
Implements ablate::eos::EOS.
|
overridevirtual |
|
inlinestatic |
The name of the solid species
|
inlinestatic |
The name of the Soot Number Density progress variable
| const std::set<ThermodynamicProperty> ablate::eos::TChemSoot::speciesSizedProperties = {ThermodynamicProperty::SpeciesSensibleEnthalpy} |
Store a list of properties that are sized by species, everything is assumed to be size one
| std::map<ThermodynamicProperty, std::tuple<ThermodynamicStaticFunction, ThermodynamicTemperatureStaticFunction, std::function<ordinal_type(ordinal_type)> > > ablate::eos::TChemSoot::thermodynamicFunctions |