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"
67 AntiochChemistry( libMesh::UniquePtr<Antioch::ChemicalMixture<libMesh::Real> > & chem_mixture );
72 libMesh::Real
M(
unsigned int species )
const;
75 libMesh::Real
M_mix(
const std::vector<libMesh::Real>& mass_fractions )
const;
79 libMesh::Real
R(
unsigned int species )
const;
82 libMesh::Real
R_mix(
const std::vector<libMesh::Real>& mass_fractions )
const;
85 libMesh::Real
X(
unsigned int species, libMesh::Real
M, libMesh::Real mass_fraction )
const;
88 void X( libMesh::Real
M,
const std::vector<libMesh::Real>& mass_fractions,
89 std::vector<libMesh::Real>& mole_fractions )
const;
93 const libMesh::Real rho,
94 const libMesh::Real mass_fraction )
const;
98 const std::vector<libMesh::Real>& mass_fractions,
115 libMesh::UniquePtr<Antioch::ChemicalMixture<libMesh::Real> >
_antioch_gas;
150 const libMesh::Real mass_fraction )
const
157 const std::vector<libMesh::Real>& mass_fractions,
158 std::vector<libMesh::Real>& mole_fractions )
const
173 return _antioch_gas->species_name_map().find(species_name)->second;
184 const libMesh::Real rho,
185 const libMesh::Real mass_fraction )
const
187 return _antioch_gas->molar_density( species, rho, mass_fraction );
192 const std::vector<libMesh::Real>& mass_fractions,
193 std::vector<libMesh::Real>& molar_densities )
const
195 _antioch_gas->molar_densities( rho, mass_fractions, molar_densities );
207 #endif // GRINS_HAVE_ANTIOCH
209 #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].
virtual ~AntiochChemistry()
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
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].