https://mooseframework.inl.gov
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
ConstraintWarehouse Class Reference

Warehouse for storing constraints. More...

#include <ConstraintWarehouse.h>

Inheritance diagram for ConstraintWarehouse:
[legend]

Public Member Functions

 ConstraintWarehouse ()
 
void addObject (std::shared_ptr< Constraint > object, THREAD_ID tid=0, bool recurse=true) override
 Add Constraint object to the warehouse.
 
void subdomainsCovered (std::set< SubdomainID > &subdomains_covered, std::set< std::string > &unique_variables, THREAD_ID tid=0) const
 Update supplied subdomain and variable coverate containters.
 
void updateActive (THREAD_ID tid=0) override
 Update the various active lists.
 
virtual void residualEnd (THREAD_ID tid=0) const
 
virtual void addObject (std::shared_ptr< Constraint > object, THREAD_ID tid=0, bool recurse=true) override
 Adds an object to the storage structure.
 
bool hasVariableObjects (unsigned int variable_id, THREAD_ID tid=0) const
 Checks for whether this warehouse has objects for a given variable.
 
unsigned int size (THREAD_ID tid=0) const
 Return how many kernels we store in the current warehouse.
 
bool hasObjectsForVariableAndBlocks (const VariableName &var_name, const std::set< SubdomainID > &blocks, std::set< SubdomainID > &blocks_covered, THREAD_ID tid) const
 Whether there are objects for this variable and the set of blocks passed.
 
std::set< SubdomainIDgetActiveBlocks (THREAD_ID tid=0) const
 Return a set of active SubdomainsIDs.
 
const std::vector< std::shared_ptr< T > > & getObjectsForVariable (const VariableName &var_name, THREAD_ID tid) const
 Getter for objects that have the 'variable' set to a particular variable Note that users should check whether there are objects using 'hasObjectsForVariable' before calling this routine, because it will throw if there are no objects for this variable.
 
void sort (THREAD_ID tid=0)
 Sort the objects using the DependencyResolver.
 
THREAD_ID numThreads () const
 Return the number of threads.
 
std::string activeObjectsToFormattedString (THREAD_ID tid=0, const std::string &prefix="[DBG]") const
 Output the active content of the warehouse to a string, meant to be output to the console.
 
const std::vector< std::shared_ptr< NodalConstraint > > & getActiveNodalConstraints () const
 Access methods for active objects.
 
const std::vector< std::shared_ptr< MortarConstraintBase > > & getActiveMortarConstraints (const std::pair< BoundaryID, BoundaryID > &mortar_interface_key, bool displaced) const
 
const std::vector< std::shared_ptr< ElemElemConstraint > > & getActiveElemElemConstraints (InterfaceID interface_id, bool displaced) const
 
const std::vector< std::shared_ptr< NodeFaceConstraint > > & getActiveNodeFaceConstraints (BoundaryID boundary_id, bool displaced) const
 
const std::vector< std::shared_ptr< NodeElemConstraintBase > > & getActiveNodeElemConstraints (SubdomainID secondary_id, SubdomainID primary_id, bool displaced) const
 
bool hasActiveNodalConstraints () const
 Deterimine if active objects exist.
 
bool hasActiveMortarConstraints (const std::pair< BoundaryID, BoundaryID > &mortar_interface_key, bool displaced) const
 
bool hasActiveElemElemConstraints (const InterfaceID interface_id, bool displaced) const
 
bool hasActiveNodeFaceConstraints (BoundaryID boundary_id, bool displaced) const
 
bool hasActiveNodeElemConstraints (SubdomainID secondary_id, SubdomainID primary_id, bool displaced) const
 
virtual void initialSetup (THREAD_ID tid=0) const
 Convenience methods for calling object setup methods.
 
virtual void timestepSetup (THREAD_ID tid=0) const
 
virtual void customSetup (const ExecFlagType &exec_type, THREAD_ID tid=0) const
 
virtual void subdomainSetup (THREAD_ID tid=0) const
 
virtual void subdomainSetup (SubdomainID id, THREAD_ID tid=0) const
 
virtual void jacobianSetup (THREAD_ID tid=0) const
 
virtual void residualSetup (THREAD_ID tid=0) const
 
bool hasActiveVariableBlockObjects (unsigned int variable_id, SubdomainID block_id, THREAD_ID tid=0) const
 Methods for checking/getting variable kernels for a variable and SubdomainID.
 
const std::vector< std::shared_ptr< Constraint > > & getActiveVariableBlockObjects (unsigned int variable_id, SubdomainID block_id, THREAD_ID tid=0) const
 
const std::vector< std::shared_ptr< T > > & getObjects (THREAD_ID tid=0) const
 Retrieve complete vector to the all/block/boundary restricted objects for a given thread.
 
const std::map< SubdomainID, std::vector< std::shared_ptr< T > > > & getBlockObjects (THREAD_ID tid=0) const
 
const std::vector< std::shared_ptr< T > > & getBlockObjects (SubdomainID id, THREAD_ID tid=0) const
 
const std::map< BoundaryID, std::vector< std::shared_ptr< T > > > & getBoundaryObjects (THREAD_ID tid=0) const
 
const std::vector< std::shared_ptr< T > > & getBoundaryObjects (BoundaryID id, THREAD_ID tid=0) const
 
const std::vector< std::shared_ptr< T > > & getActiveObjects (THREAD_ID tid=0) const
 Retrieve complete vector to the active all/block/boundary restricted objects for a given thread.
 
const std::map< SubdomainID, std::vector< std::shared_ptr< T > > > & getActiveBlockObjects (THREAD_ID tid=0) const
 
const std::vector< std::shared_ptr< T > > & getActiveBlockObjects (SubdomainID id, THREAD_ID tid=0) const
 
const std::map< BoundaryID, std::vector< std::shared_ptr< T > > > & getActiveBoundaryObjects (THREAD_ID tid=0) const
 
const std::vector< std::shared_ptr< T > > & getActiveBoundaryObjects (BoundaryID id, THREAD_ID tid=0) const
 
bool hasObjects (THREAD_ID tid=0) const
 Convenience functions for determining if objects exist.
 
bool hasActiveObjects (THREAD_ID tid=0) const
 
bool hasObjectsForVariable (const VariableName &var_name, THREAD_ID tid) const
 
bool hasActiveBlockObjects (THREAD_ID tid=0) const
 
bool hasActiveBlockObjects (SubdomainID id, THREAD_ID tid=0) const
 
bool hasActiveBoundaryObjects (THREAD_ID tid=0) const
 
bool hasActiveBoundaryObjects (BoundaryID id, THREAD_ID tid=0) const
 
bool hasBoundaryObjects (THREAD_ID tid=0) const
 
bool hasBoundaryObjects (BoundaryID id, THREAD_ID tid=0) const
 
bool hasActiveObject (const std::string &name, THREAD_ID tid=0) const
 Convenience functions for checking/getting specific objects.
 
std::shared_ptr< T > getObject (const std::string &name, THREAD_ID tid=0) const
 
std::shared_ptr< T > getActiveObject (const std::string &name, THREAD_ID tid=0) const
 
void updateVariableDependency (std::set< MooseVariableFieldBase * > &needed_moose_vars, THREAD_ID tid=0) const
 Update variable dependency vector.
 
void updateBlockVariableDependency (SubdomainID id, std::set< MooseVariableFieldBase * > &needed_moose_vars, THREAD_ID tid=0) const
 
void updateBoundaryVariableDependency (std::set< MooseVariableFieldBase * > &needed_moose_vars, THREAD_ID tid=0) const
 
void updateBoundaryVariableDependency (BoundaryID id, std::set< MooseVariableFieldBase * > &needed_moose_vars, THREAD_ID tid=0) const
 
void updateFEVariableCoupledVectorTagDependency (std::set< TagID > &needed_fe_var_vector_tags, THREAD_ID tid=0) const
 Update FE variable coupleable vector tag vector for all objects, block-restricted objects, and boundary-restricted objects.
 
void updateBlockFEVariableCoupledVectorTagDependency (SubdomainID id, std::set< TagID > &needed_fe_var_vector_tags, THREAD_ID tid=0) const
 
void updateBoundaryFEVariableCoupledVectorTagDependency (BoundaryID id, std::set< TagID > &needed_fe_var_vector_tags, THREAD_ID tid=0) const
 
void updateMatPropDependency (std::unordered_set< unsigned int > &needed_mat_props, THREAD_ID tid=0, const bool producer_only=false) const
 Update material property dependency vector.
 
void updateBlockMatPropDependency (SubdomainID id, std::unordered_set< unsigned int > &needed_mat_props, THREAD_ID tid=0, const bool producer_only=false) const
 
void updateBoundaryMatPropDependency (std::unordered_set< unsigned int > &needed_mat_props, THREAD_ID tid=0, const bool producer_only=false) const
 
void updateBoundaryMatPropDependency (BoundaryID id, std::unordered_set< unsigned int > &needed_mat_props, THREAD_ID tid=0, const bool producer_only=false) const
 

Protected Member Functions

virtual void updateMatPropDependencyHelper (std::unordered_set< unsigned int > &needed_mat_props, const std::vector< std::shared_ptr< T > > &objects, const bool producer_only) const
 Helper method for updating material property dependency vector.
 
void checkThreadID (THREAD_ID tid) const
 Calls assert on thread id.
 
bool hasBoundaryObjectsHelper (const std::vector< std::map< BoundaryID, std::vector< std::shared_ptr< T > > > > &boundary_objects, const THREAD_ID tid=0) const
 Helper for determining whether we have boundary objects.
 

Static Protected Member Functions

static void updateActiveHelper (std::vector< std::shared_ptr< T > > &active, const std::vector< std::shared_ptr< T > > &all)
 Helper method for updating active vectors.
 
static void sortHelper (std::vector< std::shared_ptr< T > > &objects)
 Helper method for sorting vectors of objects.
 
static void updateVariableDependencyHelper (std::set< MooseVariableFieldBase * > &needed_moose_vars, const std::vector< std::shared_ptr< T > > &objects)
 Helper method for updating variable dependency vector.
 
