GRINS-0.7.0
List of all members | Public Member Functions | Protected Attributes | Private Member Functions
GRINS::AntiochChemistry Class Reference

Wrapper class for Antioch::ChemicalMixture. More...

#include <antioch_chemistry.h>

Inheritance diagram for GRINS::AntiochChemistry:
Inheritance graph
[legend]
Collaboration diagram for GRINS::AntiochChemistry:
Collaboration graph
[legend]

Public Member Functions

 AntiochChemistry (const GetPot &input, const std::string &material)
 
virtual ~AntiochChemistry ()
 
libMesh::Real M (unsigned int species) const
 Species molar mass (molecular weight), [kg/mol]. More...
 
libMesh::Real M_mix (const std::vector< libMesh::Real > &mass_fractions) const
 Mixture molar mass (molecular weight), [kg/mol]. More...
 
libMesh::Real R (unsigned int species) const
 Species gas constant, [J/kg-K]. More...
 
libMesh::Real R_mix (const std::vector< libMesh::Real > &mass_fractions) const
 Mixture gas constant, [J/kg-K]. More...
 
libMesh::Real X (unsigned int species, libMesh::Real M, libMesh::Real mass_fraction) const
 Species mole fraction, unitless. More...
 
void X (libMesh::Real M, const std::vector< libMesh::Real > &mass_fractions, std::vector< libMesh::Real > &mole_fractions) const
 Mole fraction for all species, unitless. More...
 
libMesh::Real molar_density (const unsigned int species, const libMesh::Real rho, const libMesh::Real mass_fraction) const
 Species molar density, [mol/m^3]. More...
 
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]. More...
 
unsigned int n_species () const
 
unsigned int species_index (const std::string &species_name) const
 
std::string species_name (unsigned int species_index) const
 
const Antioch::ChemicalMixture< libMesh::Real > & chemical_mixture () const
 Accessor to underlying Antioch object. More...
 
const AntiochChemistrychemistry () const
 Accessor for this class. More...
 
- Public Member Functions inherited from GRINS::ParameterUser
 ParameterUser (const std::string &user_name)
 
virtual ~ParameterUser ()
 
virtual void set_parameter (libMesh::Number &param_variable, const GetPot &input, const std::string &param_name, libMesh::Number param_default)
 Each subclass can simultaneously read a parameter value from. More...
 
virtual void set_parameter (libMesh::ParsedFunction< libMesh::Number, libMesh::Gradient > &func, const GetPot &input, const std::string &func_param_name, const std::string &param_default)
 Each subclass can simultaneously read a parsed function from. More...
 
virtual void set_parameter (libMesh::ParsedFEMFunction< libMesh::Number > &func, const GetPot &input, const std::string &func_param_name, const std::string &param_default)
 Each subclass can simultaneously read a parsed function from. More...
 
virtual void move_parameter (const libMesh::Number &old_parameter, libMesh::Number &new_parameter)
 When cloning an object, we need to update parameter pointers. More...
 
virtual void move_parameter (const libMesh::ParsedFunction< libMesh::Number, libMesh::Gradient > &old_func, libMesh::ParsedFunction< libMesh::Number, libMesh::Gradient > &new_func)
 When cloning an object, we need to update parameter pointers. More...
 
virtual void move_parameter (const libMesh::ParsedFEMFunction< libMesh::Number > &old_func, libMesh::ParsedFEMFunction< libMesh::Number > &new_func)
 When cloning an object, we need to update parameter pointers. More...
 
virtual void register_parameter (const std::string &param_name, libMesh::ParameterMultiAccessor< libMesh::Number > &param_pointer) const
 Each subclass will register its copy of an independent. More...
 

Protected Attributes

libMesh::UniquePtr< Antioch::ChemicalMixture< libMesh::Real > > _antioch_gas
 

Private Member Functions

 AntiochChemistry ()
 

Additional Inherited Members

- Static Public Attributes inherited from GRINS::ParameterUser
static std::string zero_vector_function = std::string("{0}")
 A parseable function string with LIBMESH_DIM components, all 0. More...
 

Detailed Description

Wrapper class for Antioch::ChemicalMixture.

This class is expected to be constructed before threads have been forked and will live during the whole program. By default, Antioch is working in SI units. Note that this documentation will always be built regardless if Antioch is included in the GRINS build or not. Check configure output to confirm that Antioch was included in the build.

Definition at line 59 of file antioch_chemistry.h.

