GRINS-0.8.0
List of all members | Public Member Functions | Protected Member Functions
GRINS::ScalarVariableFactory< VariableType > Class Template Reference

Factory to build SCALAR variable. More...

#include <variable_factory.h>

Inheritance diagram for GRINS::ScalarVariableFactory< VariableType >:
Inheritance graph
[legend]
Collaboration diagram for GRINS::ScalarVariableFactory< VariableType >:
Collaboration graph
[legend]

Public Member Functions

 ScalarVariableFactory (const std::string &name)
 
 ~ScalarVariableFactory ()
 
- Public Member Functions inherited from GRINS::VariableFactoryBasic< VariableType >
 VariableFactoryBasic (const std::string &name)
 
 ~VariableFactoryBasic ()
 
- Public Member Functions inherited from GRINS::VariableFactoryBase
 VariableFactoryBase (const std::string &name)
 
 ~VariableFactoryBase ()
 
- Public Member Functions inherited from GRINS::VariableFactoryAbstract
 VariableFactoryAbstract (const std::string &name)
 
 ~VariableFactoryAbstract ()
 
virtual libMesh::UniquePtr< FEVariablesBasecreate ()
 Subclasses implement the actual construction of the Base object in create(). More...
 
- Public Member Functions inherited from GRINS::FactoryWithGetPot< FEVariablesBase >
 FactoryWithGetPot (const std::string &name)
 
 ~FactoryWithGetPot ()
 
- Public Member Functions inherited from GRINS::FactoryAbstract< FEVariablesBase >
virtual ~FactoryAbstract ()
 

Protected Member Functions

virtual std::string parse_fe_family_impl (const GetPot &input, const std::string &var_section)
 
- Protected Member Functions inherited from GRINS::VariableFactoryBasic< VariableType >
virtual libMesh::UniquePtr< FEVariablesBasebuild_fe_var (const std::vector< std::string > &var_names, const std::vector< VariableIndex > &var_indices, const std::set< libMesh::subdomain_id_type > &subdomain_ids)
 Subclasses implement construction of the FEVariablesBase object using the var_names and var_indices. More...
 
virtual std::vector< std::string > parse_var_names (const GetPot &input, const std::string &var_section)
 The basic factory implementation looks in [Variables/<VariableName>/names]. More...
 
- Protected Member Functions inherited from GRINS::VariableFactoryBase
virtual std::string parse_fe_order_impl (const GetPot &input, const std::string &var_section)
 
- Protected Member Functions inherited from GRINS::VariableFactoryAbstract
virtual void check_create_state () const
 Helper function to check required data is set when calling create() More...
 
virtual void reset_create_state ()
 Helper function to reset data before next call to create() More...
 
std::string parse_var_option (const GetPot &input, const std::string &var_section, const std::string &option, const std::string &default_val) const
 
- Protected Member Functions inherited from GRINS::FactoryAbstract< FEVariablesBase >
 FactoryAbstract (const std::string &name)
 Constructor is protected. Use the build() method to construct Base objects. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from GRINS::VariableFactoryAbstract
static std::vector< std::string > build_var_names (const std::string &name)
 Build the variable names for the FEVariablesBase type (name), returned in the std::vector. More...
 
static std::string parse_fe_family (const std::string &name)
 
static std::string parse_fe_order (const std::string &name)
 
static void set_var_names (const std::vector< std::string > &var_names)
 Set the variable names before calling create() More...
 
static void set_var_indices (const std::vector< VariableIndex > &var_indices)
 Set the variable indices before calling create() More...
 
static void set_var_section (const std::string &var_section)
 Set the section for the input file before calling build_var_names() More...
 
static void set_subdomain_ids (const std::set< libMesh::subdomain_id_type > &subdomain_ids)
 
- Static Public Member Functions inherited from GRINS::FactoryWithGetPot< FEVariablesBase >
static void set_getpot (const GetPot &input)
 
- Static Public Member Functions inherited from GRINS::FactoryAbstract< FEVariablesBase >
static libMesh::UniquePtr< FEVariablesBasebuild (const std::string &name)
 Use this method to build objects of type Base. More...
 
- Static Protected Member Functions inherited from GRINS::VariableFactoryAbstract
static void check_build_parse_state ()
 Helper function to check required data is set when calling build_* or parse_* methods. More...
 
static void reset_build_parse_state ()
 Helper function to check required data is set when calling build_* or parse_* methods. More...
 
- Static Protected Member Functions inherited from GRINS::FactoryAbstract< FEVariablesBase >
static FactoryAbstract< FEVariablesBase > & get_factory (const std::string &name)
 Helper method that looks up the factory and returns it if present, or error if it's not. More...
 
static DerivedType & get_factory_subclass (const std::string &name)
 Like get_factory, but will downcast to DerivedType. More...
 
static std::map< std::string, FactoryAbstract< FEVariablesBase > * > & factory_map ()
 
- Static Protected Attributes inherited from GRINS::VariableFactoryAbstract
static const std::vector< std::string > * _var_names = NULL
 Variable component names needed for FEVariableBase construction. More...
 
static const std::vector< VariableIndex > * _var_indices = NULL
 Variable component indices needed for FEVariableBase construction. More...
 
static std::string _var_section = std::string("DIE!")
 Section of input to parse variable names in build_var_names. More...
 
static const std::set< libMesh::subdomain_id_type > * _subdomain_ids = NULL
 Subdomain ids for the variable. More...
 
- Static Protected Attributes inherited from GRINS::FactoryWithGetPot< FEVariablesBase >
static const GetPot * _input
 We store only a raw pointer here because we can't make a copy. More...
 

Detailed Description

template<typename VariableType>
class GRINS::ScalarVariableFactory< VariableType >

Factory to build SCALAR variable.

In particular, we don't let the user set fe_family in the input file since the implicit assumption is that this is a SCALAR variable.

Definition at line 197 of file variable_factory.h.

Constructor & Destructor Documentation

template<typename VariableType>
GRINS::ScalarVariableFactory< VariableType >::ScalarVariableFactory ( const std::string &  name)
inline

Definition at line 201 of file variable_factory.h.

202  : VariableFactoryBasic<VariableType>(name)
203  {}
template<typename VariableType>
GRINS::ScalarVariableFactory< VariableType >::~ScalarVariableFactory ( )
inline

Definition at line 205 of file variable_factory.h.

205 {}

Member Function Documentation

template<typename VariableType>
virtual std::string GRINS::ScalarVariableFactory< VariableType >::parse_fe_family_impl ( const GetPot &  input,
const std::string &  var_section 
)
inlineprotectedvirtual

Reimplemented from GRINS::VariableFactoryBase.

Definition at line 209 of file variable_factory.h.

210  {
211  if( input.have_variable(var_section+"/fe_family") )
212  libmesh_error_msg("ERROR: Cannot specify fe_family for ScalarVariable. It is implicitly SCALAR!");
213 
214  return std::string("SCALAR");
215  }

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

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