static void updateFEVariableCoupledVectorTagDependencyHelper (std::set< TagID > &needed_fe_var_vector_tags, const std::vector< std::shared_ptr< T > > &objects)
 Helper method for updating FE variable coupleable vector tag vector.
 

Protected Attributes

MooseObjectWarehouse< NodalConstraint_nodal_constraints
 NodalConstraint objects.
 
std::map< BoundaryID, MooseObjectWarehouse< NodeFaceConstraint > > _node_face_constraints
 NodeFaceConstraint objects (non-displaced)
 
std::map< BoundaryID, MooseObjectWarehouse< NodeFaceConstraint > > _displaced_node_face_constraints
 NodeFaceConstraint objects (displaced)
 
std::map< std::pair< BoundaryID, BoundaryID >, MooseObjectWarehouse< MortarConstraintBase > > _mortar_constraints
 Undisplaced MortarConstraints.
 
std::map< std::pair< BoundaryID, BoundaryID >, MooseObjectWarehouse< MortarConstraintBase > > _displaced_mortar_constraints
 Displaced MortarConstraints.
 
std::map< unsigned int, MooseObjectWarehouse< ElemElemConstraint > > _element_constraints
 ElemElemConstraints (non-displaced)
 
std::map< unsigned int, MooseObjectWarehouse< ElemElemConstraint > > _displaced_element_constraints
 ElemElemConstraints (displaced)
 
std::map< std::pair< SubdomainID, SubdomainID >, MooseObjectWarehouse< NodeElemConstraintBase > > _node_elem_constraints
 NodeElemConstraint objects.
 
std::map< std::pair< SubdomainID, SubdomainID >, MooseObjectWarehouse< NodeElemConstraintBase > > _displaced_node_elem_constraints
 NodeElemConstraint objects.
 
std::map< unsigned int, MooseObjectWarehouse< Constraint > > _variable_objects
 Variable based storage.
 
const THREAD_ID _num_threads
 Convenience member storing the number of threads used for storage (1 or libMesh::n_threads)
 
std::vector< std::vector< std::shared_ptr< T > > > _all_objects
 Storage container for the ALL pointers (THREAD_ID on outer vector)
 
std::vector< std::vector< std::shared_ptr< T > > > _active_objects
 All active objects (THREAD_ID on outer vector)
 
std::vector< std::map< SubdomainID, std::vector< std::shared_ptr< T > > > > _all_block_objects
 
std::vector< std::map< SubdomainID, std::vector< std::shared_ptr< T > > > > _active_block_objects
 Active block restricted objects (THREAD_ID on outer vector)
 
std::vector< std::map< BoundaryID, std::vector< std::shared_ptr< T > > > > _all_boundary_objects
 
std::vector< std::map< BoundaryID, std::vector< std::shared_ptr< T > > > > _active_boundary_objects
 Active boundary restricted objects (THREAD_ID on outer vector)
 
std::vector< std::map< VariableName, std::vector< std::shared_ptr< T > > > > _all_variable_objects
 All objects with a certain variable selected, as the 'variable' parameter.
 

Detailed Description

Warehouse for storing constraints.

Definition at line 26 of file ConstraintWarehouse.h.

Constructor & Destructor Documentation

◆ ConstraintWarehouse()

ConstraintWarehouse::ConstraintWarehouse ( )

Definition at line 21 of file ConstraintWarehouse.C.

21: MooseObjectWarehouse<Constraint>(/*threaded=*/false) {}
A storage container for MooseObjects that inherit from SetupInterface.

Member Function Documentation

◆ activeObjectsToFormattedString()

template<typename T >
std::string MooseObjectWarehouseBase< T >::activeObjectsToFormattedString ( THREAD_ID  tid = 0,
const std::string &  prefix = "[DBG]" 
) const
inherited

Output the active content of the warehouse to a string, meant to be output to the console.

Parameters
tidthe thread id
prefixa string to prepend to the string

Definition at line 898 of file MooseObjectWarehouseBase.h.

900{
901 std::vector<std::string> output;
902 for (const auto & object : _active_objects[tid])
903 output.push_back(object->name());
904 return ConsoleUtils::formatString(MooseUtils::join(output, " "), prefix);
905}
std::vector< std::vector< std::shared_ptr< T > > > _active_objects
All active objects (THREAD_ID on outer vector)
std::string formatString(std::string message, const std::string &prefix)
Add new lines and prefixes to a string for pretty display in output NOTE: This makes a copy of the st...
std::string name(const ElemQuality q)

Referenced by NonlinearThread::printBlockExecutionInformation(), NonlinearThread::printBoundaryExecutionInformation(), ComputeNodalKernelBCJacobiansThread::printGeneralExecutionInformation(), ComputeNodalKernelBcsThread::printGeneralExecutionInformation(), ComputeNodalKernelJacobiansThread::printGeneralExecutionInformation(), and ComputeNodalKernelsThread::printGeneralExecutionInformation().

◆ addObject() [1/2]

void ConstraintWarehouse::addObject ( std::shared_ptr< Constraint object,
THREAD_ID  tid = 0,
bool  recurse = true 
)
override

Add Constraint object to the warehouse.

Parameters
objectA std::shared_ptr of the object
tidNot used.

Definition at line 24 of file ConstraintWarehouse.C.

27{
28 // Adds to the storage of _all_objects
30
31 // Cast the the possible Contraint types
32 std::shared_ptr<NodeFaceConstraint> nfc = std::dynamic_pointer_cast<NodeFaceConstraint>(object);
33 std::shared_ptr<MortarConstraintBase> mc =
34 std::dynamic_pointer_cast<MortarConstraintBase>(object);
35 std::shared_ptr<NodalConstraint> nc = std::dynamic_pointer_cast<NodalConstraint>(object);
36 std::shared_ptr<ElemElemConstraint> ec = std::dynamic_pointer_cast<ElemElemConstraint>(object);
37 std::shared_ptr<NodeElemConstraintBase> nec =
38 std::dynamic_pointer_cast<NodeElemConstraintBase>(object);
39
40 // NodeFaceConstraint
41 if (nfc)
42 {
43 MooseMesh & mesh = nfc->getParam<FEProblemBase *>("_fe_problem_base")->mesh();
44 unsigned int secondary = mesh.getBoundaryID(nfc->getParam<BoundaryName>("secondary"));
45 bool displaced = nfc->parameters().have_parameter<bool>("use_displaced_mesh") &&
46 nfc->getParam<bool>("use_displaced_mesh");
47
48 if (displaced)
49 _displaced_node_face_constraints[secondary].addObject(nfc);
50 else
51 _node_face_constraints[secondary].addObject(nfc);
52 }
53
54 // MortarConstraint
55 else if (mc)
56 {
57 MooseMesh & mesh = mc->getParam<FEProblemBase *>("_fe_problem_base")->mesh();
58 bool displaced = mc->getParam<bool>("use_displaced_mesh");
59
60 auto secondary_boundary_id =
61 mesh.getBoundaryID(mc->getParam<BoundaryName>("secondary_boundary"));
62 auto primary_boundary_id = mesh.getBoundaryID(mc->getParam<BoundaryName>("primary_boundary"));
63 auto key = std::make_pair(primary_boundary_id, secondary_boundary_id);
64
65 if (displaced)
66 _displaced_mortar_constraints[key].addObject(mc);
67 else
68 _mortar_constraints[key].addObject(mc);
69 }
70
71 // ElemElemConstraint
72 else if (ec)
73 {
74 bool displaced = ec->parameters().have_parameter<bool>("use_displaced_mesh") &&
75 ec->getParam<bool>("use_displaced_mesh");
76 const InterfaceID interface_id = ec->getInterfaceID();
77
78 if (displaced)
79 _displaced_element_constraints[interface_id].addObject(ec);
80 else
81 _element_constraints[interface_id].addObject(ec);
82 }
83
84 // NodeElemConstraintBase
85 else if (nec)
86 {
87 MooseMesh & mesh = nec->getParam<FEProblemBase *>("_fe_problem_base")->mesh();
88 SubdomainID secondary = mesh.getSubdomainID(nec->getParam<SubdomainName>("secondary"));
89 SubdomainID primary = mesh.getSubdomainID(nec->getParam<SubdomainName>("primary"));
90 bool displaced = nec->parameters().have_parameter<bool>("use_displaced_mesh") &&
91 nec->getParam<bool>("use_displaced_mesh");
92
93 if (displaced)
94 _displaced_node_elem_constraints[std::make_pair(secondary, primary)].addObject(nec);
95 else
96 _node_elem_constraints[std::make_pair(secondary, primary)].addObject(nec);
97 }
98
99 // NodalConstraint
100 else if (nc)
102
103 else
104 mooseError("Unknown type of Constraint object");
105}
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application.
Definition MooseError.h:311
unsigned int InterfaceID
Definition MooseTypes.h:234
MooseObjectWarehouse< NodalConstraint > _nodal_constraints
NodalConstraint objects.
std::map< BoundaryID, MooseObjectWarehouse< NodeFaceConstraint > > _node_face_constraints
NodeFaceConstraint objects (non-displaced)
std::map< unsigned int, MooseObjectWarehouse< ElemElemConstraint > > _displaced_element_constraints
ElemElemConstraints (displaced)
std::map< BoundaryID, MooseObjectWarehouse< NodeFaceConstraint > > _displaced_node_face_constraints
NodeFaceConstraint objects (displaced)
std::map< std::pair< BoundaryID, BoundaryID >, MooseObjectWarehouse< MortarConstraintBase > > _mortar_constraints
Undisplaced MortarConstraints.
std::map< std::pair< BoundaryID, BoundaryID >, MooseObjectWarehouse< MortarConstraintBase > > _displaced_mortar_constraints
Displaced MortarConstraints.
std::map< std::pair< SubdomainID, SubdomainID >, MooseObjectWarehouse< NodeElemConstraintBase > > _node_elem_constraints
NodeElemConstraint objects.
std::map< unsigned int, MooseObjectWarehouse< ElemElemConstraint > > _element_constraints
ElemElemConstraints (non-displaced)
std::map< std::pair< SubdomainID, SubdomainID >, MooseObjectWarehouse< NodeElemConstraintBase > > _displaced_node_elem_constraints
NodeElemConstraint objects.
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
MooseMesh wraps a libMesh::Mesh object and enhances its capabilities by caching additional data and s...
Definition MooseMesh.h:95
virtual void addObject(std::shared_ptr< T > object, THREAD_ID tid=0, bool recurse=true) override
Adds an object to the storage structure.
MeshBase & mesh

