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;
93 libMesh::Real
eval_gamma( libMesh::Real T )
const;
109 const libMesh::Real
_C;
126 template<
typename Chemistry>
133 template<
typename Chemistry>
140 value = (*_gamma_s)(T);
142 value = (*_gamma_ptr)(T);
149 template<
typename Chemistry>
156 value = (*_gamma_s).dT(T);
158 value = (*_gamma_ptr).dT(T);
165 template<
typename Chemistry>
169 return rho_s*this->eval_gamma(T)*_C*std::sqrt(T);
172 template<
typename Chemistry>
175 const libMesh::Real T,
const libMesh::Real R )
const
177 return (1.0/w_s - rho_s/R)*(this->omega_dot( rho_s, T ));
180 template<
typename Chemistry>
184 libMesh::Real sqrtT = std::sqrt(T);
186 return rho_s*_C*( 0.5/sqrtT*this->eval_gamma(T) + sqrtT*this->eval_gamma_dT(T) );
191 #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
virtual void register_parameter(const std::string ¶m_name, libMesh::ParameterMultiAccessor< libMesh::Number > ¶m_pointer) const
Each subclass will register its copy of an independent.
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