26 #ifndef GRINS_ANTIOCH_CHEMISTRY_H
27 #define GRINS_ANTIOCH_CHEMISTRY_H
29 #include "grins_config.h"
31 #ifdef GRINS_HAVE_ANTIOCH
37 #include "libmesh/libmesh_common.h"
40 #include "antioch/vector_utils_decl.h"
41 #include "antioch/vector_utils.h"
42 #include "antioch/chemical_mixture.h"
45 #include "boost/scoped_ptr.hpp"
69 libMesh::Real
M(
unsigned int species )
const;
72 libMesh::Real
M_mix(
const std::vector<libMesh::Real>& mass_fractions )
const;
76 libMesh::Real
R(
unsigned int species )
const;
79 libMesh::Real
R_mix(
const std::vector<libMesh::Real>& mass_fractions )
const;
82 libMesh::Real
X(
unsigned int species, libMesh::Real M, libMesh::Real mass_fraction )
const;
85 void X( libMesh::Real M,
const std::vector<libMesh::Real>& mass_fractions,
86 std::vector<libMesh::Real>& mole_fractions )
const;
90 const libMesh::Real rho,
91 const libMesh::Real mass_fraction )
const;
95 const std::vector<libMesh::Real>& mass_fractions,
102 std::string
species_name(
unsigned int species_index )
const;
112 boost::scoped_ptr<Antioch::ChemicalMixture<libMesh::Real> >
_antioch_gas;
147 const libMesh::Real mass_fraction )
const
154 const std::vector<libMesh::Real>& mass_fractions,
155 std::vector<libMesh::Real>& mole_fractions )
const
170 #if ANTIOCH_MAJOR_VERSION < 1 && ANTIOCH_MINOR_VERSION < 3
171 return _antioch_gas->active_species_name_map().find(species_name)->second;
173 return _antioch_gas->species_name_map().find(species_name)->second;
185 const libMesh::Real rho,
186 const libMesh::Real mass_fraction )
const
188 return _antioch_gas->molar_density( species, rho, mass_fraction );
193 const std::vector<libMesh::Real>& mass_fractions,
194 std::vector<libMesh::Real>& molar_densities )
const
196 _antioch_gas->molar_densities( rho, mass_fractions, molar_densities );
208 #endif // GRINS_HAVE_ANTIOCH
210 #endif // GRINS_ANTIOCH_CHEMISTRY_H
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].
boost::scoped_ptr< Antioch::ChemicalMixture< libMesh::Real > > _antioch_gas
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].