Referenced by NonlinearSystemBase::addConstraint().

◆ addObject() [2/2]

void MooseObjectWarehouse< Constraint >::addObject ( std::shared_ptr< Constraint object,
THREAD_ID  tid = 0,
bool  recurse = true 
)
overridevirtualinherited

Adds an object to the storage structure.

Parameters
objectA shared pointer to the object being added
tidThe thread ID (default is 0)
recurseWhether or not to build recusive warehouses (typically for Kernels)

Reimplemented from MooseObjectWarehouseBase< T >.

Definition at line 49 of file MooseObjectWarehouse.h.

102{
103 MooseObjectWarehouseBase<T>::addObject(object, tid, recurse);
104
105 if (recurse)
106 {
107 if (auto mvir = std::dynamic_pointer_cast<MooseVariableInterface<Real>>(object); mvir)
108 _variable_objects[mvir->mooseVariableBase()->number()].addObject(object, tid, false);
109 else if (auto mviv = std::dynamic_pointer_cast<MooseVariableInterface<RealVectorValue>>(object);
110 mviv)
111 _variable_objects[mviv->mooseVariableBase()->number()].addObject(object, tid, false);
112 else if (auto mvie = std::dynamic_pointer_cast<MooseVariableInterface<RealEigenVector>>(object);
113 mvie)
114 _variable_objects[mvie->mooseVariableBase()->number()].addObject(object, tid, false);
115 // Some objects, such as ScalarKernels, do not inherit from the MooseVariableInterface (which is
116 // for field variables). These objects *do* inherit from ResidualObject which has this more
117 // generic variable() API
118 else if (auto ro = std::dynamic_pointer_cast<ResidualObject>(object); ro)
119 _variable_objects[ro->variable().number()].addObject(object, tid, false);
120 }
121}
virtual void addObject(std::shared_ptr< T > object, THREAD_ID tid=0, bool recurse=true)
Adds an object to the storage structure.
std::map< unsigned int, MooseObjectWarehouse< Constraint > > _variable_objects
Variable based storage.
Interface for objects that need to get values of MooseVariables.

◆ checkThreadID()

template<typename T >
void MooseObjectWarehouseBase< T >::checkThreadID ( THREAD_ID  tid) const
inlineprotectedinherited

Calls assert on thread id.

Definition at line 929 of file MooseObjectWarehouseBase.h.

930{
931 mooseAssert(tid < _num_threads,
932 "Attempting to access a thread id ("
933 << tid << ") greater than the number allowed by the storage item ("
934 << _num_threads << ")");
935}
const THREAD_ID _num_threads
Convenience member storing the number of threads used for storage (1 or libMesh::n_threads)

Referenced by MooseObjectWarehouseBase< T >::addObject(), MooseObjectWarehouseBase< T >::getActiveBlockObjects(), MooseObjectWarehouseBase< T >::getActiveBlockObjects(), MooseObjectWarehouseBase< T >::getActiveBlocks(), MooseObjectWarehouseBase< T >::getActiveBoundaryObjects(), MooseObjectWarehouseBase< T >::getActiveBoundaryObjects(), MooseObjectWarehouseBase< T >::getActiveObject(), MooseObjectWarehouseBase< T >::getActiveObjects(), MooseObjectWarehouseBase< T >::getBlockObjects(), MooseObjectWarehouseBase< T >::getBlockObjects(), MooseObjectWarehouseBase< T >::getBoundaryObjects(), MooseObjectWarehouseBase< T >::getBoundaryObjects(), MooseObjectWarehouseBase< T >::getObject(), MooseObjectWarehouseBase< T >::getObjects(), MooseObjectWarehouseBase< T >::hasActiveBlockObjects(), MooseObjectWarehouseBase< T >::hasActiveBlockObjects(), MooseObjectWarehouseBase< T >::hasActiveBoundaryObjects(), MooseObjectWarehouseBase< T >::hasActiveObject(), MooseObjectWarehouseBase< T >::hasActiveObjects(), MooseObjectWarehouseBase< T >::hasBoundaryObjects(), MooseObjectWarehouseBase< T >::hasBoundaryObjectsHelper(), MooseObjectWarehouseBase< T >::hasObjects(), MooseObjectWarehouseBase< T >::hasObjectsForVariable(), MooseObjectWarehouseBase< T >::hasObjectsForVariableAndBlocks(), residualEnd(), MooseObjectWarehouseBase< T >::size(), MooseObjectWarehouseBase< T >::sort(), MaterialWarehouse::sort(), and MooseObjectWarehouseBase< T >::updateActive().

◆ customSetup()

void MooseObjectWarehouse< Constraint >::customSetup ( const ExecFlagType exec_type,
THREAD_ID  tid = 0 
) const
virtualinherited

Definition at line 57 of file MooseObjectWarehouse.h.

177{
178 checkThreadID(tid);
179 for (const auto & object : _active_objects[tid])
180 object->customSetup(exec_type);
181}
void checkThreadID(THREAD_ID tid) const
Calls assert on thread id.
virtual void customSetup(const ExecFlagType &exec_type, THREAD_ID tid=0) const

◆ getActiveBlockObjects() [1/2]

template<typename T >
const std::vector< std::shared_ptr< T > > & MooseObjectWarehouseBase< T >::getActiveBlockObjects ( SubdomainID  id,
THREAD_ID  tid = 0 
) const
inherited

Definition at line 477 of file MooseObjectWarehouseBase.h.

478{
479 checkThreadID(tid);
480 const auto iter = _active_block_objects[tid].find(id);
481 mooseAssert(iter != _active_block_objects[tid].end(),
482 "Unable to located active block objects for the given id: " << id << ".");
483 return iter->second;
484}
std::vector< std::map< SubdomainID, std::vector< std::shared_ptr< T > > > > _active_block_objects
Active block restricted objects (THREAD_ID on outer vector)

◆ getActiveBlockObjects() [2/2]

template<typename T >
const std::map< SubdomainID, std::vector< std::shared_ptr< T > > > & MooseObjectWarehouseBase< T >::getActiveBlockObjects ( THREAD_ID  tid = 0) const
inlineinherited

◆ getActiveBlocks()

template<typename T >
std::set< SubdomainID > MooseObjectWarehouseBase< T >::getActiveBlocks ( THREAD_ID  tid = 0) const
inherited

Return a set of active SubdomainsIDs.

Definition at line 649 of file MooseObjectWarehouseBase.h.

650{
651 checkThreadID(tid);
652 std::set<SubdomainID> ids;
653 for (const auto & object_pair : _active_block_objects[tid])
654 ids.insert(object_pair.first);
655 return ids;
656}

Referenced by FEProblemBase::checkProblemIntegrity().

◆ getActiveBoundaryObjects() [1/2]

template<typename T >
const std::vector< std::shared_ptr< T > > & MooseObjectWarehouseBase< T >::getActiveBoundaryObjects ( BoundaryID  id,
THREAD_ID  tid = 0 
) const
inherited

Definition at line 458 of file MooseObjectWarehouseBase.h.

459{
460 checkThreadID(tid);
461 const auto iter = _active_boundary_objects[tid].find(id);
462 mooseAssert(iter != _active_boundary_objects[tid].end(),
463 "Unable to located active boundary objects for the given id: " << id << ".");
464 return iter->second;
465}
std::vector< std::map< BoundaryID, std::vector< std::shared_ptr< T > > > > _active_boundary_objects
Active boundary restricted objects (THREAD_ID on outer vector)

◆ getActiveBoundaryObjects() [2/2]

template<typename T >
const std::map< BoundaryID, std::vector< std::shared_ptr< T > > > & MooseObjectWarehouseBase< T >::getActiveBoundaryObjects ( THREAD_ID  tid = 0) const
inlineinherited

◆ getActiveElemElemConstraints()

const std::vector< std::shared_ptr< ElemElemConstraint > > & ConstraintWarehouse::getActiveElemElemConstraints ( InterfaceID  interface_id,
bool  displaced 
) const

Definition at line 172 of file ConstraintWarehouse.C.

174{
175 std::map<unsigned int, MooseObjectWarehouse<ElemElemConstraint>>::const_iterator it, end_it;
176
177 if (displaced)
178 {
179 it = _displaced_element_constraints.find(interface_id);
180 end_it = _displaced_element_constraints.end();
181 }
182
183 else
184 {
185 it = _element_constraints.find(interface_id);
186 end_it = _element_constraints.end();
187 }
188
189 mooseAssert(it != end_it,
190 "Unable to locate storage for ElemElemConstraint objects for the given interface id: "
191 << interface_id);
192 return it->second.getActiveObjects();
193}

Referenced by NonlinearSystemBase::constraintJacobians(), and NonlinearSystemBase::constraintResiduals().

◆ getActiveMortarConstraints()

const std::vector< std::shared_ptr< MortarConstraintBase > > & ConstraintWarehouse::getActiveMortarConstraints ( const std::pair< BoundaryID, BoundaryID > &  mortar_interface_key,
bool  displaced 
) const

Definition at line 145 of file ConstraintWarehouse.C.

147{
148 std::map<std::pair<BoundaryID, BoundaryID>,
150 end_it;
151
152 if (displaced)
153 {
154 it = _displaced_mortar_constraints.find(mortar_interface_key);
155 end_it = _displaced_mortar_constraints.end();
156 }
157 else
158 {
159 it = _mortar_constraints.find(mortar_interface_key);
160 end_it = _mortar_constraints.end();
161 }
162
163 mooseAssert(
164 it != end_it,
165 "No MortarConstraints exist for the specified primary-secondary boundary pair, primary "
166 << mortar_interface_key.first << " and secondary " << mortar_interface_key.second);
167
168 return it->second.getActiveObjects();
169}

