26 #include "grins_config.h"
28 #ifdef GRINS_HAVE_ANTIOCH
42 template<
typename Thermo>
47 _temp_cache( new Antioch::TempCache<
libMesh::Real>(1.0) )
53 template<
typename Thermo>
59 template<
typename Thermo>
61 std::vector<libMesh::Real>& omega_dot )
67 this->omega_dot( T, rho, Y, omega_dot );
72 template<
typename Thermo>
74 const std::vector<libMesh::Real> mass_fractions,
75 std::vector<libMesh::Real>& omega_dot )
77 this->check_and_reset_temp_cache(T);
79 _kinetics->omega_dot( *(_temp_cache.get()), rho, mass_fractions, omega_dot );
84 template<
typename Thermo>
87 if( _temp_cache->T != T )
89 _temp_cache.reset(
new Antioch::TempCache<libMesh::Real>(T) );
102 this->check_and_reset_temp_cache(T);
104 return _thermo->cp( *(_temp_cache.get()), Y );
114 return _thermo->cp( T, T, Y );
119 const std::vector<libMesh::Real>& Y )
121 this->check_and_reset_temp_cache(T);
123 return _thermo->cp( *(_temp_cache.get()), Y );
128 const std::vector<libMesh::Real>& Y )
130 return _thermo->
cp( T, T, Y );
140 this->check_and_reset_temp_cache(T);
142 return _thermo->cv( *(_temp_cache.get()), Y );
148 this->check_and_reset_temp_cache(T);
150 return _thermo->h( *(_temp_cache.get()), species );;
156 return _thermo->h_tot( species, T ) + _chem.h_stat_mech_ref_correction(species);
166 return _thermo->cv( T, T, Y );
172 unsigned int species )
176 return this->h_s( T, species );
182 unsigned int species )
186 return this->h_s(T, species);
192 std::vector<libMesh::Real>& h_s )
196 this->check_and_reset_temp_cache(T);
198 _thermo->h( *(_temp_cache.get()), h_s );
206 std::vector<libMesh::Real>& h_s )
208 for(
unsigned int s = 0; s < _chem.n_species(); s++ )
210 h_s[s] = this->h_s(cache,qp,s);
218 #endif //GRINS_HAVE_ANTIOCH
void check_and_reset_temp_cache(const libMesh::Real &T)
Helper method for managing _temp_cache.
Wrapper class for evaluating chemistry and thermo properties using Antioch.
Wrapper class for evaluating chemical kinetics using Antioch.
virtual ~AntiochEvaluator()
libMesh::Real cp(const CachedValues &cache, unsigned int qp)
void omega_dot(const CachedValues &cache, unsigned int qp, std::vector< libMesh::Real > &omega_dot)
const std::vector< std::vector< libMesh::Number > > & get_cached_vector_values(unsigned int quantity) const
Wrapper class for storing state for Antioch thermo and kinetics.
const std::vector< libMesh::Number > & get_cached_values(unsigned int quantity) const
void build_thermo(const AntiochMixture &mixture)