Holds variables and provides some services. More...
#include <VariableWarehouse.h>
Public Member Functions | |
VariableWarehouse () | |
void | add (const std::string &var_name, std::shared_ptr< MooseVariableBase > var) |
Add a variable. More... | |
void | addBoundaryVar (BoundaryID bnd, const MooseVariableFieldBase *var) |
Add a boundary variable. More... | |
void | addBoundaryVar (const std::set< BoundaryID > &boundary_ids, const MooseVariableFieldBase *var) |
Add a variable to a set of boundaries. More... | |
void | addBoundaryVars (const std::set< BoundaryID > &boundary_ids, const std::unordered_map< std::string, std::vector< MooseVariableFieldBase *>> &vars) |
Add a map of variables to a set of boundaries. More... | |
MooseVariableBase * | getVariable (const std::string &var_name) const |
Get a variable from the warehouse. More... | |
MooseVariableBase * | getVariable (unsigned int var_number) const |
Get a variable from the warehouse. More... | |
template<typename T > | |
MooseVariableFE< T > * | getFieldVariable (const std::string &var_name) |
Get a finite element variable from the warehouse of either Real or RealVectorValue type. More... | |
template<typename T > | |
MooseVariableFE< T > * | getFieldVariable (unsigned int var_number) |
Get a finite element variable from the warehouse of either Real or RealVectorValue type. More... | |
template<typename T > | |
MooseVariableField< T > * | getActualFieldVariable (const std::string &var_name) |
This should be called getFieldVariable, but that name is already taken by a legacy function. More... | |
template<typename T > | |
MooseVariableFV< T > * | getFVVariable (const std::string &var_name) |
Get a finite volume variable. More... | |
template<typename T > | |
MooseVariableField< T > * | getActualFieldVariable (unsigned int var_number) |
This should be called getFieldVariable, but that name is already taken by a legacy function. More... | |
const std::vector< VariableName > & | names () const |
Get the list of all variable names. More... | |
const std::vector< MooseVariableFieldBase * > & | fieldVariables () const |
Get the list of variables. More... | |
const std::set< const MooseVariableFieldBase * > & | boundaryVars (BoundaryID bnd) const |
Get the list of variables that needs to be reinitialized on a given boundary. More... | |
const std::vector< MooseVariableScalar * > & | scalars () const |
Get the list of scalar variables. More... | |
void | initialSetup () |
Call initialSetup for all variables. More... | |
void | timestepSetup () |
Call timestepSetup for all variables. More... | |
void | customSetup (const ExecFlagType &exec_type) |
Call setup on a particular execute flag for all variables. More... | |
void | subdomainSetup () |
Call subdomainSetup for all variables. More... | |
void | residualSetup () |
Call residualSetup for all variables. More... | |
void | jacobianSetup () |
Call jacobianSetup for all variables. More... | |
void | clearAllDofIndices () |
Clear all dof indices from each variable. More... | |
void | setActiveVariableCoupleableVectorTags (const std::set< TagID > &vtags) |
Set the active vector tags for the variables. More... | |
void | setActiveScalarVariableCoupleableVectorTags (const std::set< TagID > &vtags) |
Set the active vector tags for the variables. More... | |
const std::map< unsigned int, std::shared_ptr< MooseVariableBase > > & | numberToVariableMap () const |
Map from variable number to variable pointer. More... | |
template<> | |
MooseVariableFE< RealVectorValue > * | getFieldVariable (const std::string &var_name) |
template<> | |
MooseVariableFE< RealVectorValue > * | getFieldVariable (unsigned int var_number) |
template<> | |
MooseVariableFE< RealEigenVector > * | getFieldVariable (const std::string &var_name) |
template<> | |
MooseVariableFE< RealEigenVector > * | getFieldVariable (unsigned int var_number) |
template<> | |
MooseVariableField< RealVectorValue > * | getActualFieldVariable (const std::string &var_name) |
template<> | |
MooseVariableField< RealVectorValue > * | getActualFieldVariable (unsigned int var_number) |
template<> | |
MooseVariableField< RealEigenVector > * | getActualFieldVariable (const std::string &var_name) |
template<> | |
MooseVariableField< RealEigenVector > * | getActualFieldVariable (unsigned int var_number) |
template<> | |
VectorMooseVariable * | getFieldVariable (const std::string &var_name) |
template<> | |
VectorMooseVariable * | getFieldVariable (unsigned int var_number) |
template<> | |
ArrayMooseVariable * | getFieldVariable (const std::string &var_name) |
template<> | |
ArrayMooseVariable * | getFieldVariable (unsigned int var_number) |
template<> | |
MooseVariableField< RealVectorValue > * | getActualFieldVariable (const std::string &var_name) |
template<> | |
MooseVariableField< RealVectorValue > * | getActualFieldVariable (unsigned int var_number) |
template<> | |
MooseVariableField< RealEigenVector > * | getActualFieldVariable (const std::string &var_name) |
template<> | |
MooseVariableField< RealEigenVector > * | getActualFieldVariable (unsigned int var_number) |
Protected Attributes | |
std::vector< VariableName > | _names |
list of variable names More... | |
std::vector< MooseVariableFieldBase * > | _vars |
list of finite element variables More... | |
HashMap< unsigned, MooseVariable * > | _regular_vars_by_number |
map of non-vector finite element variables with unsigned keys More... | |
HashMap< std::string, MooseVariableFVReal * > | _fv_vars_by_name |
map of non-vector finite element variables with name keys More... | |
HashMap< std::string, MooseLinearVariableFVReal * > | _linear_fv_vars_by_name |
map of non-vector linear finite volume variables with name keys More... | |
HashMap< std::string, MooseVariable * > | _regular_vars_by_name |
map of non-vector finite element variables with name keys More... | |
HashMap< unsigned, MooseVariableFVReal * > | _fv_vars_by_number |
map of non-vector finite element variables with unsigned keys More... | |
HashMap< unsigned, MooseLinearVariableFVReal * > | _linear_fv_vars_by_number |
map of non-vector finite element variables with unsigned keys More... | |
HashMap< std::string, VectorMooseVariable * > | _vector_vars_by_name |
map of vector finite element variables with name keys More... | |
HashMap< unsigned, VectorMooseVariable * > | _vector_vars_by_number |
map of vector finite element variables with unsigned keys More... | |
HashMap< std::string, ArrayMooseVariable * > | _array_vars_by_name |
map of vector finite element variables with name keys More... | |
HashMap< unsigned, ArrayMooseVariable * > | _array_vars_by_number |
map of vector finite element variables with unsigned keys More... | |
std::map< std::string, MooseVariableBase * > | _var_name |
Name to variable mapping. More... | |
std::map< BoundaryID, std::set< const MooseVariableFieldBase * > > | _boundary_vars |
Map to variables that need to be evaluated on a boundary. More... | |
std::vector< MooseVariableScalar * > | _scalar_vars |
list of all scalar, non-finite element variables More... | |
std::map< unsigned int, std::shared_ptr< MooseVariableBase > > | _all_objects |
All instances of objects. More... | |
Holds variables and provides some services.
Definition at line 49 of file VariableWarehouse.h.
VariableWarehouse::VariableWarehouse | ( | ) |
Definition at line 17 of file VariableWarehouse.C.
void VariableWarehouse::add | ( | const std::string & | var_name, |
std::shared_ptr< MooseVariableBase > | var | ||
) |
Add a variable.
var_name | The name of the variable |
var | Variable |
Definition at line 20 of file VariableWarehouse.C.
void VariableWarehouse::addBoundaryVar | ( | BoundaryID | bnd, |
const MooseVariableFieldBase * | var | ||
) |
Add a boundary variable.
bnd | The boundary id where this variable is defined |
var | The variable |
Definition at line 65 of file VariableWarehouse.C.
Referenced by addBoundaryVar(), and addBoundaryVars().
void VariableWarehouse::addBoundaryVar | ( | const std::set< BoundaryID > & | boundary_ids, |
const MooseVariableFieldBase * | var | ||
) |
Add a variable to a set of boundaries.
boundary_ids | The boundary ids where this variable is defined |
var | The variable |
Definition at line 71 of file VariableWarehouse.C.
void VariableWarehouse::addBoundaryVars | ( | const std::set< BoundaryID > & | boundary_ids, |
const std::unordered_map< std::string, std::vector< MooseVariableFieldBase *>> & | vars | ||
) |
Add a map of variables to a set of boundaries.
boundary_ids | The boundary ids where this variable is defined |
vars | A map of variables |
Definition at line 79 of file VariableWarehouse.C.
const std::set< const MooseVariableFEBase * > & VariableWarehouse::boundaryVars | ( | BoundaryID | bnd | ) | const |
Get the list of variables that needs to be reinitialized on a given boundary.
bnd | The boundary ID |
Definition at line 128 of file VariableWarehouse.C.
void VariableWarehouse::clearAllDofIndices | ( | ) |
Clear all dof indices from each variable.
Definition at line 302 of file VariableWarehouse.C.
void VariableWarehouse::customSetup | ( | const ExecFlagType & | exec_type | ) |
Call setup on a particular execute flag for all variables.
Definition at line 274 of file VariableWarehouse.C.
const std::vector< MooseVariableFEBase * > & VariableWarehouse::fieldVariables | ( | ) | const |
Get the list of variables.
Definition at line 116 of file VariableWarehouse.C.
MooseVariableField< T > * VariableWarehouse::getActualFieldVariable | ( | const std::string & | var_name | ) |
This should be called getFieldVariable, but that name is already taken by a legacy function.
Definition at line 203 of file VariableWarehouse.C.
MooseVariableField< T > * VariableWarehouse::getActualFieldVariable | ( | unsigned int | var_number | ) |
This should be called getFieldVariable, but that name is already taken by a legacy function.
Definition at line 216 of file VariableWarehouse.C.
MooseVariableField<RealVectorValue>* VariableWarehouse::getActualFieldVariable | ( | const std::string & | var_name | ) |
Definition at line 229 of file VariableWarehouse.C.
template MooseVariableField< Real > * VariableWarehouse::getActualFieldVariable< Real > | ( | const std::string & | var_name | ) |
Definition at line 247 of file VariableWarehouse.C.
template MooseVariableField< Real > * VariableWarehouse::getActualFieldVariable< Real > | ( | unsigned int | var_number | ) |
Definition at line 254 of file VariableWarehouse.C.
MooseVariableField<RealVectorValue>* VariableWarehouse::getActualFieldVariable | ( | unsigned int | var_number | ) |
Definition at line 238 of file VariableWarehouse.C.
MooseVariableField<RealEigenVector>* VariableWarehouse::getActualFieldVariable | ( | const std::string & | var_name | ) |
MooseVariableField<RealEigenVector>* VariableWarehouse::getActualFieldVariable | ( | unsigned int | var_number | ) |
MooseVariableField<RealVectorValue>* VariableWarehouse::getActualFieldVariable | ( | const std::string & | var_name | ) |
MooseVariableField<RealVectorValue>* VariableWarehouse::getActualFieldVariable | ( | unsigned int | var_number | ) |
MooseVariableFE< T > * VariableWarehouse::getFieldVariable | ( | const std::string & | var_name | ) |
Get a finite element variable from the warehouse of either Real or RealVectorValue type.
var_name | The name of the variable to retrieve |
Note this should actually be named getFieldFEVariable, but that would require fixing a lot of code in a lot of apps
Definition at line 153 of file VariableWarehouse.C.
MooseVariableFE< T > * VariableWarehouse::getFieldVariable | ( | unsigned int | var_number | ) |
Get a finite element variable from the warehouse of either Real or RealVectorValue type.
var_number | The number of the variable to retrieve |
Note this should actually be named getFieldFEVariable, but that would require fixing a lot of code in a lot of apps
Definition at line 160 of file VariableWarehouse.C.
VectorMooseVariable* VariableWarehouse::getFieldVariable | ( | const std::string & | var_name | ) |
Definition at line 167 of file VariableWarehouse.C.
VectorMooseVariable* VariableWarehouse::getFieldVariable | ( | unsigned int | var_number | ) |
Definition at line 175 of file VariableWarehouse.C.
template MooseVariableFE< Real > * VariableWarehouse::getFieldVariable< Real > | ( | const std::string & | var_name | ) |
Definition at line 183 of file VariableWarehouse.C.
template MooseVariableFE< Real > * VariableWarehouse::getFieldVariable< Real > | ( | unsigned int | var_number | ) |
Definition at line 191 of file VariableWarehouse.C.
MooseVariableFE<RealEigenVector>* VariableWarehouse::getFieldVariable | ( | unsigned int | var_number | ) |
MooseVariableFE<RealEigenVector>* VariableWarehouse::getFieldVariable | ( | const std::string & | var_name | ) |
MooseVariableFE<RealVectorValue>* VariableWarehouse::getFieldVariable | ( | const std::string & | var_name | ) |
MooseVariableFE<RealVectorValue>* VariableWarehouse::getFieldVariable | ( | unsigned int | var_number | ) |
MooseVariableFV< T > * VariableWarehouse::getFVVariable | ( | const std::string & | var_name | ) |
Get a finite volume variable.
Definition at line 270 of file VariableWarehouse.h.
MooseVariableBase * VariableWarehouse::getVariable | ( | const std::string & | var_name | ) | const |
Get a variable from the warehouse.
var_name | The name of the variable to retrieve |
Definition at line 90 of file VariableWarehouse.C.
MooseVariableBase * VariableWarehouse::getVariable | ( | unsigned int | var_number | ) | const |
Get a variable from the warehouse.
var_number | The number of the variable to retrieve |
Definition at line 100 of file VariableWarehouse.C.
void VariableWarehouse::initialSetup | ( | ) |
Call initialSetup for all variables.
Definition at line 260 of file VariableWarehouse.C.
void VariableWarehouse::jacobianSetup | ( | ) |
Call jacobianSetup for all variables.
Definition at line 288 of file VariableWarehouse.C.
const std::vector< VariableName > & VariableWarehouse::names | ( | ) | const |
Get the list of all variable names.
Definition at line 110 of file VariableWarehouse.C.
|
inline |
Map from variable number to variable pointer.
Includes both field and scalar variables
Definition at line 282 of file VariableWarehouse.h.
void VariableWarehouse::residualSetup | ( | ) |
Call residualSetup for all variables.
Definition at line 295 of file VariableWarehouse.C.
const std::vector< MooseVariableScalar * > & VariableWarehouse::scalars | ( | ) | const |
Get the list of scalar variables.
Definition at line 122 of file VariableWarehouse.C.
void VariableWarehouse::setActiveScalarVariableCoupleableVectorTags | ( | const std::set< TagID > & | vtags | ) |
Set the active vector tags for the variables.
Definition at line 316 of file VariableWarehouse.C.
Set the active vector tags for the variables.
Definition at line 309 of file VariableWarehouse.C.
void VariableWarehouse::subdomainSetup | ( | ) |
Call subdomainSetup for all variables.
Definition at line 281 of file VariableWarehouse.C.
void VariableWarehouse::timestepSetup | ( | ) |
Call timestepSetup for all variables.
Definition at line 267 of file VariableWarehouse.C.
|
protected |
All instances of objects.
Definition at line 265 of file VariableWarehouse.h.
Referenced by add(), customSetup(), getVariable(), initialSetup(), jacobianSetup(), numberToVariableMap(), residualSetup(), subdomainSetup(), and timestepSetup().
|
protected |
map of vector finite element variables with name keys
Definition at line 250 of file VariableWarehouse.h.
Referenced by add().
|
protected |
map of vector finite element variables with unsigned keys
Definition at line 253 of file VariableWarehouse.h.
Referenced by add().
|
protected |
Map to variables that need to be evaluated on a boundary.
Definition at line 259 of file VariableWarehouse.h.
Referenced by addBoundaryVar(), and boundaryVars().
|
protected |
map of non-vector finite element variables with name keys
Definition at line 229 of file VariableWarehouse.h.
Referenced by add(), getActualFieldVariable(), and getFVVariable().
|
protected |
map of non-vector finite element variables with unsigned keys
Definition at line 238 of file VariableWarehouse.h.
Referenced by add(), and getActualFieldVariable().
|
protected |
map of non-vector linear finite volume variables with name keys
Definition at line 232 of file VariableWarehouse.h.
Referenced by add(), and getActualFieldVariable().
|
protected |
map of non-vector finite element variables with unsigned keys
Definition at line 241 of file VariableWarehouse.h.
Referenced by add(), and getActualFieldVariable().
|
protected |
list of variable names
Definition at line 220 of file VariableWarehouse.h.
|
protected |
map of non-vector finite element variables with name keys
Definition at line 235 of file VariableWarehouse.h.
Referenced by add(), getActualFieldVariable(), and getFieldVariable().
|
protected |
map of non-vector finite element variables with unsigned keys
Definition at line 226 of file VariableWarehouse.h.
Referenced by add(), getActualFieldVariable(), and getFieldVariable().
|
protected |
list of all scalar, non-finite element variables
Definition at line 262 of file VariableWarehouse.h.
Referenced by add(), scalars(), and setActiveScalarVariableCoupleableVectorTags().
|
protected |
Name to variable mapping.
Definition at line 256 of file VariableWarehouse.h.
Referenced by add(), and getVariable().
|
protected |
list of finite element variables
Definition at line 223 of file VariableWarehouse.h.
Referenced by add(), clearAllDofIndices(), fieldVariables(), and setActiveVariableCoupleableVectorTags().
|
protected |
map of vector finite element variables with name keys
Definition at line 244 of file VariableWarehouse.h.
Referenced by add().
|
protected |
map of vector finite element variables with unsigned keys
Definition at line 247 of file VariableWarehouse.h.
Referenced by add().