25 #ifndef GRINS_CATALYTIC_WALL_BASE_H
26 #define GRINS_CATALYTIC_WALL_BASE_H
29 #include "boost/scoped_ptr.hpp"
35 #include "libmesh/libmesh_common.h"
45 class AssemblyContext;
48 template<
typename Chemistry>
55 const unsigned int reactant_species_idx );
61 const bool request_jacobian ) =0;
63 virtual void init(
const libMesh::FEMSystem& system );
68 libMesh::Real
omega_dot(
const libMesh::Real rho_s,
const libMesh::Real T )
const;
70 libMesh::Real
domega_dot_dws(
const libMesh::Real rho_s,
const libMesh::Real w_s,
71 const libMesh::Real T,
const libMesh::Real R )
const;
73 libMesh::Real
domega_dot_dT(
const libMesh::Real rho_s,
const libMesh::Real T )
const;
84 const libMesh::Real
_C;
91 template<
typename Chemistry>
95 return rho_s*(*_gamma_s)(T)*_C*std::sqrt(T);
98 template<
typename Chemistry>
101 const libMesh::Real T,
const libMesh::Real R )
const
103 return (1.0/w_s - rho_s/R)*(this->omega_dot( rho_s, T ));
106 template<
typename Chemistry>
110 libMesh::Real sqrtT = std::sqrt(T);
112 return rho_s*_C*( 0.5/sqrtT*(*_gamma_s)(T) + sqrtT*(*_gamma_s).dT(T) );
117 #endif // GRINS_CATALYTIC_WALL_BASE_H
void set_catalycity_params(const std::vector< libMesh::Real > ¶ms)
virtual void apply_fluxes(AssemblyContext &context, const CachedValues &cache, const bool request_jacobian)=0
CatalyticWallBase(const Chemistry &chem_mixture, CatalycityBase &gamma, const unsigned int reactant_species_idx)
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
boost::scoped_ptr< CatalycityBase > _gamma_s
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 ~CatalyticWallBase()
virtual void init(const libMesh::FEMSystem &system)
const Chemistry & _chemistry
void set_axisymmetric(bool is_axisymmetric)