Constructor & Destructor Documentation

GRINS::AntiochChemistry::AntiochChemistry ( const GetPot &  input,
const std::string &  material 
)

Definition at line 44 of file antioch_chemistry.C.

References _antioch_gas, and GRINS::MaterialsParsing::parse_chemical_species().

46  : ParameterUser("AntiochChemistry")
47  {
48  std::vector<std::string> species_list;
49  MaterialsParsing::parse_chemical_species(input,material,species_list);
50 
51  bool verbose_antioch_read = input("Materials/"+material+"/GasMixture/Antioch/verbose_read",false);
52 
53  std::string species_data_filename = input("Materials/"+material+"/GasMixture/Antioch/species_data", "default" );
54  if( species_data_filename == std::string("default") )
55  species_data_filename = Antioch::DefaultInstallFilename::chemical_mixture();
56 
57  std::string vibration_data_filename = input("Materials/"+material+"/GasMixture/Antioch/vibration_data", "default" );
58  if( vibration_data_filename == std::string("default") )
59  vibration_data_filename = Antioch::DefaultInstallFilename::vibrational_data();
60 
61  std::string electronic_data_filename = input("Materials/"+material+"/GasMixture/Antioch/electronic_data", "default" );
62  if( electronic_data_filename == std::string("default") )
63  electronic_data_filename = Antioch::DefaultInstallFilename::electronic_data();
64 
65  // By default, Antioch is using its ASCII parser. We haven't added more options yet.
66  _antioch_gas.reset( new Antioch::ChemicalMixture<libMesh::Real>( species_list,
67  verbose_antioch_read,
68  species_data_filename,
69  vibration_data_filename,
70  electronic_data_filename ) );
71  }
libMesh::UniquePtr< Antioch::ChemicalMixture< libMesh::Real > > _antioch_gas
ParameterUser(const std::string &user_name)
static void parse_chemical_species(const GetPot &input, const std::string &material, std::vector< std::string > &species_names)
Helper function for parsing the chemical species.
GRINS::AntiochChemistry::~AntiochChemistry ( )
virtual

Definition at line 73 of file antioch_chemistry.C.

74  {
75  return;
76  }
GRINS::AntiochChemistry::AntiochChemistry ( )
private

Member Function Documentation

const Antioch::ChemicalMixture< libMesh::Real > & GRINS::AntiochChemistry::chemical_mixture ( ) const
inline

Accessor to underlying Antioch object.

Definition at line 173 of file antioch_chemistry.h.

References _antioch_gas.

Referenced by GRINS::AntiochEvaluator< Thermo >::specialized_build_thermo().

174  {
175  return *_antioch_gas.get();
176  }
libMesh::UniquePtr< Antioch::ChemicalMixture< libMesh::Real > > _antioch_gas
const AntiochChemistry & GRINS::AntiochChemistry::chemistry ( ) const
inline

Accessor for this class.

Definition at line 196 of file antioch_chemistry.h.

197  {
198  return *this;
199  }
libMesh::Real GRINS::AntiochChemistry::M ( unsigned int  species) const
inline

Species molar mass (molecular weight), [kg/mol].

Definition at line 121 of file antioch_chemistry.h.

References _antioch_gas.

122  {
123  return _antioch_gas->M(species);
124  }
libMesh::UniquePtr< Antioch::ChemicalMixture< libMesh::Real > > _antioch_gas
libMesh::Real GRINS::AntiochChemistry::M_mix ( const std::vector< libMesh::Real > &  mass_fractions) const
inline

Mixture molar mass (molecular weight), [kg/mol].

Definition at line 127 of file antioch_chemistry.h.

References _antioch_gas.

Referenced by main().

128  {
129  return _antioch_gas->M(mass_fractions);
130  }
libMesh::UniquePtr< Antioch::ChemicalMixture< libMesh::Real > > _antioch_gas
void GRINS::AntiochChemistry::molar_densities ( const libMesh::Real  rho,
const std::vector< libMesh::Real > &  mass_fractions,
std::vector< libMesh::Real > &  molar_densities 
) const
inline

Molar density for all species, [mol/m^3].

Definition at line 187 of file antioch_chemistry.h.

References _antioch_gas.

Referenced by GRINS::AntiochKinetics::omega_dot().