Referenced by NonlinearSystemBase::initialSetup().

◆ getActiveNodalConstraints()

const std::vector< std::shared_ptr< NodalConstraint > > & ConstraintWarehouse::getActiveNodalConstraints ( ) const

Access methods for active objects.

Definition at line 108 of file ConstraintWarehouse.C.

109{
111}
const std::vector< std::shared_ptr< T > > & getActiveObjects(THREAD_ID tid=0) const
Retrieve complete vector to the active all/block/boundary restricted objects for a given thread.

Referenced by NonlinearSystemBase::enforceNodalConstraintsJacobian(), NonlinearSystemBase::enforceNodalConstraintsResidual(), and NonlinearSystemBase::findImplicitGeometricCouplingEntries().

◆ getActiveNodeElemConstraints()

const std::vector< std::shared_ptr< NodeElemConstraintBase > > & ConstraintWarehouse::getActiveNodeElemConstraints ( SubdomainID  secondary_id,
SubdomainID  primary_id,
bool  displaced 
) const

Definition at line 196 of file ConstraintWarehouse.C.

199{
200 std::map<std::pair<SubdomainID, SubdomainID>,
202 end_it;
203
204 if (displaced)
205 {
206 it = _displaced_node_elem_constraints.find(std::make_pair(secondary_id, primary_id));
208 }
209 else
210 {
211 it = _node_elem_constraints.find(std::make_pair(secondary_id, primary_id));
212 end_it = _node_elem_constraints.end();
213 }
214
215 mooseAssert(
216 it != end_it,
217 "Unable to locate storage for NodeElemConstraintBase objects for the given secondary and "
218 "primary id pair: ["
219 << secondary_id << ", " << primary_id << "]");
220 return it->second.getActiveObjects();
221}

Referenced by NonlinearSystemBase::constraintJacobians(), NonlinearSystemBase::constraintResiduals(), and NonlinearSystemBase::setConstraintSecondaryValues().

◆ getActiveNodeFaceConstraints()

const std::vector< std::shared_ptr< NodeFaceConstraint > > & ConstraintWarehouse::getActiveNodeFaceConstraints ( BoundaryID  boundary_id,
bool  displaced 
) const

Definition at line 114 of file ConstraintWarehouse.C.

115{
116 std::map<BoundaryID, MooseObjectWarehouse<NodeFaceConstraint>>::const_iterator it, end_it;
117
118 if (displaced)
119 {
120 it = _displaced_node_face_constraints.find(boundary_id);
122 }
123
124 else
125 {
126 it = _node_face_constraints.find(boundary_id);
127 end_it = _node_face_constraints.end();
128 }
129
130 mooseAssert(it != end_it,
131 "Unable to locate storage for NodeFaceConstraint objects for the given boundary id: "
132 << boundary_id);
133 return it->second.getActiveObjects();
134}

Referenced by NonlinearSystemBase::constraintJacobians(), NonlinearSystemBase::constraintResiduals(), NonlinearSystemBase::overwriteNodeFace(), and NonlinearSystemBase::setConstraintSecondaryValues().

◆ getActiveObject()

template<typename T >
std::shared_ptr< T > MooseObjectWarehouseBase< T >::getActiveObject ( const std::string &  name,
THREAD_ID  tid = 0 
) const
inherited

◆ getActiveObjects()

template<typename T >
const std::vector< std::shared_ptr< T > > & MooseObjectWarehouseBase< T >::getActiveObjects ( THREAD_ID  tid = 0) const
inlineinherited

Retrieve complete vector to the active all/block/boundary restricted objects for a given thread.

Parameters
tidThe thread id to retrieve objects from

Definition at line 442 of file MooseObjectWarehouseBase.h.

443{
444 checkThreadID(tid);
445 return _active_objects[tid];
446}

Referenced by FEProblemBase::backupMultiApps(), NonlinearEigenSystem::checkIntegrity(), NonlinearSystemBase::checkKernelCoverage(), FEProblemBase::checkProblemIntegrity(), NonlinearSystemBase::computeDamping(), NonlinearSystemBase::computeDiracContributions(), FEProblemBase::computeIndicators(), FEProblemBase::computeMarkers(), FEProblemBase::computeMultiAppsDT(), NonlinearSystemBase::computeResidualInternal(), NonlinearSystemBase::computeScalarKernelsJacobians(), AuxiliarySystem::computeScalarVars(), FEProblemBase::execMultiApps(), FEProblemBase::execMultiAppTransfers(), FEProblemBase::execTransfers(), FEProblemBase::finalizeMultiApps(), FEProblemBase::finishMultiAppStep(), getActiveNodalConstraints(), FEProblemBase::getConvergenceObjects(), AuxiliarySystem::getDependObjects(), AuxiliarySystem::getDependObjects(), FEProblemBase::getTransfers(), FEProblemBase::getTransfers(), FEProblemBase::incrementMultiAppTStep(), NonlinearSystemBase::needBoundaryMaterialOnSide(), ComputeDiracThread::onElement(), ComputeElemDampingThread::onElement(), ComputeNodalDampingThread::onNode(), FEProblemBase::postExecute(), FEProblemBase::projectInitialConditionOnCustomRange(), FEProblemBase::projectSolution(), FEProblemBase::restoreMultiApps(), and AuxiliarySystem::setScalarVariableCoupleableTags().

◆ getActiveVariableBlockObjects()

const std::vector< std::shared_ptr< Constraint > > & MooseObjectWarehouse< Constraint >::getActiveVariableBlockObjects ( unsigned int  variable_id,
SubdomainID  block_id,
THREAD_ID  tid = 0 
) const
inherited

Definition at line 76 of file MooseObjectWarehouse.h.

146{
147 checkThreadID(tid);
148 const auto iter = _variable_objects.find(variable_id);
149 mooseAssert(iter != _variable_objects.end(),
150 "Unable to locate variable kernels for the given variable id: " << variable_id
151 << ".");
152 return iter->second.getActiveBlockObjects(block_id, tid);
153}

◆ getBlockObjects() [1/2]

template<typename T >
const std::vector< std::shared_ptr< T > > & MooseObjectWarehouseBase< T >::getBlockObjects ( SubdomainID  id,
THREAD_ID  tid = 0 
) const
inherited

Definition at line 431 of file MooseObjectWarehouseBase.h.

432{
433 checkThreadID(tid);
434 const auto iter = _all_block_objects[tid].find(id);
435 mooseAssert(iter != _all_block_objects[tid].end(),
436 "Unable to located active block objects for the given id: " << id << ".");
437 return iter->second;
438}
std::vector< std::map< SubdomainID, std::vector< std::shared_ptr< T > > > > _all_block_objects

◆ getBlockObjects() [2/2]

template<typename T >
const std::map< SubdomainID, std::vector< std::shared_ptr< T > > > & MooseObjectWarehouseBase< T >::getBlockObjects ( THREAD_ID  tid = 0) const
inlineinherited

Definition at line 423 of file MooseObjectWarehouseBase.h.

424{
425 checkThreadID(tid);
426 return _all_block_objects[tid];
427}

Referenced by MaterialPropertyDebugOutput::printMaterialMap().

◆ getBoundaryObjects() [1/2]

template<typename T >
const std::vector< std::shared_ptr< T > > & MooseObjectWarehouseBase< T >::getBoundaryObjects ( BoundaryID  id,
THREAD_ID  tid = 0 
) const
inherited

Definition at line 412 of file MooseObjectWarehouseBase.h.

413{
414 checkThreadID(tid);
415 const auto iter = _all_boundary_objects[tid].find(id);
416 mooseAssert(iter != _all_boundary_objects[tid].end(),
417 "Unable to located active boundary objects for the given id: " << id << ".");
418 return iter->second;
419}
std::vector< std::map< BoundaryID, std::vector< std::shared_ptr< T > > > > _all_boundary_objects

◆ getBoundaryObjects() [2/2]

template<typename T >
const std::map< BoundaryID, std::vector< std::shared_ptr< T > > > & MooseObjectWarehouseBase< T >::getBoundaryObjects ( THREAD_ID  tid = 0) const
inlineinherited

◆ getObject()

template<typename T >
std::shared_ptr< T > MooseObjectWarehouseBase< T >::getObject ( const std::string &  name,
THREAD_ID  tid = 0 
) const
inherited

Definition at line 619 of file MooseObjectWarehouseBase.h.

620{
621 checkThreadID(tid);
622 for (const auto & object : _all_objects[tid])
623 if (object->name() == name)
624 return object;
625 mooseError("Unable to locate object: ", name, ".");
626}
std::vector< std::vector< std::shared_ptr< T > > > _all_objects
Storage container for the ALL pointers (THREAD_ID on outer vector)

Referenced by FEProblemBase::getMultiApp().

◆ getObjects()

template<typename T >
const std::vector< std::shared_ptr< T > > & MooseObjectWarehouseBase< T >::getObjects ( THREAD_ID  tid = 0) const
inlineinherited

◆ getObjectsForVariable()

template<typename T >
const std::vector< std::shared_ptr< T > > & MooseObjectWarehouseBase< T >::getObjectsForVariable ( const VariableName &  var_name,
THREAD_ID  tid 
) const
inherited

Getter for objects that have the 'variable' set to a particular variable Note that users should check whether there are objects using 'hasObjectsForVariable' before calling this routine, because it will throw if there are no objects for this variable.

Definition at line 641 of file MooseObjectWarehouseBase.h.

643{
644 return libmesh_map_find(_all_variable_objects[tid], var_name);
645}
std::vector< std::map< VariableName, std::vector< std::shared_ptr< T > > > > _all_variable_objects
All objects with a certain variable selected, as the 'variable' parameter.

◆ hasActiveBlockObjects() [1/2]

template<typename T >
bool MooseObjectWarehouseBase< T >::hasActiveBlockObjects ( SubdomainID  id,
THREAD_ID  tid = 0 
) const
inherited

Definition at line 563 of file MooseObjectWarehouseBase.h.

