GRINS-0.7.0
List of all members | Public Member Functions | Protected Member Functions
GRINS::ParsedFunctionNeumannOldStyleBCFactory< FunctionType > Class Template Referenceabstract

#include <parsed_function_neumann_old_style_bc_factory.h>

Inheritance diagram for GRINS::ParsedFunctionNeumannOldStyleBCFactory< FunctionType >:
Inheritance graph
[legend]
Collaboration diagram for GRINS::ParsedFunctionNeumannOldStyleBCFactory< FunctionType >:
Collaboration graph
[legend]

Public Member Functions

 ParsedFunctionNeumannOldStyleBCFactory (const std::string &bc_type_name)
 
 ~ParsedFunctionNeumannOldStyleBCFactory ()
 
- Public Member Functions inherited from GRINS::NeumannBCOldStyleFactoryAbstract
 NeumannBCOldStyleFactoryAbstract (const std::string &bc_type_name)
 
 ~NeumannBCOldStyleFactoryAbstract ()
 
- Public Member Functions inherited from GRINS::NeumannBCFactoryAbstract
 NeumannBCFactoryAbstract (const std::string &bc_type_name)
 
 ~NeumannBCFactoryAbstract ()
 
virtual libMesh::UniquePtr< NeumannBCContainercreate ()
 Creates NeumannBCContainer for this Factory object. More...
 
- Public Member Functions inherited from GRINS::BCFactoryAbstract< NeumannBCContainer >
 BCFactoryAbstract (const std::string &bc_type_name)
 
 ~BCFactoryAbstract ()
 
- Public Member Functions inherited from GRINS::FactoryWithGetPot< NeumannBCContainer >
 FactoryWithGetPot (const std::string &name)
 
 ~FactoryWithGetPot ()
 
- Public Member Functions inherited from GRINS::ParsedFunctionNeumannBCFactoryHelper< FunctionType >
 ParsedFunctionNeumannBCFactoryHelper ()
 
 ~ParsedFunctionNeumannBCFactoryHelper ()
 

Protected Member Functions

virtual SharedPtr< NeumannBCAbstractbuild_neumann_func (const GetPot &input, MultiphysicsSystem &system, const FEVariablesBase &fe_var, const std::string &section)
 Builds the NeumannBCAbstract object for Neumann boundary conditions. More...
 
virtual std::string flux_input () const =0
 
- Protected Member Functions inherited from GRINS::NeumannBCOldStyleFactoryAbstract
virtual void check_state () const
 Helper function to reduce code duplication. More...
 
virtual void reset_state ()
 Helper function to reduce code duplication. More...
 
- Protected Member Functions inherited from GRINS::NeumannBCFactoryAbstract
void check_for_flux (const GetPot &input, const std::string &section, const std::vector< std::string > &var_names)
 Checks that the flux variable has been set. More...
 
- Protected Member Functions inherited from GRINS::BCFactoryAbstract< NeumannBCContainer >
void check_for_multiple_expressions (const GetPot &input, const std::string &section, const std::string &var_name) const
 Ensure that there is only one expression for the [Section/var_name] variable. More...
 
void build_var_indices (const MultiphysicsSystem &system, const std::vector< std::string > &var_names, std::vector< VariableIndex > &var_indices) const
 
- Protected Member Functions inherited from GRINS::ParsedFunctionNeumannBCFactoryHelper< FunctionType >
SharedPtr< NeumannBCAbstractbuild_neumman_func_common (const GetPot &input, MultiphysicsSystem &system, const FEVariablesBase &fe_var, const std::string &flux_input)
 Helper function containing common code. More...
 
SharedPtr< NeumannBCAbstractbuild_parsed_neumann_func (MultiphysicsSystem &system, const std::string &expression, VariableIndex var_idx)
 Helper function that builds the right BC object depending on the FunctionType. More...
 
SharedPtr< NeumannBCAbstractbuild_composite_parsed_neumann_func (MultiphysicsSystem &system, const std::vector< std::string > &expressions, const std::vector< VariableIndex > &var_indices)
 Helper function that builds the right CompositeBC object depending on the FunctionType. More...
 
template<>
SharedPtr< NeumannBCAbstractbuild_parsed_neumann_func (MultiphysicsSystem &, const std::string &expression, VariableIndex var_idx)
 
template<>
SharedPtr< NeumannBCAbstractbuild_parsed_neumann_func (MultiphysicsSystem &system, const std::string &expression, VariableIndex var_idx)
 
template<>
SharedPtr< NeumannBCAbstractbuild_composite_parsed_neumann_func (MultiphysicsSystem &, const std::vector< std::string > &expressions, const std::vector< VariableIndex > &var_indices)
 
template<>
SharedPtr< NeumannBCAbstractbuild_composite_parsed_neumann_func (MultiphysicsSystem &system, const std::vector< std::string > &expressions, const std::vector< VariableIndex > &var_indices)
 

Additional Inherited Members

- Static Public Member Functions inherited from GRINS::NeumannBCOldStyleFactoryAbstract
static void set_value_var_old_style (const std::string &value_var)
 Input variable for parsing old style. More...
 
static void set_value_index_old_style (unsigned int idx)
 Input variable index for parsing old style. More...
 
