GRINS-0.8.0
List of all members | Public Member Functions | Protected Member Functions | Protected Attributes
GRINS::CatalyticWallNeumannBCFactoryCommon< ImplType > Class Template Reference

Factory helper class for building catalytic wall Neumann boundary conditions. More...

#include <catalytic_wall_neumann_bc_factory_common.h>

Inheritance diagram for GRINS::CatalyticWallNeumannBCFactoryCommon< ImplType >:
Inheritance graph
[legend]
Collaboration diagram for GRINS::CatalyticWallNeumannBCFactoryCommon< ImplType >:
Collaboration graph
[legend]

Public Member Functions

 CatalyticWallNeumannBCFactoryCommon ()
 
 ~CatalyticWallNeumannBCFactoryCommon ()
 

Protected Member Functions

SharedPtr< NeumannBCAbstractbuild_catalytic_wall_common (const GetPot &input, const FEVariablesBase &fe_var, const std::string &material, const std::string &reaction, SharedPtr< CatalycityBase > &gamma_ptr, libMesh::Real p0, std::string &thermochem_lib)
 
void extract_species_vars (const FEVariablesBase &fe_var, std::vector< VariableIndex > &species_vars) const
 
void extract_material (const FEVariablesBase &fe_var, std::string &material) const
 
VariableIndex extract_temp_var () const
 

Protected Attributes

ImplType _wall_impl
 

Detailed Description

template<typename ImplType>
class GRINS::CatalyticWallNeumannBCFactoryCommon< ImplType >

Factory helper class for building catalytic wall Neumann boundary conditions.

Note for catalytic walls, we're currently assuming that both SpeciesMassFractions and Temperature FEVariables are in the system.

Definition at line 45 of file catalytic_wall_neumann_bc_factory_common.h.

Constructor & Destructor Documentation

template<typename ImplType>
GRINS::CatalyticWallNeumannBCFactoryCommon< ImplType >::CatalyticWallNeumannBCFactoryCommon ( )
inline

Definition at line 49 of file catalytic_wall_neumann_bc_factory_common.h.

49 {};
template<typename ImplType>
GRINS::CatalyticWallNeumannBCFactoryCommon< ImplType >::~CatalyticWallNeumannBCFactoryCommon ( )
inline

Definition at line 51 of file catalytic_wall_neumann_bc_factory_common.h.

51 {};

Member Function Documentation

template<typename ImpType >
SharedPtr< NeumannBCAbstract > GRINS::CatalyticWallNeumannBCFactoryCommon< ImpType >::build_catalytic_wall_common ( const GetPot &  input,
const FEVariablesBase fe_var,
const std::string &  material,
const std::string &  reaction,
SharedPtr< CatalycityBase > &  gamma_ptr,
libMesh::Real  p0,
std::string &  thermochem_lib 
)
protected

Definition at line 44 of file catalytic_wall_neumann_bc_factory_common.C.

References GRINS::FEVariablesBase::active_var_names().

51  {
52  // Extract species variables and material
53  std::vector<VariableIndex> species_vars;
54  this->extract_species_vars( fe_var, species_vars );
55 
56  libmesh_assert_equal_to( fe_var.active_var_names().size(), species_vars.size() );
57 
58  // Extract Temperature variable index.
59  VariableIndex T_var = this->extract_temp_var();
60 
61  return _wall_impl.build_catalytic_wall(input,reaction,gamma_ptr,species_vars,
62  material,T_var,p0,thermochem_lib);
63  }
unsigned int VariableIndex
More descriptive name of the type used for variable indices.
Definition: var_typedefs.h:42
void extract_species_vars(const FEVariablesBase &fe_var, std::vector< VariableIndex > &species_vars) const
template<typename ImpType >
void GRINS::CatalyticWallNeumannBCFactoryCommon< ImpType >::extract_material ( const FEVariablesBase fe_var,
std::string &  material 
) const
protected

Definition at line 73 of file catalytic_wall_neumann_bc_factory_common.C.

References GRINS::SpeciesMassFractionsVariable::material().

75  {
76  const SpeciesMassFractionsVariable& species_fe_var =
77  libMesh::cast_ref<const SpeciesMassFractionsVariable&>(fe_var);
78 
79  material = species_fe_var.material();
80  }
template<typename ImpType >
void GRINS::CatalyticWallNeumannBCFactoryCommon< ImpType >::extract_species_vars ( const FEVariablesBase fe_var,
std::vector< VariableIndex > &  species_vars 
) const
protected

Definition at line 67 of file catalytic_wall_neumann_bc_factory_common.C.

References GRINS::FEVariablesBase::var_indices().

68  {
69  species_vars = fe_var.var_indices();
70  }
template<typename ImpType >
VariableIndex GRINS::CatalyticWallNeumannBCFactoryCommon< ImpType >::extract_temp_var ( ) const
protected

Definition at line 83 of file catalytic_wall_neumann_bc_factory_common.C.

References GRINS::GRINSPrivate::VariableWarehouse::get_variable(), GRINS::VariablesParsing::temperature_section(), and GRINS::FEVariablesBase::var_indices().

84  {
85  // This will throw an error is the temperature variables are not there
86  const FEVariablesBase& temp_fe_var_base =
88 
89  const PrimitiveTempFEVariables& temp_fe_var =
90  libMesh::cast_ref<const PrimitiveTempFEVariables&>(temp_fe_var_base);
91 
92  std::vector<VariableIndex> temp_var = temp_fe_var.var_indices();
93 
94  libmesh_assert_equal_to( temp_var.size(), 1 );
95 
96  return temp_var[0];
97  }
static std::string temperature_section()
static FEVariablesBase & get_variable(const std::string &var_name)

Member Data Documentation

template<typename ImplType>
ImplType GRINS::CatalyticWallNeumannBCFactoryCommon< ImplType >::_wall_impl
protected

Definition at line 64 of file catalytic_wall_neumann_bc_factory_common.h.


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

Generated on Tue Dec 19 2017 12:47:30 for GRINS-0.8.0 by  doxygen 1.8.9.1