564{
565 checkThreadID(tid);
566 const auto iter = _active_block_objects[tid].find(id);
567 return iter != _active_block_objects[tid].end();
568}

◆ hasActiveBlockObjects() [2/2]

template<typename T >
bool MooseObjectWarehouseBase< T >::hasActiveBlockObjects ( THREAD_ID  tid = 0) const
inherited

Definition at line 552 of file MooseObjectWarehouseBase.h.

553{
554 checkThreadID(tid);
555 bool has_active_block_objects = false;
556 for (const auto & object_pair : _active_block_objects[tid])
557 has_active_block_objects |= !(object_pair.second.empty());
558 return has_active_block_objects;
559}

Referenced by AuxiliarySystem::computeElementalVarsHelper(), NonlinearSystemBase::computeJacobianInternal(), AuxiliarySystem::computeMortarNodalVars(), AuxiliarySystem::computeNodalVarsHelper(), NonlinearThread::computeOnElement(), ComputeFullJacobianThread::computeOnInternalFace(), ComputeJacobianThread::computeOnInternalFace(), ComputeResidualAndJacobianThread::computeOnInternalFace(), ComputeResidualThread::computeOnInternalFace(), ComputeFullJacobianThread::computeOnInternalFace(), NonlinearSystemBase::computeResidualInternal(), BlockRestrictable::hasBlockMaterialPropertyHelper(), NonlinearSystemBase::needInternalNeighborSideMaterial(), ComputeIndicatorThread::onElement(), ComputeMarkerThread::onElement(), ComputeMaterialsObjectThread::onElement(), ProjectMaterialProperties::onElement(), ComputeIndicatorThread::onInternalSide(), ComputeNodalKernelJacobiansThread::onNode(), ComputeNodalKernelsThread::onNode(), ComputeFVInitialConditionThread::operator()(), ComputeInitialConditionThread::operator()(), ComputeJacobianBlocksThread::postInternalSide(), FEProblemBase::prepareMaterials(), ComputeDiracThread::printBlockExecutionInformation(), ComputeIndicatorThread::printBlockExecutionInformation(), ComputeMarkerThread::printBlockExecutionInformation(), NonlinearThread::printBlockExecutionInformation(), FEProblemBase::reinitMaterials(), MooseObjectWarehouseBase< T >::updateBlockFEVariableCoupledVectorTagDependency(), MooseObjectWarehouseBase< T >::updateBlockMatPropDependency(), and MooseObjectWarehouseBase< T >::updateBlockVariableDependency().

◆ hasActiveBoundaryObjects() [1/2]

template<typename T >
bool MooseObjectWarehouseBase< T >::hasActiveBoundaryObjects ( BoundaryID  id,
THREAD_ID  tid = 0 
) const
inherited

Definition at line 599 of file MooseObjectWarehouseBase.h.

600{
601 checkThreadID(tid);
602 const auto iter = _active_boundary_objects[tid].find(id);
603 return iter != _active_boundary_objects[tid].end();
604}

◆ hasActiveBoundaryObjects() [2/2]

template<typename T >
bool MooseObjectWarehouseBase< T >::hasActiveBoundaryObjects ( THREAD_ID  tid = 0) const
inherited

Definition at line 592 of file MooseObjectWarehouseBase.h.

593{
595}
bool hasBoundaryObjectsHelper(const std::vector< std::map< BoundaryID, std::vector< std::shared_ptr< T > > > > &boundary_objects, const THREAD_ID tid=0) const
Helper for determining whether we have boundary objects.

Referenced by AuxiliarySystem::computeElementalVarsHelper(), NonlinearSystemBase::computeJacobianBlocks(), NonlinearSystemBase::computeJacobianInternal(), AuxiliarySystem::computeMortarNodalVars(), NonlinearSystemBase::computeNodalBCsJacobian(), NonlinearSystemBase::computeNodalBCsResidual(), NonlinearSystemBase::computeNodalBCsResidualAndJacobian(), AuxiliarySystem::computeNodalVarsHelper(), ComputeFullJacobianThread::computeOnBoundary(), ComputeFullJacobianThread::computeOnInterface(), NonlinearSystemBase::computeResidualInternal(), BoundaryRestrictable::hasBoundaryMaterialPropertyHelper(), NonlinearSystemBase::needBoundaryMaterialOnSide(), FEProblemBase::needInterfaceMaterialOnSide(), NonlinearSystemBase::needInterfaceMaterialOnSide(), ComputeMaterialsObjectThread::onBoundary(), NonlinearThread::onBoundary(), NonlinearThread::onExternalSide(), ComputeMaterialsObjectThread::onInterface(), NonlinearThread::onInterface(), ComputeBoundaryInitialConditionThread::onNode(), ComputeNodalKernelBCJacobiansThread::onNode(), ComputeNodalKernelBcsThread::onNode(), NonlinearThread::printBoundaryExecutionInformation(), ComputeNodalKernelBCJacobiansThread::printGeneralExecutionInformation(), FEProblemBase::reinitMaterialsBoundary(), FEProblemBase::reinitMaterialsInterface(), NonlinearSystemBase::setInitialSolution(), MooseObjectWarehouseBase< T >::updateBoundaryFEVariableCoupledVectorTagDependency(), MooseObjectWarehouseBase< T >::updateBoundaryMatPropDependency(), MooseObjectWarehouseBase< T >::updateBoundaryMatPropDependency(), MooseObjectWarehouseBase< T >::updateBoundaryVariableDependency(), and MooseObjectWarehouseBase< T >::updateBoundaryVariableDependency().

◆ hasActiveElemElemConstraints()

bool ConstraintWarehouse::hasActiveElemElemConstraints ( const InterfaceID  interface_id,
bool  displaced 
) const

Definition at line 230 of file ConstraintWarehouse.C.

232{
233 std::map<unsigned int, MooseObjectWarehouse<ElemElemConstraint>>::const_iterator it, end_it;
234
235 if (displaced)
236 {
237 it = _displaced_element_constraints.find(interface_id);
238 end_it = _displaced_element_constraints.end();
239 }
240
241 else
242 {
243 it = _element_constraints.find(interface_id);
244 end_it = _element_constraints.end();
245 }
246
247 return (it != end_it && it->second.hasActiveObjects());
248}

Referenced by NonlinearSystemBase::constraintJacobians(), and NonlinearSystemBase::constraintResiduals().

◆ hasActiveMortarConstraints()

bool ConstraintWarehouse::hasActiveMortarConstraints ( const std::pair< BoundaryID, BoundaryID > &  mortar_interface_key,
bool  displaced 
) const

Definition at line 137 of file ConstraintWarehouse.C.

139{
140 const auto & constraints = displaced ? _displaced_mortar_constraints : _mortar_constraints;
141 return constraints.find(mortar_interface_key) != constraints.end();
142}

Referenced by NonlinearSystemBase::initialSetup().

◆ hasActiveNodalConstraints()

bool ConstraintWarehouse::hasActiveNodalConstraints ( ) const

Deterimine if active objects exist.

Definition at line 224 of file ConstraintWarehouse.C.

225{
227}
bool hasActiveObjects(THREAD_ID tid=0) const

Referenced by NonlinearSystemBase::enforceNodalConstraintsJacobian(), and NonlinearSystemBase::enforceNodalConstraintsResidual().

◆ hasActiveNodeElemConstraints()

bool ConstraintWarehouse::hasActiveNodeElemConstraints ( SubdomainID  secondary_id,
SubdomainID  primary_id,
bool  displaced 
) const

Definition at line 271 of file ConstraintWarehouse.C.

274{
275 std::map<std::pair<SubdomainID, SubdomainID>,
277 end_it;
278
279 if (displaced)
280 {
281 it = _displaced_node_elem_constraints.find(std::make_pair(secondary_id, primary_id));
283 }
284
285 else
286 {
287 it = _node_elem_constraints.find(std::make_pair(secondary_id, primary_id));
288 end_it = _node_elem_constraints.end();
289 }
290
291 return (it != end_it && it->second.hasActiveObjects());
292}

Referenced by NonlinearSystemBase::constraintJacobians(), NonlinearSystemBase::constraintResiduals(), and NonlinearSystemBase::setConstraintSecondaryValues().

◆ hasActiveNodeFaceConstraints()

bool ConstraintWarehouse::hasActiveNodeFaceConstraints ( BoundaryID  boundary_id,
bool  displaced 
) const

Definition at line 251 of file ConstraintWarehouse.C.

252{
253 std::map<BoundaryID, MooseObjectWarehouse<NodeFaceConstraint>>::const_iterator it, end_it;
254
255 if (displaced)
256 {
257 it = _displaced_node_face_constraints.find(boundary_id);
259 }
260
261 else
262 {
263 it = _node_face_constraints.find(boundary_id);
264 end_it = _node_face_constraints.end();
265 }
266
267 return (it != end_it && it->second.hasActiveObjects());
268}

Referenced by NonlinearSystemBase::constraintJacobians(), NonlinearSystemBase::constraintResiduals(), NonlinearSystemBase::overwriteNodeFace(), and NonlinearSystemBase::setConstraintSecondaryValues().

◆ hasActiveObject()

template<typename T >
bool MooseObjectWarehouseBase< T >::hasActiveObject ( const std::string &  name,
THREAD_ID  tid = 0 
) const
inherited

Convenience functions for checking/getting specific objects.

Definition at line 608 of file MooseObjectWarehouseBase.h.

609{
610 checkThreadID(tid);
611 for (const auto & object : _active_objects[tid])
612 if (object->name() == name)
613 return true;
614 return false;
615}

Referenced by FEProblemBase::hasConvergence(), FEProblemBase::hasFunction(), and FEProblemBase::hasMultiApp().

◆ hasActiveObjects()

template<typename T >
bool MooseObjectWarehouseBase< T >::hasActiveObjects ( THREAD_ID  tid = 0) const
inherited

◆ hasActiveVariableBlockObjects()

bool MooseObjectWarehouse< Constraint >::hasActiveVariableBlockObjects ( unsigned int  variable_id,
SubdomainID  block_id,
THREAD_ID  tid = 0 
) const
inherited