- Static Public Member Functions inherited from GRINS::BCFactoryAbstract< NeumannBCContainer >
static void set_system (MultiphysicsSystem &system)
 
static void set_bc_ids (const std::set< BoundaryID > &bc_ids)
 Boundary id for the current boundary condition section. More...
 
static void set_fe_var (const FEVariablesBase &fe_var)
 Active variable for the current boundary condition. More...
 
static void set_section (const std::string &section)
 Sets the current section of the input file. More...
 
static bool have_bc_type (const std::string &bc_type)
 
- Static Public Member Functions inherited from GRINS::FactoryWithGetPot< NeumannBCContainer >
static void set_getpot (const GetPot &input)
 
- Protected Attributes inherited from GRINS::NeumannBCFactoryAbstract
bool _is_homogeneous
 Track if this is a homogeneous Neumann boundary condition. More...
 
- Static Protected Attributes inherited from GRINS::NeumannBCOldStyleFactoryAbstract
static std::string _value_var_old_style = std::string("DIE!")
 
static unsigned int _value_idx_old_style = libMesh::invalid_uint
 
- Static Protected Attributes inherited from GRINS::BCFactoryAbstract< NeumannBCContainer >
static MultiphysicsSystem_system
 We store only a raw pointer here because we can't make a copy. More...
 
static const std::set< BoundaryID > * _bc_ids
 BoundaryID for constructing a particular boundary condition. More...
 
static const FEVariablesBase_fe_var
 The FEVariablesBase class associated with the boundary condition being built. More...
 
static std::string _section
 
- Static Protected Attributes inherited from GRINS::FactoryWithGetPot< NeumannBCContainer >
static const GetPot * _input
 We store only a raw pointer here because we can't make a copy. More...
 

Detailed Description

template<typename FunctionType>
class GRINS::ParsedFunctionNeumannOldStyleBCFactory< FunctionType >

Definition at line 37 of file parsed_function_neumann_old_style_bc_factory.h.

Constructor & Destructor Documentation

template<typename FunctionType >
GRINS::ParsedFunctionNeumannOldStyleBCFactory< FunctionType >::ParsedFunctionNeumannOldStyleBCFactory ( const std::string &  bc_type_name)
inline

Definition at line 42 of file parsed_function_neumann_old_style_bc_factory.h.

43  : NeumannBCOldStyleFactoryAbstract(bc_type_name),
44  ParsedFunctionNeumannBCFactoryHelper<FunctionType>()
45  {}
NeumannBCOldStyleFactoryAbstract(const std::string &bc_type_name)
template<typename FunctionType >
GRINS::ParsedFunctionNeumannOldStyleBCFactory< FunctionType >::~ParsedFunctionNeumannOldStyleBCFactory ( )
inline

Definition at line 47 of file parsed_function_neumann_old_style_bc_factory.h.

47 {};

Member Function Documentation

template<typename FunctionType >
SharedPtr< NeumannBCAbstract > GRINS::ParsedFunctionNeumannOldStyleBCFactory< FunctionType >::build_neumann_func ( const GetPot &  input,
MultiphysicsSystem system,
const FEVariablesBase fe_var,
const std::string &  section 
)
protectedvirtual

Builds the NeumannBCAbstract object for Neumann boundary conditions.

Subclasses should override this function to build the NeumannBCAbstract object that corresponds to the variables passed in var_names. The FEVariableBase object corresponds to the variable associated with this boundary condition, e.g. Velocity. The section arguments corresponds to the section to parse for the flux in the input file, e.g. input(section+"/"+flux). Note that for Variables with more than one component, the flux input should be a vector the size of the var_names object, even if one of the components is zero.

Implements GRINS::NeumannBCFactoryAbstract.

Definition at line 32 of file parsed_function_neumann_old_style_bc_factory.C.

References GRINS::FEVariablesBase::active_var_names().

36  {
37  libmesh_assert_equal_to( this->_bc_ids->size(), 1 );
38 
39  std::string flux_input = section+"/"+this->flux_input()+"_"+
40  StringUtilities::T_to_string<unsigned int>( *(this->_bc_ids->begin()) );
41 
42  // Make sure flux input specified and consistent with var_names size
43  this->check_for_flux(input,flux_input,fe_var.active_var_names());
44 
45  return this->build_neumman_func_common( input, system, fe_var, flux_input );
46  }
virtual std::string flux_input() const =0
static const std::set< BoundaryID > * _bc_ids
BoundaryID for constructing a particular boundary condition.
void check_for_flux(const GetPot &input, const std::string &section, const std::vector< std::string > &var_names)
Checks that the flux variable has been set.
SharedPtr< NeumannBCAbstract > build_neumman_func_common(const GetPot &input, MultiphysicsSystem &system, const FEVariablesBase &fe_var, const std::string &flux_input)
Helper function containing common code.
template<typename FunctionType >
virtual std::string GRINS::ParsedFunctionNeumannOldStyleBCFactory< FunctionType >::flux_input ( ) const
protectedpure virtual

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

Generated on Thu Jun 2 2016 21:52:31 for GRINS-0.7.0 by  doxygen 1.8.10