www.mooseframework.org
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)
 Add Constraint object to the warehouse. More...
 
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. More...
 
void updateActive (THREAD_ID tid=0)
 Update the various active lists. More...
 
std::set< SubdomainIDgetActiveBlocks (THREAD_ID tid=0) const
 Return a set of active SubdomainsIDs. More...
 
void sort (THREAD_ID tid=0)
 Sort the objects using the DependencyResolver. More...
 
const std::vector< std::shared_ptr< NodalConstraint > > & getActiveNodalConstraints () const
 Access methods for active objects. More...
 
const std::vector< std::shared_ptr< FaceFaceConstraint > > & getActiveFaceFaceConstraints (const std::string &interface) const
 
const std::vector< std::shared_ptr< ElemElemConstraint > > & getActiveElemElemConstraints (InterfaceID interface_id) const
 
const std::vector< std::shared_ptr< NodeFaceConstraint > > & getActiveNodeFaceConstraints (BoundaryID boundary_id, bool displaced) const
 
bool hasActiveNodalConstraints () const
 Deterimine if active objects exist. More...
 
bool hasActiveFaceFaceConstraints (const std::string &interface) const
 
bool hasActiveElemElemConstraints (const InterfaceID interface_id) const
 
bool hasActiveNodeFaceConstraints (BoundaryID boundary_id, bool displaced) const
 
virtual void initialSetup (THREAD_ID tid=0) const
 Convenience methods for calling object setup methods. More...
 