Methods for checking/getting variable kernels for a variable and SubdomainID.

Definition at line 73 of file MooseObjectWarehouse.h.

136{
137 auto iter = _variable_objects.find(variable_id);
138 return (iter != _variable_objects.end() && iter->second.hasActiveBlockObjects(block_id, tid));
139}

◆ hasBoundaryObjects() [1/2]

template<typename T >
bool MooseObjectWarehouseBase< T >::hasBoundaryObjects ( BoundaryID  id,
THREAD_ID  tid = 0 
) const
inherited

Definition at line 404 of file MooseObjectWarehouseBase.h.

405{
406 checkThreadID(tid);
407 return _all_boundary_objects[tid].find(id) != _all_boundary_objects[tid].end();
408}

◆ hasBoundaryObjects() [2/2]

template<typename T >
bool MooseObjectWarehouseBase< T >::hasBoundaryObjects ( THREAD_ID  tid = 0) const
inherited

Definition at line 585 of file MooseObjectWarehouseBase.h.

586{
588}

◆ hasBoundaryObjectsHelper()

template<typename T >
bool MooseObjectWarehouseBase< T >::hasBoundaryObjectsHelper ( const std::vector< std::map< BoundaryID, std::vector< std::shared_ptr< T > > > > &  boundary_objects,
const THREAD_ID  tid = 0 
) const
protectedinherited

Helper for determining whether we have boundary objects.

Definition at line 572 of file MooseObjectWarehouseBase.h.

575{
576 checkThreadID(tid);
577 bool has_boundary_objects = false;
578 for (const auto & object_pair : boundary_objects[tid])
579 has_boundary_objects |= !(object_pair.second.empty());
580 return has_boundary_objects;
581}

Referenced by MooseObjectWarehouseBase< T >::hasActiveBoundaryObjects(), and MooseObjectWarehouseBase< T >::hasBoundaryObjects().

◆ hasObjects()

template<typename T >
bool MooseObjectWarehouseBase< T >::hasObjects ( THREAD_ID  tid = 0) const
inherited

Convenience functions for determining if objects exist.

Definition at line 488 of file MooseObjectWarehouseBase.h.

489{
490 checkThreadID(tid);
491 return !_all_objects[tid].empty();
492}

Referenced by NonlinearSystemBase::setInitialSolution().

◆ hasObjectsForVariable()

template<typename T >
bool MooseObjectWarehouseBase< T >::hasObjectsForVariable ( const VariableName &  var_name,
THREAD_ID  tid 
) const
inherited

Definition at line 504 of file MooseObjectWarehouseBase.h.

506{
507 checkThreadID(tid);
508 return _all_variable_objects[tid].count(var_name);
509}

Referenced by MooseObjectWarehouseBase< T >::hasObjectsForVariableAndBlocks().

◆ hasObjectsForVariableAndBlocks()

template<typename T >
bool MooseObjectWarehouseBase< T >::hasObjectsForVariableAndBlocks ( const VariableName &  var_name,
const std::set< SubdomainID > &  blocks,
std::set< SubdomainID > &  blocks_covered,
THREAD_ID  tid 
) const
inherited

Whether there are objects for this variable and the set of blocks passed.

Parameters
var_namename of the variable
blocksblocks to consider
blocks_coveredsubset of blocks for which there is an object

Definition at line 513 of file MooseObjectWarehouseBase.h.

517{
518 checkThreadID(tid);
519 blocks_covered.clear();
520 if (!hasObjectsForVariable(var_name, tid))
521 return false;
522
523 // Check block restriction as a whole
524 for (const auto & object : libmesh_map_find(_all_variable_objects[tid], var_name))
525 {
526 std::shared_ptr<BlockRestrictable> blk = std::dynamic_pointer_cast<BlockRestrictable>(object);
527 if (blk && blk->hasBlocks(blocks))
528 {
529 blocks_covered = blocks;
530 return true;
531 }
532 }
533 // No object has all the blocks, but one might overlap, which could be troublesome.
534 // We'll keep track of which blocks are covered in case several overlap
535 for (const auto & object : libmesh_map_find(_all_variable_objects[tid], var_name))
536 {
537 std::shared_ptr<BlockRestrictable> blk = std::dynamic_pointer_cast<BlockRestrictable>(object);
538 if (blk)
539 for (const auto & block : blocks)
540 if (blk->hasBlocks(block))
541 blocks_covered.insert(block);
542 }
543 // No overlap at all
544 if (blocks_covered.empty())
545 return false;
546
547 return (blocks == blocks_covered);
548}
char ** blocks
bool hasObjectsForVariable(const VariableName &var_name, THREAD_ID tid) const

◆ hasVariableObjects()

bool MooseObjectWarehouse< Constraint >::hasVariableObjects ( unsigned int  variable_id,
THREAD_ID  tid = 0 
) const
inherited

Checks for whether this warehouse has objects for a given variable.

Definition at line 67 of file MooseObjectWarehouse.h.

126{
127 auto iter = _variable_objects.find(variable_id);
128 return (iter != _variable_objects.end() && iter->second.hasObjects(tid));
129}

◆ initialSetup()

void MooseObjectWarehouse< Constraint >::initialSetup ( THREAD_ID  tid = 0) const
virtualinherited

Convenience methods for calling object setup methods.

Definition at line 55 of file MooseObjectWarehouse.h.

158{
159 checkThreadID(tid);
160 // Initial Setup should be called on all objects because they may become active later
161 for (const auto & object : _all_objects[tid])
162 object->initialSetup();
163}
virtual void initialSetup(THREAD_ID tid=0) const
Convenience methods for calling object setup methods.

◆ jacobianSetup()

void MooseObjectWarehouse< Constraint >::jacobianSetup ( THREAD_ID  tid = 0) const
virtualinherited

Definition at line 60 of file MooseObjectWarehouse.h.

208{
209 checkThreadID(tid);
210 for (const auto & object : _active_objects[tid])
211 object->jacobianSetup();
212}
virtual void jacobianSetup(THREAD_ID tid=0) const

◆ numThreads()

template<typename T >
THREAD_ID MooseObjectWarehouseBase< T >::numThreads ( ) const
inlineinherited

Return the number of threads.

Definition at line 205 of file MooseObjectWarehouseBase.h.

205{ return _num_threads; }

◆ residualEnd()

void ConstraintWarehouse::residualEnd ( THREAD_ID  tid = 0) const
virtual

Definition at line 358 of file ConstraintWarehouse.C.

359{
360 checkThreadID(tid);
361 for (const auto & object : _active_objects[tid])
362 object->residualEnd();
363}
virtual void residualEnd(THREAD_ID tid=0) const

Referenced by NonlinearSystemBase::computeResidualInternal().

◆ residualSetup()

void MooseObjectWarehouse< Constraint >::residualSetup ( THREAD_ID  tid = 0) const
virtualinherited

Definition at line 61 of file MooseObjectWarehouse.h.

217{
218 checkThreadID(tid);
219 for (const auto & object : _active_objects[tid])
220 object->residualSetup();
221}
virtual void residualSetup(THREAD_ID tid=0) const

◆ size()

template<typename T >
unsigned int MooseObjectWarehouseBase< T >::size ( THREAD_ID  tid = 0) const
inherited

Return how many kernels we store in the current warehouse.

Definition at line 306 of file MooseObjectWarehouseBase.h.

307{
308 checkThreadID(tid);
309 return _all_objects[tid].size();
310}

Referenced by NonlinearThread::printBlockExecutionInformation().

◆ sort()

template<typename T >
void MooseObjectWarehouseBase< T >::sort ( THREAD_ID  tid = 0)
inherited

Sort the objects using the DependencyResolver.

Definition at line 689 of file MooseObjectWarehouseBase.h.

690{
691 checkThreadID(tid);
692
693 for (auto & object_pair : _all_block_objects[tid])
694 sortHelper(object_pair.second);
695
696 for (auto & object_pair : _all_boundary_objects[tid])
697 sortHelper(object_pair.second);
698
700
701 // The active lists now must be update to reflect the order changes
702 updateActive(tid);
703}
static void sortHelper(std::vector< std::shared_ptr< T > > &objects)
Helper method for sorting vectors of objects.
virtual void updateActive(THREAD_ID tid=0)
Updates the active objects storage.

Referenced by ScalarInitialConditionWarehouse::initialSetup(), FVInitialConditionWarehouse::initialSetup(), and InitialConditionWarehouse::initialSetup().

◆ sortHelper()

template<typename T >
void MooseObjectWarehouseBase< T >::sortHelper ( std::vector< std::shared_ptr< T > > &  objects)
staticprotectedinherited

Helper method for sorting vectors of objects.

Definition at line 909 of file MooseObjectWarehouseBase.h.

910{
911 // Do nothing if the vector is empty
912 if (objects.empty())
913 return;
914
915 try
916 {
917 // Sort based on dependencies
918 DependencyResolverInterface::sort<std::shared_ptr<T>>(objects);
919 }
920 catch (CyclicDependencyException<std::shared_ptr<T>> & e)
921 {
922 DependencyResolverInterface::cyclicDependencyError<std::shared_ptr<T>>(
923 e, "Cyclic dependency detected in object ordering");
924 }
925}

Referenced by MooseObjectWarehouseBase< T >::sort(), and MaterialWarehouse::sort().

◆ subdomainsCovered()

void ConstraintWarehouse::subdomainsCovered ( std::set< SubdomainID > &  subdomains_covered,
std::set< std::string > &  unique_variables,
THREAD_ID  tid = 0 
) const

Update supplied subdomain and variable coverate containters.

Definition at line 318 of file ConstraintWarehouse.C.

