GRINS-0.7.0
List of all members | Public Member Functions | Protected Member Functions
GRINS::AxisymmetryBCFactory Class Reference

r-coordinate is assumed to be the x-coordinate in the axisymmetric case, so we need to pin the x-coordinate. More...

#include <symmetry_type_bc_factories.h>

Inheritance diagram for GRINS::AxisymmetryBCFactory:
Inheritance graph
[legend]
Collaboration diagram for GRINS::AxisymmetryBCFactory:
Collaboration graph
[legend]

Public Member Functions

 AxisymmetryBCFactory (const std::string &bc_type_name)
 

Protected Member Functions

virtual void trim_var_names (std::vector< std::string > &var_names)
 Trim out the variables that are pinned. More...
 

Additional Inherited Members

- Private Member Functions inherited from GRINS::SymmetryTypeBCFactories
 SymmetryTypeBCFactories (const std::string &bc_type_name)
 
 ~SymmetryTypeBCFactories ()
 
virtual libMesh::UniquePtr< libMesh::FunctionBase< libMesh::Number > > build_func (const GetPot &, MultiphysicsSystem &, std::vector< std::string > &var_names, const std::string &)
 All the variables are 0, so just return 0 function. More...
 
- Private Member Functions inherited from GRINS::DirichletBCFactoryFunctionBase< libMesh::FunctionBase< libMesh::Number > >
 DirichletBCFactoryFunctionBase (const std::string &bc_type_name)
 
 ~DirichletBCFactoryFunctionBase ()
 
libMesh::UniquePtr< libMesh::DirichletBoundary > make_dirichlet_boundary (const std::set< BoundaryID > &bc_ids, const libMesh::System &system, libMesh::UniquePtr< libMesh::FunctionBase< libMesh::Number > > &func, const std::vector< VariableIndex > &var_indices)
 Dispatch, based on FunctionType, to the correct DirchletBoundary construction. More...
 
virtual const std::vector< std::string > & get_var_names () const
 Helper function that can be overridded in subclasses. More...
 
- Private Member Functions inherited from GRINS::DirichletBCFactoryAbstract
 DirichletBCFactoryAbstract (const std::string &bc_type_name)
 
 ~DirichletBCFactoryAbstract ()
 
void check_for_vars (const GetPot &input, const std::string &section, const std::vector< std::string > &var_names, std::set< std::string > *vars_found=NULL)
 Helper function. More...
 
- Private Member Functions inherited from GRINS::BCFactoryAbstract< libMesh::DirichletBoundary >
 BCFactoryAbstract (const std::string &bc_type_name)
 
 ~BCFactoryAbstract ()
 
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
 
virtual void check_state () const
 Helper function to reduce code duplication. More...
 
virtual void reset_state ()
 Helper function to redue code duplication. More...
 
- Private Member Functions inherited from GRINS::FactoryWithGetPot< libMesh::DirichletBoundary >
 FactoryWithGetPot (const std::string &name)
 
 ~FactoryWithGetPot ()
 
- Static Private Member Functions inherited from GRINS::BCFactoryAbstract< libMesh::DirichletBoundary >
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 Private Member Functions inherited from GRINS::FactoryWithGetPot< libMesh::DirichletBoundary >
static void set_getpot (const GetPot &input)
 
- Static Private Attributes inherited from GRINS::BCFactoryAbstract< libMesh::DirichletBoundary >
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 Private Attributes inherited from GRINS::FactoryWithGetPot< libMesh::DirichletBoundary >
static const GetPot * _input
 We store only a raw pointer here because we can't make a copy. More...
 

Detailed Description

r-coordinate is assumed to be the x-coordinate in the axisymmetric case, so we need to pin the x-coordinate.

Definition at line 202 of file symmetry_type_bc_factories.h.

Constructor & Destructor Documentation

GRINS::AxisymmetryBCFactory::AxisymmetryBCFactory ( const std::string &  bc_type_name)
inline

Definition at line 205 of file symmetry_type_bc_factories.h.

206  : SymmetryTypeBCFactories(bc_type_name)
207  {}
SymmetryTypeBCFactories(const std::string &bc_type_name)

Member Function Documentation

virtual void GRINS::AxisymmetryBCFactory::trim_var_names ( std::vector< std::string > &  var_names)
inlineprotectedvirtual

Trim out the variables that are pinned.

Symmetry-type boundary conditions amount to pinning a subset of the group of variables, e.g. Velocity or Displacement. Subclasses merely implement this method and remove the variables from var_names that DON'T need to be pinned.

Implements GRINS::SymmetryTypeBCFactories.

Definition at line 210 of file symmetry_type_bc_factories.h.

211  {
212  if( var_names.size() !=2 )
213  libmesh_error_msg("ERROR: Axisymmetry requires 2 components in the Variable!");
214 
215  // We want to pin the x-components, so remove the y-component
216  var_names.pop_back();
217 
218  libmesh_assert_equal_to(var_names.size(), 1);
219  }

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

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