25 #ifndef GRINS_CATALYTIC_WALL_BASE_H
26 #define GRINS_CATALYTIC_WALL_BASE_H
35 #include "libmesh/libmesh_common.h"
36 #include "libmesh/auto_ptr.h"
46 class AssemblyContext;
49 template<
typename Chemistry>
55 SharedPtr<CatalycityBase>& gamma,
56 const std::vector<VariableIndex>& species_vars,
59 unsigned int reactant_species_idx);
64 const unsigned int reactant_species_idx );
71 const bool request_jacobian ) =0;
73 virtual void init(
const libMesh::FEMSystem& ){};
75 libMesh::Real
rho( libMesh::Real T, libMesh::Real p0, libMesh::Real R_mix)
const;
78 libMesh::Real
omega_dot(
const libMesh::Real rho_s,
const libMesh::Real T )
const;
80 libMesh::Real
domega_dot_dws(
const libMesh::Real rho_s,
const libMesh::Real w_s,
81 const libMesh::Real T,
const libMesh::Real R )
const;
83 libMesh::Real
domega_dot_dT(
const libMesh::Real rho_s,
const libMesh::Real T )
const;
90 libMesh::Real
eval_gamma( libMesh::Real T )
const;
106 const libMesh::Real
_C;
123 template<
typename Chemistry>
130 template<
typename Chemistry>
137 value = (*_gamma_s)(T);
139 value = (*_gamma_ptr)(T);
146 template<
typename Chemistry>
153 value = (*_gamma_s).dT(T);
155 value = (*_gamma_ptr).dT(T);
162 template<
typename Chemistry>
166 return rho_s*this->eval_gamma(T)*_C*std::sqrt(T);
169 template<
typename Chemistry>
172 const libMesh::Real T,
const libMesh::Real R )
const
174 return (1.0/w_s - rho_s/R)*(this->omega_dot( rho_s, T ));
177 template<
typename Chemistry>
181 libMesh::Real sqrtT = std::sqrt(T);
183 return rho_s*_C*( 0.5/sqrtT*this->eval_gamma(T) + sqrtT*this->eval_gamma_dT(T) );
188 #endif // GRINS_CATALYTIC_WALL_BASE_H
unsigned int VariableIndex
More descriptive name of the type used for variable indices.
SharedPtr< CatalycityBase > _gamma_ptr
virtual void init(const libMesh::FEMSystem &)
void set_catalycity_params(const std::vector< libMesh::Real > ¶ms)
libMesh::Real _p0
Thermodynamic pressure.
SharedPtr< Chemistry > _chem_ptr
libMesh::Real eval_gamma_dT(libMesh::Real T) const
Temporary helper to deal with intermediate refactoring.
virtual void apply_fluxes(AssemblyContext &context, const CachedValues &cache, const bool request_jacobian)=0
Deprecated.
libMesh::Real eval_gamma(libMesh::Real T) const
Temporary helper to deal with intermediate refactoring.
libMesh::Real domega_dot_dT(const libMesh::Real rho_s, const libMesh::Real T) const
libMesh::Real omega_dot(const libMesh::Real rho_s, const libMesh::Real T) const
libMesh::Real domega_dot_dws(const libMesh::Real rho_s, const libMesh::Real w_s, const libMesh::Real T, const libMesh::Real R) const
CatalyticWallBase(SharedPtr< Chemistry > &chem, SharedPtr< CatalycityBase > &gamma, const std::vector< VariableIndex > &species_vars, VariableIndex T_var, libMesh::Real p0, unsigned int reactant_species_idx)
libMesh::UniquePtr< CatalycityBase > _gamma_s
Deprecated.
const Chemistry & _chemistry
Deprecated.
std::vector< VariableIndex > _species_vars
virtual ~CatalyticWallBase()
libMesh::Real rho(libMesh::Real T, libMesh::Real p0, libMesh::Real R_mix) const