26 #ifndef GRINS_ANTIOCH_CHEMISTRY_H
27 #define GRINS_ANTIOCH_CHEMISTRY_H
29 #include "grins_config.h"
31 #ifdef GRINS_HAVE_ANTIOCH
38 #include "libmesh/libmesh_common.h"
39 #include "libmesh/auto_ptr.h"
42 #include "antioch/vector_utils_decl.h"
43 #include "antioch/vector_utils.h"
44 #include "antioch/chemical_mixture.h"
68 libMesh::Real
M(
unsigned int species )
const;
71 libMesh::Real
M_mix(
const std::vector<libMesh::Real>& mass_fractions )
const;
75 libMesh::Real
R(
unsigned int species )
const;
78 libMesh::Real
R_mix(
const std::vector<libMesh::Real>& mass_fractions )
const;
81 libMesh::Real
X(
unsigned int species, libMesh::Real M, libMesh::Real mass_fraction )
const;
84 void X( libMesh::Real M,
const std::vector<libMesh::Real>& mass_fractions,
85 std::vector<libMesh::Real>& mole_fractions )
const;
89 const libMesh::Real rho,
90 const libMesh::Real mass_fraction )
const;
94 const std::vector<libMesh::Real>& mass_fractions,
101 std::string
species_name(
unsigned int species_index )
const;
111 libMesh::UniquePtr<Antioch::ChemicalMixture<libMesh::Real> >
_antioch_gas;
146 const libMesh::Real mass_fraction )
const
153 const std::vector<libMesh::Real>& mass_fractions,
154 std::vector<libMesh::Real>& mole_fractions )
const
169 return _antioch_gas->species_name_map().find(species_name)->second;
180 const libMesh::Real rho,
181 const libMesh::Real mass_fraction )
const
183 return _antioch_gas->molar_density( species, rho, mass_fraction );
188 const std::vector<libMesh::Real>& mass_fractions,
189 std::vector<libMesh::Real>& molar_densities )
const
191 _antioch_gas->molar_densities( rho, mass_fractions, molar_densities );
203 #endif // GRINS_HAVE_ANTIOCH
205 #endif // GRINS_ANTIOCH_CHEMISTRY_H
libMesh::UniquePtr< Antioch::ChemicalMixture< libMesh::Real > > _antioch_gas
unsigned int n_species() const
libMesh::Real M_mix(const std::vector< libMesh::Real > &mass_fractions) const
Mixture molar mass (molecular weight), [kg/mol].
libMesh::Real R_mix(const std::vector< libMesh::Real > &mass_fractions) const
Mixture gas constant, [J/kg-K].
Wrapper class for Antioch::ChemicalMixture.
const Antioch::ChemicalMixture< libMesh::Real > & chemical_mixture() const
Accessor to underlying Antioch object.
unsigned int species_index(const std::string &species_name) const
const AntiochChemistry & chemistry() const
Accessor for this class.
void molar_densities(const libMesh::Real rho, const std::vector< libMesh::Real > &mass_fractions, std::vector< libMesh::Real > &molar_densities) const
Molar density for all species, [mol/m^3].
std::string species_name(unsigned int species_index) const
virtual ~AntiochChemistry()
libMesh::Real R(unsigned int species) const
Species gas constant, [J/kg-K].
libMesh::Real molar_density(const unsigned int species, const libMesh::Real rho, const libMesh::Real mass_fraction) const
Species molar density, [mol/m^3].
ParameterUser base class. Utility methods for subclasses.
libMesh::Real X(unsigned int species, libMesh::Real M, libMesh::Real mass_fraction) const
Species mole fraction, unitless.
libMesh::Real M(unsigned int species) const
Species molar mass (molecular weight), [kg/mol].