321{
322 // Loop over undisplaced
323 for (const auto & pr : _mortar_constraints)
324 {
325 const auto & objects = pr.second.getActiveObjects();
326 for (const auto & mc : objects)
327 {
328 const MooseVariableFEBase * lm_var = mc->variablePtr();
329 if (lm_var)
330 unique_variables.insert(lm_var->name());
331
332 // Mortar constraints will cover primary and secondary subdomains regardless of whether we
333 // have a Lagrange multiplier associated.
334 subdomains_covered.insert(mc->primarySubdomain());
335 subdomains_covered.insert(mc->secondarySubdomain());
336 }
337 }
338
339 // Loop over displaced
340 for (const auto & pr : _displaced_mortar_constraints)
341 {
342 const auto & objects = pr.second.getActiveObjects();
343 for (const auto & mc : objects)
344 {
345 const MooseVariableFEBase * lm_var = mc->variablePtr();
346 if (lm_var)
347 unique_variables.insert(lm_var->name());
348
349 // Mortar constraints will cover primary and secondary subdomains regardless of whether we
350 // have a Lagrange multiplier associated.
351 subdomains_covered.insert(mc->primarySubdomain());
352 subdomains_covered.insert(mc->secondarySubdomain());
353 }
354 }
355}
const std::string & name() const
Get the name of the class.
Definition MooseBase.h:103
This class provides an interface for common operations on field variables of both FE and FV types wit...
virtual void insert(libMesh::NumericVector< libMesh::Number > &vector)=0
Insert the currently cached degree of freedom values into the provided vector.

Referenced by NonlinearSystemBase::checkKernelCoverage().

◆ subdomainSetup() [1/2]

void MooseObjectWarehouse< Constraint >::subdomainSetup ( SubdomainID  id,
THREAD_ID  tid = 0 
) const
virtualinherited

Definition at line 59 of file MooseObjectWarehouse.h.

186{
187 checkThreadID(tid);
188 if (hasActiveBlockObjects(id, tid))
189 {
190 const auto & objects = getActiveBlockObjects(id, tid);
191 for (const auto & object : objects)
192 object->subdomainSetup();
193 }
194}
const std::map< SubdomainID, std::vector< std::shared_ptr< T > > > & getActiveBlockObjects(THREAD_ID tid=0) const
bool hasActiveBlockObjects(THREAD_ID tid=0) const
virtual void subdomainSetup(THREAD_ID tid=0) const

◆ subdomainSetup() [2/2]

void MooseObjectWarehouse< Constraint >::subdomainSetup ( THREAD_ID  tid = 0) const
virtualinherited

Definition at line 58 of file MooseObjectWarehouse.h.

199{
200 checkThreadID(tid);
201 for (const auto & object : _active_objects[tid])
202 object->subdomainSetup();
203}

◆ timestepSetup()

void MooseObjectWarehouse< Constraint >::timestepSetup ( THREAD_ID  tid = 0) const
virtualinherited

Definition at line 56 of file MooseObjectWarehouse.h.

168{
169 checkThreadID(tid);
170 for (const auto & object : _active_objects[tid])
171 object->timestepSetup();
172}
virtual void timestepSetup(THREAD_ID tid=0) const

◆ updateActive()

void ConstraintWarehouse::updateActive ( THREAD_ID  tid = 0)
overridevirtual

Update the various active lists.

Reimplemented from MooseObjectWarehouse< Constraint >.

Definition at line 295 of file ConstraintWarehouse.C.

296{
299
300 for (auto & it : _node_face_constraints)
301 it.second.updateActive();
302
303 for (auto & it : _displaced_node_face_constraints)
304 it.second.updateActive();
305
306 // FIXME: We call updateActive() on the NodeFaceConstraints again?
307 for (auto & it : _node_face_constraints)
308 it.second.updateActive();
309
310 for (auto & it : _element_constraints)
311 it.second.updateActive();
312
313 for (auto & it : _node_elem_constraints)
314 it.second.updateActive();
315}
void updateActive(THREAD_ID tid=0) override
Update the various active lists.
virtual void updateActive(THREAD_ID tid=0) override
Update the active status of Kernels.

Referenced by NonlinearSystemBase::updateActive().

◆ updateActiveHelper()

template<typename T >
void MooseObjectWarehouseBase< T >::updateActiveHelper ( std::vector< std::shared_ptr< T > > &  active,
const std::vector< std::shared_ptr< T > > &  all 
)
staticprotectedinherited

Helper method for updating active vectors.

Definition at line 675 of file MooseObjectWarehouseBase.h.

677{
678 // Clear the active list
679 active.clear();
680
681 std::copy_if(all.begin(),
682 all.end(),
683 std::back_inserter(active),
684 [](const std::shared_ptr<T> & object) { return object->enabled(); });
685}

Referenced by MooseObjectWarehouseBase< T >::updateActive().

◆ updateBlockFEVariableCoupledVectorTagDependency()

template<typename T >
void MooseObjectWarehouseBase< T >::updateBlockFEVariableCoupledVectorTagDependency ( SubdomainID  id,
std::set< TagID > &  needed_fe_var_vector_tags,
THREAD_ID  tid = 0 
) const
inherited

Definition at line 778 of file MooseObjectWarehouseBase.h.

780{
781 if (hasActiveBlockObjects(id, tid))
782 updateFEVariableCoupledVectorTagDependencyHelper(needed_fe_var_vector_tags,
783 getActiveBlockObjects(id, tid));
784}
static void updateFEVariableCoupledVectorTagDependencyHelper(std::set< TagID > &needed_fe_var_vector_tags, const std::vector< std::shared_ptr< T > > &objects)
Helper method for updating FE variable coupleable vector tag vector.

Referenced by ComputeNodalKernelsThread::onNode(), ComputeIndicatorThread::subdomainChanged(), ComputeMaterialsObjectThread::subdomainChanged(), and ComputeUserObjectsThread::subdomainChanged().

◆ updateBlockMatPropDependency()

template<typename T >
void MooseObjectWarehouseBase< T >::updateBlockMatPropDependency ( SubdomainID  id,
std::unordered_set< unsigned int > &  needed_mat_props,
THREAD_ID  tid = 0,
const bool  producer_only = false 
) const
inherited

Definition at line 825 of file MooseObjectWarehouseBase.h.

830{
831 if (hasActiveBlockObjects(id, tid))
832 updateMatPropDependencyHelper(needed_mat_props, getActiveBlockObjects(id, tid), producer_only);
833}
virtual void updateMatPropDependencyHelper(std::unordered_set< unsigned int > &needed_mat_props, const std::vector< std::shared_ptr< T > > &objects, const bool producer_only) const
Helper method for updating material property dependency vector.

Referenced by FEProblemBase::prepareMaterials().

◆ updateBlockVariableDependency()

template<typename T >
void MooseObjectWarehouseBase< T >::updateBlockVariableDependency ( SubdomainID  id,
std::set< MooseVariableFieldBase * > &  needed_moose_vars,
THREAD_ID  tid = 0 
) const
inherited

Definition at line 716 of file MooseObjectWarehouseBase.h.

720{
721 if (hasActiveBlockObjects(id, tid))
722 updateVariableDependencyHelper(needed_moose_vars, getActiveBlockObjects(id, tid));
723}
static void updateVariableDependencyHelper(std::set< MooseVariableFieldBase * > &needed_moose_vars, const std::vector< std::shared_ptr< T > > &objects)
Helper method for updating variable dependency vector.

◆ updateBoundaryFEVariableCoupledVectorTagDependency()

template<typename T >
void MooseObjectWarehouseBase< T >::updateBoundaryFEVariableCoupledVectorTagDependency ( BoundaryID  id,
std::set< TagID > &  needed_fe_var_vector_tags,
THREAD_ID  tid = 0 
) const
inherited

Definition at line 788 of file MooseObjectWarehouseBase.h.

790{
791 if (hasActiveBoundaryObjects(id, tid))
792 updateFEVariableCoupledVectorTagDependencyHelper(needed_fe_var_vector_tags,
793 getActiveBoundaryObjects(id, tid));
794}
const std::map< BoundaryID, std::vector< std::shared_ptr< T > > > & getActiveBoundaryObjects(THREAD_ID tid=0) const
bool hasActiveBoundaryObjects(THREAD_ID tid=0) const

Referenced by ComputeNodalKernelBcsThread::onNode().

◆ updateBoundaryMatPropDependency() [1/2]

template<typename T >
void MooseObjectWarehouseBase< T >::updateBoundaryMatPropDependency ( BoundaryID  id,
std::unordered_set< unsigned int > &  needed_mat_props,
THREAD_ID  tid = 0,
const bool  producer_only = false 
) const
inherited

Definition at line 849 of file MooseObjectWarehouseBase.h.

854{
855 if (hasActiveBoundaryObjects(id, tid))
857 needed_mat_props, getActiveBoundaryObjects(id, tid), producer_only);
858}

◆ updateBoundaryMatPropDependency() [2/2]

template<typename T >
void MooseObjectWarehouseBase< T >::updateBoundaryMatPropDependency ( std::unordered_set< unsigned int > &  needed_mat_props,
THREAD_ID  tid = 0,
const bool  producer_only = false 
) const
inherited

Definition at line 837 of file MooseObjectWarehouseBase.h.

841{
843 for (auto & active_bnd_object : _active_boundary_objects[tid])
844 updateMatPropDependencyHelper(needed_mat_props, active_bnd_object.second, producer_only);
845}

Referenced by FEProblemBase::prepareMaterials().

◆ updateBoundaryVariableDependency() [1/2]

template<typename T >
void MooseObjectWarehouseBase< T >::updateBoundaryVariableDependency ( BoundaryID  id,
std::set< MooseVariableFieldBase * > &  needed_moose_vars,
THREAD_ID  tid = 0 
) const
inherited

Definition at line 740 of file MooseObjectWarehouseBase.h.

744{
745 if (hasActiveBoundaryObjects(id, tid))
746 updateVariableDependencyHelper(needed_moose_vars, getActiveBoundaryObjects(id, tid));
747}

◆ updateBoundaryVariableDependency() [2/2]

template<typename T >
void MooseObjectWarehouseBase< T >::updateBoundaryVariableDependency ( std::set< MooseVariableFieldBase * > &  needed_moose_vars,
THREAD_ID  tid = 0 
) const
inherited

Definition at line 727 of file MooseObjectWarehouseBase.h.