190  {
191  _antioch_gas->molar_densities( rho, mass_fractions, molar_densities );
192  return;
193  }
libMesh::UniquePtr< Antioch::ChemicalMixture< libMesh::Real > > _antioch_gas
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].
libMesh::Real GRINS::AntiochChemistry::molar_density ( const unsigned int  species,
const libMesh::Real  rho,
const libMesh::Real  mass_fraction 
) const
inline

Species molar density, [mol/m^3].

Definition at line 179 of file antioch_chemistry.h.

References _antioch_gas.

182  {
183  return _antioch_gas->molar_density( species, rho, mass_fraction );
184  }
libMesh::UniquePtr< Antioch::ChemicalMixture< libMesh::Real > > _antioch_gas
unsigned int GRINS::AntiochChemistry::n_species ( ) const
inline

Definition at line 161 of file antioch_chemistry.h.

References _antioch_gas.

Referenced by GRINS::AntiochMixture::build_stat_mech_ref_correction(), do_transport_eval(), main(), and GRINS::AntiochKinetics::omega_dot().

162  {
163  return _antioch_gas->n_species();
164  }
libMesh::UniquePtr< Antioch::ChemicalMixture< libMesh::Real > > _antioch_gas
libMesh::Real GRINS::AntiochChemistry::R ( unsigned int  species) const
inline

Species gas constant, [J/kg-K].

R_universal/M(species)

Definition at line 133 of file antioch_chemistry.h.

References _antioch_gas.

134  {
135  return _antioch_gas->R(species);
136  }
libMesh::UniquePtr< Antioch::ChemicalMixture< libMesh::Real > > _antioch_gas
libMesh::Real GRINS::AntiochChemistry::R_mix ( const std::vector< libMesh::Real > &  mass_fractions) const
inline

Mixture gas constant, [J/kg-K].

Definition at line 139 of file antioch_chemistry.h.

References _antioch_gas.

Referenced by main().

140  {
141  return _antioch_gas->R(mass_fractions);
142  }
libMesh::UniquePtr< Antioch::ChemicalMixture< libMesh::Real > > _antioch_gas
unsigned int GRINS::AntiochChemistry::species_index ( const std::string &  species_name) const
inline

Definition at line 167 of file antioch_chemistry.h.

References _antioch_gas.

168  {
169  return _antioch_gas->species_name_map().find(species_name)->second;
170  }
libMesh::UniquePtr< Antioch::ChemicalMixture< libMesh::Real > > _antioch_gas
std::string species_name(unsigned int species_index) const
std::string GRINS::AntiochChemistry::species_name ( unsigned int  species_index) const

Definition at line 78 of file antioch_chemistry.C.

References _antioch_gas.

Referenced by do_transport_eval(), main(), and test_evaluator().

79  {
80  libmesh_assert_less(species_index, _antioch_gas->n_species());
81 
82  return _antioch_gas->species_inverse_name_map().find(species_index)->second;
83  }
libMesh::UniquePtr< Antioch::ChemicalMixture< libMesh::Real > > _antioch_gas
unsigned int species_index(const std::string &species_name) const
libMesh::Real GRINS::AntiochChemistry::X ( unsigned int  species,
libMesh::Real  M,
libMesh::Real  mass_fraction 
) const
inline

Species mole fraction, unitless.

Definition at line 145 of file antioch_chemistry.h.

References _antioch_gas.

Referenced by main().

147  {
148  return _antioch_gas->X(species,M,mass_fraction);
149  }
libMesh::UniquePtr< Antioch::ChemicalMixture< libMesh::Real > > _antioch_gas
libMesh::Real M(unsigned int species) const
Species molar mass (molecular weight), [kg/mol].
void GRINS::AntiochChemistry::X ( libMesh::Real  M,
const std::vector< libMesh::Real > &  mass_fractions,
std::vector< libMesh::Real > &  mole_fractions 
) const
inline

Mole fraction for all species, unitless.

Definition at line 152 of file antioch_chemistry.h.

References _antioch_gas.

155  {
156  _antioch_gas->X(M,mass_fractions,mole_fractions);
157  return;
158  }
libMesh::UniquePtr< Antioch::ChemicalMixture< libMesh::Real > > _antioch_gas
libMesh::Real M(unsigned int species) const
Species molar mass (molecular weight), [kg/mol].

Member Data Documentation

libMesh::UniquePtr<Antioch::ChemicalMixture<libMesh::Real> > GRINS::AntiochChemistry::_antioch_gas
protected

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

Generated on Thu Jun 2 2016 21:52:30 for GRINS-0.7.0 by  doxygen 1.8.10