virtual void timestepSetup (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
 
const std::vector< std::shared_ptr< Constraint > > & getObjects (THREAD_ID tid=0) const
 Retrieve complete vector to the all/block/boundary restricted objects for a given thread. More...
 
const std::map< SubdomainID, std::vector< std::shared_ptr< Constraint > > > & getBlockObjects (THREAD_ID tid=0) const
 
const std::vector< std::shared_ptr< Constraint > > & getBlockObjects (SubdomainID id, THREAD_ID tid=0) const
 
const std::map< BoundaryID, std::vector< std::shared_ptr< Constraint > > > & getBoundaryObjects (THREAD_ID tid=0) const
 
const std::vector< std::shared_ptr< Constraint > > & getBoundaryObjects (BoundaryID id, THREAD_ID tid=0) const
 
const std::vector< std::shared_ptr< Constraint > > & getActiveObjects (THREAD_ID tid=0) const
 Retrieve complete vector to the active all/block/boundary restricted objects for a given thread. More...
 
const std::map< SubdomainID, std::vector< std::shared_ptr< Constraint > > > & getActiveBlockObjects (THREAD_ID tid=0) const
 
const std::vector< std::shared_ptr< Constraint > > & getActiveBlockObjects (SubdomainID id, THREAD_ID tid=0) const
 
const std::map< BoundaryID, std::vector< std::shared_ptr< Constraint > > > & getActiveBoundaryObjects (THREAD_ID tid=0) const
 
const std::vector< std::shared_ptr< Constraint > > & getActiveBoundaryObjects (BoundaryID id, THREAD_ID tid=0) const
 
bool hasActiveObjects (THREAD_ID tid=0) const
 Convenience functions for determining if objects exist. More...
 
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 hasActiveObject (const std::string &name, THREAD_ID tid=0) const
 Convenience functions for checking/getting specific objects. More...
 
std::shared_ptr< ConstraintgetActiveObject (const std::string &name, THREAD_ID tid=0) const
 
void updateVariableDependency (std::set< MooseVariable * > &needed_moose_vars, THREAD_ID tid=0) const
 Update variable dependency vector. More...
 
void updateBlockVariableDependency (SubdomainID id, std::set< MooseVariable * > &needed_moose_vars, THREAD_ID tid=0) const
 
void updateBoundaryVariableDependency (std::set< MooseVariable * > &needed_moose_vars, THREAD_ID tid=0) const
 
void updateBoundaryVariableDependency (BoundaryID id, std::set< MooseVariable * > &needed_moose_vars, THREAD_ID tid=0) const
 
void updateMatPropDependency (std::set< unsigned int > &needed_mat_props, THREAD_ID tid=0) const
 Update material property dependency vector. More...
 
void updateBlockMatPropDependency (SubdomainID id, std::set< unsigned int > &needed_mat_props, THREAD_ID tid=0) const
 
void updateBoundaryMatPropDependency (std::set< unsigned int > &needed_mat_props, THREAD_ID tid=0) const
 
void updateBoundaryMatPropDependency (BoundaryID id, std::set< unsigned int > &needed_mat_props, THREAD_ID tid=0) const
 

Protected Member Functions

void checkThreadID (THREAD_ID tid) const
 Calls assert on thread id. More...
 

Static Protected Member Functions

static void updateActiveHelper (std::vector< std::shared_ptr< Constraint >> &active, const std::vector< std::shared_ptr< Constraint >> &all)
 Helper method for updating active vectors. More...
 
static void sortHelper (std::vector< std::shared_ptr< Constraint >> &objects)
 Helper method for sorting vectors of objects. More...
 
static void updateVariableDependencyHelper (std::set< MooseVariable * > &needed_moose_vars, const std::vector< std::shared_ptr< Constraint >> &objects)
 Helper method for updating variable dependency vector. More...
 
static void updateMatPropDependencyHelper (std::set< unsigned int > &needed_mat_props, const std::vector< std::shared_ptr< Constraint >> &objects)
 Helper method for updating material property dependency vector. More...
 

Protected Attributes

MooseObjectWarehouse< NodalConstraint_nodal_constraints
 NodalConstraint objects. More...
 
std::map< BoundaryID, MooseObjectWarehouse< NodeFaceConstraint > > _node_face_constraints
 NodeFaceConstraint objects (non-displaced) More...
 
std::map< BoundaryID, MooseObjectWarehouse< NodeFaceConstraint > > _displaced_node_face_constraints
 NodeFaceConstraint objects (displaced) More...
 
std::map< std::string, MooseObjectWarehouse< FaceFaceConstraint > > _face_face_constraints
 FaceFaceConstraints. More...
 
std::map< unsigned int, MooseObjectWarehouse< ElemElemConstraint > > _element_constraints
 ElemElemConstraints. More...
 
const THREAD_ID _num_threads
 Convenience member storing the number of threads used for storage (1 or libMesh::n_threads) More...
 
std::vector< std::vector< std::shared_ptr< Constraint > > > _all_objects
 Storage container for the ALL pointers (THREAD_ID on outer vector) More...
 
std::vector< std::vector< std::shared_ptr< Constraint > > > _active_objects
 All active objects (THREAD_ID on outer vector) More...
 
std::vector< std::map< SubdomainID, std::vector< std::shared_ptr< Constraint > > > > _all_block_objects
 
std::vector< std::map< SubdomainID, std::vector< std::shared_ptr< Constraint > > > > _active_block_objects
 Active block restricted objects (THREAD_ID on outer vector) More...
 
std::vector< std::map< BoundaryID, std::vector< std::shared_ptr< Constraint > > > > _all_boundary_objects
 
std::vector< std::map< BoundaryID, std::vector< std::shared_ptr< Constraint > > > > _active_boundary_objects
 Active boundary restricted objects (THREAD_ID on outer vector) More...
 

Detailed Description

Warehouse for storing constraints.

Definition at line 31 of file ConstraintWarehouse.h.

Constructor & Destructor Documentation

ConstraintWarehouse::ConstraintWarehouse ( )

Definition at line 24 of file ConstraintWarehouse.C.

Member Function Documentation

void ConstraintWarehouse::addObject ( std::shared_ptr< Constraint object,
THREAD_ID  tid = 0 
)
virtual

Add Constraint object to the warehouse.

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

Reimplemented from MooseObjectWarehouseBase< Constraint >.

Definition at line 27 of file ConstraintWarehouse.C.

Referenced by NonlinearSystemBase::addConstraint().

28 {
29  // Adds to the storage of _all_objects
31 
32  // Cast the the possible Contraint types
33  std::shared_ptr<NodeFaceConstraint> nfc = std::dynamic_pointer_cast<NodeFaceConstraint>(object);
34  std::shared_ptr<FaceFaceConstraint> ffc = std::dynamic_pointer_cast<FaceFaceConstraint>(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 
38  // NodeFaceConstraint
39  if (nfc)
40  {
41  MooseMesh & mesh = nfc->getParam<FEProblemBase *>("_fe_problem_base")->mesh();
42  unsigned int slave = mesh.getBoundaryID(nfc->getParam<BoundaryName>("slave"));
43  bool displaced = nfc->parameters().have_parameter<bool>("use_displaced_mesh") &&
44  nfc->getParam<bool>("use_displaced_mesh");
45 
46  if (displaced)
47  _displaced_node_face_constraints[slave].addObject(nfc);
48  else
49  _node_face_constraints[slave].addObject(nfc);
50  }
51 
52  // FaceFaceConstraint
53  else if (ffc)
54  {
55  const std::string & interface = ffc->getParam<std::string>("interface");
56  _face_face_constraints[interface].addObject(ffc);
57  }
58 
59  // ElemElemConstraint
60  else if (ec)
61  {
62  const InterfaceID interface_id = ec->getParam<InterfaceID>("interface_id");
63  _element_constraints[interface_id].addObject(ec);
64  }
65 
66  // NodalConstraint
67  else if (nc)
69 
70  else
71  mooseError("Unknown type of Constraint object");
72 }
MooseObjectWarehouse< NodalConstraint > _nodal_constraints
NodalConstraint objects.
std::map< BoundaryID, MooseObjectWarehouse< NodeFaceConstraint > > _displaced_node_face_constraints
NodeFaceConstraint objects (displaced)
if(nl->nonlinearSolver() ->matvec &&nl->nonlinearSolver() ->residual_and_jacobian_object)
User for mortar methods.
void mooseError(Args &&...args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:182
virtual void addObject(std::shared_ptr< T > object, THREAD_ID tid=0)
Adds an object to the storage structure.
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
std::map< std::string, MooseObjectWarehouse< FaceFaceConstraint > > _face_face_constraints
FaceFaceConstraints.
BoundaryID getBoundaryID(const BoundaryName &boundary_name) const
Get the associated BoundaryID for the boundary name.
Definition: MooseMesh.C:929
void addObject(std::shared_ptr< Constraint > object, THREAD_ID tid=0)
Add Constraint object to the warehouse.
A NodeFaceConstraint is used when you need to create constraints between two surfaces in a mesh...
MooseMesh wraps a libMesh::Mesh object and enhances its capabilities by caching additional data and s...
Definition: MooseMesh.h:74
unsigned int InterfaceID
Definition: MooseTypes.h:76
const T & getParam(const std::string &name) const
Retrieve a parameter for the object.
Definition: MooseObject.h:122
std::map< unsigned int, MooseObjectWarehouse< ElemElemConstraint > > _element_constraints
ElemElemConstraints.
std::map< BoundaryID, MooseObjectWarehouse< NodeFaceConstraint > > _node_face_constraints
NodeFaceConstraint objects (non-displaced)
void MooseObjectWarehouseBase< Constraint >::checkThreadID ( THREAD_ID  tid) const
protectedinherited

Calls assert on thread id.

const std::map<SubdomainID, std::vector<std::shared_ptr<Constraint > > >& MooseObjectWarehouseBase< Constraint >::getActiveBlockObjects ( THREAD_ID  tid = 0) const
inherited
const std::vector<std::shared_ptr<Constraint > >& MooseObjectWarehouseBase< Constraint >::getActiveBlockObjects ( SubdomainID  id,
THREAD_ID  tid = 0 
) const
inherited
std::set<SubdomainID> MooseObjectWarehouseBase< Constraint >::getActiveBlocks ( THREAD_ID  tid = 0) const
inherited

Return a set of active SubdomainsIDs.

const std::map<BoundaryID, std::vector<std::shared_ptr<Constraint > > >& MooseObjectWarehouseBase< Constraint >::getActiveBoundaryObjects ( THREAD_ID  tid = 0) const
inherited
const std::vector<std::shared_ptr<Constraint > >& MooseObjectWarehouseBase< Constraint >::getActiveBoundaryObjects ( BoundaryID  id,
THREAD_ID  tid = 0 
) const
inherited
const std::vector< std::shared_ptr< ElemElemConstraint > > & ConstraintWarehouse::getActiveElemElemConstraints ( InterfaceID  interface_id) const

Definition at line 115 of file ConstraintWarehouse.C.

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

116 {
117  std::map<unsigned int, MooseObjectWarehouse<ElemElemConstraint>>::const_iterator it =
118  _element_constraints.find(interface_id);
119  mooseAssert(it != _element_constraints.end(),
120  "Unable to locate storage for ElemElemConstraint objects for the given interface id: "
121  << interface_id);
122  return it->second.getActiveObjects();
123 }
std::map< unsigned int, MooseObjectWarehouse< ElemElemConstraint > > _element_constraints
ElemElemConstraints.
const std::vector< std::shared_ptr< FaceFaceConstraint > > & ConstraintWarehouse::getActiveFaceFaceConstraints ( const std::string &  interface) const

Definition at line 104 of file ConstraintWarehouse.C.

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

105 {
106  std::map<std::string, MooseObjectWarehouse<FaceFaceConstraint>>::const_iterator it =
107  _face_face_constraints.find(interface);
108  mooseAssert(it != _face_face_constraints.end(),
109  "Unable to locate storage for FaceFaceConstraint objects for the given interface: "
110  << interface);
111  return it->second.getActiveObjects();
112 }
std::map< std::string, MooseObjectWarehouse< FaceFaceConstraint > > _face_face_constraints
FaceFaceConstraints.
const std::vector< std::shared_ptr< NodalConstraint > > & ConstraintWarehouse::getActiveNodalConstraints ( ) const

Access methods for active objects.

Definition at line 75 of file ConstraintWarehouse.C.

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

76 {
78 }
MooseObjectWarehouse< NodalConstraint > _nodal_constraints
NodalConstraint objects.
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::vector< std::shared_ptr< NodeFaceConstraint > > & ConstraintWarehouse::getActiveNodeFaceConstraints ( BoundaryID  boundary_id,
bool  displaced 
) const

Definition at line 81 of file ConstraintWarehouse.C.

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

82 {
83  std::map<BoundaryID, MooseObjectWarehouse<NodeFaceConstraint>>::const_iterator it, end_it;
84 
85  if (displaced)
86  {
87  it = _displaced_node_face_constraints.find(boundary_id);
88  end_it = _displaced_node_face_constraints.end();
89  }
90 
91  else
92  {
93  it = _node_face_constraints.find(boundary_id);
94  end_it = _node_face_constraints.end();
95  }
96 
97  mooseAssert(it != end_it,
98  "Unable to locate storage for NodeFaceConstraint objects for the given boundary id: "
99  << boundary_id);
100  return it->second.getActiveObjects();
101 }
std::map< BoundaryID, MooseObjectWarehouse< NodeFaceConstraint > > _displaced_node_face_constraints
NodeFaceConstraint objects (displaced)
std::map< BoundaryID, MooseObjectWarehouse< NodeFaceConstraint > > _node_face_constraints
NodeFaceConstraint objects (non-displaced)
std::shared_ptr<Constraint > MooseObjectWarehouseBase< Constraint >::getActiveObject ( const std::string &  name,
THREAD_ID  tid = 0 
) const
inherited
const std::vector<std::shared_ptr<Constraint > >& MooseObjectWarehouseBase< Constraint >::getActiveObjects ( THREAD_ID  tid = 0) const
inherited

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

Parameters
tidThe thread id to retrieve objects from
const std::map<SubdomainID, std::vector<std::shared_ptr<Constraint > > >& MooseObjectWarehouseBase< Constraint >::getBlockObjects ( THREAD_ID  tid = 0) const
inherited
const std::vector<std::shared_ptr<Constraint > >& MooseObjectWarehouseBase< Constraint >::getBlockObjects ( SubdomainID  id,
THREAD_ID  tid = 0 
) const
inherited
const std::map<BoundaryID, std::vector<std::shared_ptr<Constraint > > >& MooseObjectWarehouseBase< Constraint >::getBoundaryObjects ( THREAD_ID  tid = 0) const
inherited
const std::vector<std::shared_ptr<Constraint > >& MooseObjectWarehouseBase< Constraint >::getBoundaryObjects ( BoundaryID  id,
THREAD_ID  tid = 0 
) const
inherited
const std::vector<std::shared_ptr<Constraint > >& MooseObjectWarehouseBase< Constraint >::getObjects ( THREAD_ID  tid = 0) const
inherited

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

Parameters
tidThe thread id to retrieve objects from
bool MooseObjectWarehouseBase< Constraint >::hasActiveBlockObjects ( THREAD_ID  tid = 0) const
inherited
bool MooseObjectWarehouseBase< Constraint >::hasActiveBlockObjects ( SubdomainID  id,
THREAD_ID  tid = 0 
) const
inherited
bool MooseObjectWarehouseBase< Constraint >::hasActiveBoundaryObjects ( THREAD_ID  tid = 0) const
inherited
bool MooseObjectWarehouseBase< Constraint >::hasActiveBoundaryObjects ( BoundaryID  id,
THREAD_ID  tid = 0 
) const
inherited
bool ConstraintWarehouse::hasActiveElemElemConstraints ( const InterfaceID  interface_id) const

Definition at line 140 of file ConstraintWarehouse.C.

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

141 {
142  std::map<unsigned int, MooseObjectWarehouse<ElemElemConstraint>>::const_iterator it =
143  _element_constraints.find(interface_id);
144  return (it != _element_constraints.end() && it->second.hasActiveObjects());
145 }
std::map< unsigned int, MooseObjectWarehouse< ElemElemConstraint > > _element_constraints
ElemElemConstraints.
bool ConstraintWarehouse::hasActiveFaceFaceConstraints ( const std::string &  interface) const

Definition at line 132 of file ConstraintWarehouse.C.

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

133 {
134  std::map<std::string, MooseObjectWarehouse<FaceFaceConstraint>>::const_iterator it =
135  _face_face_constraints.find(interface);
136  return (it != _face_face_constraints.end() && it->second.hasActiveObjects());
137 }
std::map< std::string, MooseObjectWarehouse< FaceFaceConstraint > > _face_face_constraints
FaceFaceConstraints.
bool ConstraintWarehouse::hasActiveNodalConstraints ( ) const

Deterimine if active objects exist.

Definition at line 126 of file ConstraintWarehouse.C.

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

127 {
129 }
MooseObjectWarehouse< NodalConstraint > _nodal_constraints
NodalConstraint objects.
bool hasActiveObjects(THREAD_ID tid=0) const
Convenience functions for determining if objects exist.
bool ConstraintWarehouse::hasActiveNodeFaceConstraints ( BoundaryID  boundary_id,
bool  displaced 
) const

Definition at line 148 of file ConstraintWarehouse.C.

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

149 {
150  std::map<BoundaryID, MooseObjectWarehouse<NodeFaceConstraint>>::const_iterator it, end_it;
151 
152  if (displaced)
153  {
154  it = _displaced_node_face_constraints.find(boundary_id);
155  end_it = _displaced_node_face_constraints.end();
156  }
157 
158  else
159  {
160  it = _node_face_constraints.find(boundary_id);
161  end_it = _node_face_constraints.end();
162  }
163 
164  return (it != end_it && it->second.hasActiveObjects());
165 }
std::map< BoundaryID, MooseObjectWarehouse< NodeFaceConstraint > > _displaced_node_face_constraints
NodeFaceConstraint objects (displaced)
std::map< BoundaryID, MooseObjectWarehouse< NodeFaceConstraint > > _node_face_constraints
NodeFaceConstraint objects (non-displaced)
bool MooseObjectWarehouseBase< Constraint >::hasActiveObject ( const std::string &  name,
THREAD_ID  tid = 0 
) const
inherited

Convenience functions for checking/getting specific objects.

bool MooseObjectWarehouseBase< Constraint >::hasActiveObjects ( THREAD_ID  tid = 0) const
inherited

Convenience functions for determining if objects exist.

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

Convenience methods for calling object setup methods.

virtual void MooseObjectWarehouse< Constraint >::jacobianSetup ( THREAD_ID  tid = 0) const
virtualinherited
virtual void MooseObjectWarehouse< Constraint >::residualSetup ( THREAD_ID  tid = 0) const
virtualinherited
void MooseObjectWarehouseBase< Constraint >::sort ( THREAD_ID  tid = 0)
inherited

Sort the objects using the DependencyResolver.

static void MooseObjectWarehouseBase< Constraint >::sortHelper ( std::vector< std::shared_ptr< Constraint >> &  objects)
staticprotectedinherited

Helper method for sorting vectors of objects.

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 187 of file ConstraintWarehouse.C.

Referenced by NonlinearSystemBase::checkKernelCoverage().

190 {
191  for (const auto & it : _face_face_constraints)
192  {
193  const auto & objects = it.second.getActiveObjects();
194  for (const auto & ffc : objects)
195  {
196  MooseVariable & var = ffc->variable();
197  unique_variables.insert(var.name());
198  const std::set<SubdomainID> & subdomains = var.activeSubdomains();
199  subdomains_covered.insert(subdomains.begin(), subdomains.end());
200  }
201  }
202 }
Class for stuff related to variables.
Definition: MooseVariable.h:43
const std::string & name() const
Get the variable name.
std::map< std::string, MooseObjectWarehouse< FaceFaceConstraint > > _face_face_constraints
FaceFaceConstraints.
const std::set< SubdomainID > & activeSubdomains() const
void insert(NumericVector< Number > &residual)
virtual void MooseObjectWarehouse< Constraint >::subdomainSetup ( THREAD_ID  tid = 0) const
virtualinherited
virtual void MooseObjectWarehouse< Constraint >::subdomainSetup ( SubdomainID  id,
THREAD_ID  tid = 0 
) const
virtualinherited
virtual void MooseObjectWarehouse< Constraint >::timestepSetup ( THREAD_ID  tid = 0) const
virtualinherited
void ConstraintWarehouse::updateActive ( THREAD_ID  tid = 0)
virtual

Update the various active lists.

Reimplemented from MooseObjectWarehouseBase< Constraint >.

Definition at line 167 of file ConstraintWarehouse.C.

Referenced by NonlinearSystemBase::updateActive().

168 {
171 
172  for (auto & it : _node_face_constraints)
173  it.second.updateActive();
174 
175  for (auto & it : _displaced_node_face_constraints)
176  it.second.updateActive();
177 
178  // FIXME: We call updateActive() on the NodeFaceConstraints again?
179  for (auto & it : _node_face_constraints)
180  it.second.updateActive();
181 
182  for (auto & it : _element_constraints)
183  it.second.updateActive();
184 }
MooseObjectWarehouse< NodalConstraint > _nodal_constraints
NodalConstraint objects.
std::map< BoundaryID, MooseObjectWarehouse< NodeFaceConstraint > > _displaced_node_face_constraints
NodeFaceConstraint objects (displaced)
std::map< unsigned int, MooseObjectWarehouse< ElemElemConstraint > > _element_constraints
ElemElemConstraints.
virtual void updateActive(THREAD_ID tid=0)
Updates the active objects storage.
std::map< BoundaryID, MooseObjectWarehouse< NodeFaceConstraint > > _node_face_constraints
NodeFaceConstraint objects (non-displaced)
static void MooseObjectWarehouseBase< Constraint >::updateActiveHelper ( std::vector< std::shared_ptr< Constraint >> &  active,
const std::vector< std::shared_ptr< Constraint >> &  all 
)
staticprotectedinherited

Helper method for updating active vectors.

void MooseObjectWarehouseBase< Constraint >::updateBlockMatPropDependency ( SubdomainID  id,
std::set< unsigned int > &  needed_mat_props,
THREAD_ID  tid = 0 
) const
inherited
void MooseObjectWarehouseBase< Constraint >::updateBlockVariableDependency ( SubdomainID  id,
std::set< MooseVariable * > &  needed_moose_vars,
THREAD_ID  tid = 0 
) const
inherited
void MooseObjectWarehouseBase< Constraint >::updateBoundaryMatPropDependency ( std::set< unsigned int > &  needed_mat_props,
THREAD_ID  tid = 0 
) const
inherited
void MooseObjectWarehouseBase< Constraint >::updateBoundaryMatPropDependency ( BoundaryID  id,
std::set< unsigned int > &  needed_mat_props,
THREAD_ID  tid = 0 
) const
inherited
void MooseObjectWarehouseBase< Constraint >::updateBoundaryVariableDependency ( std::set< MooseVariable * > &  needed_moose_vars,
THREAD_ID  tid = 0 
) const
inherited
void MooseObjectWarehouseBase< Constraint >::updateBoundaryVariableDependency ( BoundaryID  id,
std::set< MooseVariable * > &  needed_moose_vars,
THREAD_ID  tid = 0 
) const
inherited
void MooseObjectWarehouseBase< Constraint >::updateMatPropDependency ( std::set< unsigned int > &  needed_mat_props,
THREAD_ID  tid = 0 
) const
inherited

Update material property dependency vector.

static void MooseObjectWarehouseBase< Constraint >::updateMatPropDependencyHelper ( std::set< unsigned int > &  needed_mat_props,
const std::vector< std::shared_ptr< Constraint >> &  objects 
)
staticprotectedinherited

Helper method for updating material property dependency vector.

void MooseObjectWarehouseBase< Constraint >::updateVariableDependency ( std::set< MooseVariable * > &  needed_moose_vars,
THREAD_ID  tid = 0 
) const
inherited

Update variable dependency vector.

static void MooseObjectWarehouseBase< Constraint >::updateVariableDependencyHelper ( std::set< MooseVariable * > &  needed_moose_vars,
const std::vector< std::shared_ptr< Constraint >> &  objects 
)
staticprotectedinherited

Helper method for updating variable dependency vector.

Member Data Documentation

std::vector<std::map<SubdomainID, std::vector<std::shared_ptr<Constraint > > > > MooseObjectWarehouseBase< Constraint >::_active_block_objects
protectedinherited

Active block restricted objects (THREAD_ID on outer vector)

Definition at line 171 of file MooseObjectWarehouseBase.h.

std::vector<std::map<BoundaryID, std::vector<std::shared_ptr<Constraint > > > > MooseObjectWarehouseBase< Constraint >::_active_boundary_objects
protectedinherited

Active boundary restricted objects (THREAD_ID on outer vector)

Definition at line 177 of file MooseObjectWarehouseBase.h.

std::vector<std::vector<std::shared_ptr<Constraint > > > MooseObjectWarehouseBase< Constraint >::_active_objects
protectedinherited

All active objects (THREAD_ID on outer vector)

Definition at line 165 of file MooseObjectWarehouseBase.h.

std::vector<std::map<SubdomainID, std::vector<std::shared_ptr<Constraint > > > > MooseObjectWarehouseBase< Constraint >::_all_block_objects
protectedinherited

Definition at line 168 of file MooseObjectWarehouseBase.h.

std::vector<std::map<BoundaryID, std::vector<std::shared_ptr<Constraint > > > > MooseObjectWarehouseBase< Constraint >::_all_boundary_objects
protectedinherited

Definition at line 174 of file MooseObjectWarehouseBase.h.

std::vector<std::vector<std::shared_ptr<Constraint > > > MooseObjectWarehouseBase< Constraint >::_all_objects
protectedinherited

Storage container for the ALL pointers (THREAD_ID on outer vector)

Definition at line 162 of file MooseObjectWarehouseBase.h.

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

ElemElemConstraints.

Definition at line 92 of file ConstraintWarehouse.h.

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

std::map<std::string, MooseObjectWarehouse<FaceFaceConstraint> > ConstraintWarehouse::_face_face_constraints
protected

FaceFaceConstraints.

Definition at line 89 of file ConstraintWarehouse.h.

Referenced by addObject(), getActiveFaceFaceConstraints(), hasActiveFaceFaceConstraints(), and subdomainsCovered().

MooseObjectWarehouse<NodalConstraint> ConstraintWarehouse::_nodal_constraints
protected
std::map<BoundaryID, MooseObjectWarehouse<NodeFaceConstraint> > ConstraintWarehouse::_node_face_constraints
protected
const THREAD_ID MooseObjectWarehouseBase< Constraint >::_num_threads
protectedinherited

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

Definition at line 159 of file MooseObjectWarehouseBase.h.


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