729{
731 {
732 typename std::map<BoundaryID, std::vector<std::shared_ptr<T>>>::const_iterator it;
733 for (const auto & object_pair : _active_boundary_objects[tid])
734 updateVariableDependencyHelper(needed_moose_vars, object_pair.second);
735 }
736}

Referenced by FEProblemBase::prepareMaterials().

◆ updateFEVariableCoupledVectorTagDependency()

template<typename T >
void MooseObjectWarehouseBase< T >::updateFEVariableCoupledVectorTagDependency ( std::set< TagID > &  needed_fe_var_vector_tags,
THREAD_ID  tid = 0 
) const
inherited

Update FE variable coupleable vector tag vector for all objects, block-restricted objects, and boundary-restricted objects.

Definition at line 768 of file MooseObjectWarehouseBase.h.

770{
771 if (hasActiveObjects(tid))
772 updateFEVariableCoupledVectorTagDependencyHelper(needed_fe_var_vector_tags,
773 _active_objects[tid]);
774}

◆ updateFEVariableCoupledVectorTagDependencyHelper()

template<typename T >
void MooseObjectWarehouseBase< T >::updateFEVariableCoupledVectorTagDependencyHelper ( std::set< TagID > &  needed_fe_var_vector_tags,
const std::vector< std::shared_ptr< T > > &  objects 
)
staticprotectedinherited

Helper method for updating FE variable coupleable vector tag vector.

Definition at line 798 of file MooseObjectWarehouseBase.h.

800{
801 for (const auto & object : objects)
802 {
803 auto c = dynamic_cast<const Coupleable *>(object.get());
804 if (c)
805 {
806 const auto & tag_deps = c->getFEVariableCoupleableVectorTags();
807 needed_fe_var_vector_tags.insert(tag_deps.begin(), tag_deps.end());
808 }
809 }
810}
Interface for objects that needs coupling capabilities.
Definition Coupleable.h:53
std::set< TagID > & getFEVariableCoupleableVectorTags()
Definition Coupleable.h:120

Referenced by MooseObjectWarehouseBase< T >::updateBlockFEVariableCoupledVectorTagDependency(), MooseObjectWarehouseBase< T >::updateBoundaryFEVariableCoupledVectorTagDependency(), and MooseObjectWarehouseBase< T >::updateFEVariableCoupledVectorTagDependency().

◆ updateMatPropDependency()

template<typename T >
void MooseObjectWarehouseBase< T >::updateMatPropDependency ( std::unordered_set< unsigned int > &  needed_mat_props,
THREAD_ID  tid = 0,
const bool  producer_only = false 
) const
inherited

Update material property dependency vector.

Parameters
producer_onlyOnly append dependencies of materials producing the needed_mat_props

Definition at line 814 of file MooseObjectWarehouseBase.h.

818{
819 if (hasActiveObjects(tid))
820 updateMatPropDependencyHelper(needed_mat_props, _active_objects[tid], producer_only);
821}

Referenced by ComputeDiracThread::subdomainChanged(), ComputeIndicatorThread::subdomainChanged(), and ComputeMarkerThread::subdomainChanged().

◆ updateMatPropDependencyHelper()

template<typename T >
void MooseObjectWarehouseBase< T >::updateMatPropDependencyHelper ( std::unordered_set< unsigned int > &  needed_mat_props,
const std::vector< std::shared_ptr< T > > &  objects,
const bool  producer_only 
) const
protectedvirtualinherited

Helper method for updating material property dependency vector.

Definition at line 862 of file MooseObjectWarehouseBase.h.

866{
867 for (auto & object : objects)
868 {
869 auto c = dynamic_cast<const MaterialPropertyInterface *>(object.get());
870 if (c)
871 {
872 auto & mp_deps = c->getMatPropDependencies();
873 needed_mat_props.insert(mp_deps.begin(), mp_deps.end());
874 }
875 }
876}
An interface for accessing Materials.
virtual const std::unordered_set< unsigned int > & getMatPropDependencies() const
Retrieve the set of material properties that this object depends on.

Referenced by MaterialWarehouse::updateMatPropDependencyHelper().

◆ updateVariableDependency()

template<typename T >
void MooseObjectWarehouseBase< T >::updateVariableDependency ( std::set< MooseVariableFieldBase * > &  needed_moose_vars,
THREAD_ID  tid = 0 
) const
inherited

◆ updateVariableDependencyHelper()

template<typename T >
void MooseObjectWarehouseBase< T >::updateVariableDependencyHelper ( std::set< MooseVariableFieldBase * > &  needed_moose_vars,
const std::vector< std::shared_ptr< T > > &  objects 
)
staticprotectedinherited

Helper method for updating variable dependency vector.

Definition at line 751 of file MooseObjectWarehouseBase.h.

754{
755 for (const auto & object : objects)
756 {
757 auto c = dynamic_cast<const MooseVariableDependencyInterface *>(object.get());
758 if (c)
759 {
760 const auto & mv_deps = c->getMooseVariableDependencies();
761 needed_moose_vars.insert(mv_deps.begin(), mv_deps.end());
762 }
763 }
764}
const std::set< MooseVariableFieldBase * > & getMooseVariableDependencies() const
Retrieve the set of MooseVariableFieldBase that this object depends on.

Referenced by MooseObjectWarehouseBase< T >::updateBlockVariableDependency(), MooseObjectWarehouseBase< T >::updateBoundaryVariableDependency(), MooseObjectWarehouseBase< T >::updateBoundaryVariableDependency(), and MooseObjectWarehouseBase< T >::updateVariableDependency().

Member Data Documentation

◆ _active_block_objects

template<typename T >
std::vector<std::map<SubdomainID, std::vector<std::shared_ptr<T> > > > MooseObjectWarehouseBase< T >::_active_block_objects
protectedinherited

◆ _active_boundary_objects

template<typename T >
std::vector<std::map<BoundaryID, std::vector<std::shared_ptr<T> > > > MooseObjectWarehouseBase< T >::_active_boundary_objects
protectedinherited

◆ _active_objects

template<typename T >
std::vector<std::vector<std::shared_ptr<T> > > MooseObjectWarehouseBase< T >::_active_objects
protectedinherited

◆ _all_block_objects

template<typename T >
std::vector<std::map<SubdomainID, std::vector<std::shared_ptr<T> > > > MooseObjectWarehouseBase< T >::_all_block_objects
protectedinherited

◆ _all_boundary_objects

template<typename T >
std::vector<std::map<BoundaryID, std::vector<std::shared_ptr<T> > > > MooseObjectWarehouseBase< T >::_all_boundary_objects
protectedinherited

◆ _all_objects

template<typename T >
std::vector<std::vector<std::shared_ptr<T> > > MooseObjectWarehouseBase< T >::_all_objects
protectedinherited

◆ _all_variable_objects

template<typename T >
std::vector<std::map<VariableName, std::vector<std::shared_ptr<T> > > > MooseObjectWarehouseBase< T >::_all_variable_objects
protectedinherited

◆ _displaced_element_constraints

std::map<unsigned int, MooseObjectWarehouse<ElemElemConstraint> > ConstraintWarehouse::_displaced_element_constraints
protected

ElemElemConstraints (displaced)

Definition at line 105 of file ConstraintWarehouse.h.

Referenced by addObject(), getActiveElemElemConstraints(), and hasActiveElemElemConstraints().

◆ _displaced_mortar_constraints

std::map<std::pair<BoundaryID, BoundaryID>, MooseObjectWarehouse<MortarConstraintBase> > ConstraintWarehouse::_displaced_mortar_constraints
protected

Displaced MortarConstraints.

Definition at line 99 of file ConstraintWarehouse.h.

Referenced by addObject(), getActiveMortarConstraints(), hasActiveMortarConstraints(), and subdomainsCovered().

◆ _displaced_node_elem_constraints

std::map<std::pair<SubdomainID, SubdomainID>, MooseObjectWarehouse<NodeElemConstraintBase> > ConstraintWarehouse::_displaced_node_elem_constraints
protected

◆ _displaced_node_face_constraints

std::map<BoundaryID, MooseObjectWarehouse<NodeFaceConstraint> > ConstraintWarehouse::_displaced_node_face_constraints
protected

◆ _element_constraints

std::map<unsigned int, MooseObjectWarehouse<ElemElemConstraint> > ConstraintWarehouse::_element_constraints
protected

ElemElemConstraints (non-displaced)

Definition at line 102 of file ConstraintWarehouse.h.

Referenced by addObject(), getActiveElemElemConstraints(), hasActiveElemElemConstraints(), and updateActive().

◆ _mortar_constraints

std::map<std::pair<BoundaryID, BoundaryID>, MooseObjectWarehouse<MortarConstraintBase> > ConstraintWarehouse::_mortar_constraints
protected

Undisplaced MortarConstraints.

Definition at line 95 of file ConstraintWarehouse.h.

Referenced by addObject(), getActiveMortarConstraints(), hasActiveMortarConstraints(), and subdomainsCovered().

◆ _nodal_constraints

MooseObjectWarehouse<NodalConstraint> ConstraintWarehouse::_nodal_constraints
protected

◆ _node_elem_constraints

std::map<std::pair<SubdomainID, SubdomainID>, MooseObjectWarehouse<NodeElemConstraintBase> > ConstraintWarehouse::_node_elem_constraints
protected

◆ _node_face_constraints

std::map<BoundaryID, MooseObjectWarehouse<NodeFaceConstraint> > ConstraintWarehouse::_node_face_constraints
protected

◆ _num_threads

template<typename T >
const THREAD_ID MooseObjectWarehouseBase< T >::_num_threads
protectedinherited

Convenience member storing the number of threads used for storage (1 or libMesh::n_threads)

Definition at line 217 of file MooseObjectWarehouseBase.h.

Referenced by MooseObjectWarehouseBase< T >::checkThreadID(), and MooseObjectWarehouseBase< T >::numThreads().

◆ _variable_objects

std::map<unsigned int, MooseObjectWarehouse<Constraint > > MooseObjectWarehouse< Constraint >::_variable_objects
protectedinherited

Variable based storage.

Definition at line 88 of file MooseObjectWarehouse.h.


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