#include <ComputeMortarFunctor.h>
Public Member Functions | |
ComputeMortarFunctor (const std::vector< std::shared_ptr< MortarConstraintBase >> &mortar_constraints, const AutomaticMortarGeneration &amg, SubProblem &subproblem, FEProblemBase &fe_problem, bool displaced, Assembly &assembly) | |
void | operator() (Moose::ComputeType compute_type, const std::set< TagID > &vector_tag_ids, const std::set< TagID > &matrix_tag_ids) |
Loops over the mortar segment mesh and computes the residual/Jacobian. More... | |
Protected Attributes | |
Materials for Mortar | |
These containers hold the materials whose properties are required by a given set of consumers. Note that these containers will also hold materials that may not provide properties explicitly needed by the consumers but do provided properties that are dependencies of the materials that do provide properties needed by the consumers | |
std::map< SubdomainID, std::deque< MaterialBase * > > | _secondary_ip_sub_to_mats |
std::map< SubdomainID, std::deque< MaterialBase * > > | _primary_ip_sub_to_mats |
A map from primary interior parent subdomain IDs to the block materials that will need to reinit'd on the primary face. More... | |
std::deque< MaterialBase * > | _secondary_boundary_mats |
A container that holds the boundary materials that will need to be reinit'd on the secondary face. More... | |
Private Attributes | |
std::vector< MortarConstraintBase * > | _mortar_constraints |
The mortar constraints to loop over when on each element. More... | |
const AutomaticMortarGeneration & | _amg |
Automatic mortar generation (amg) object providing the mortar mesh to loop over. More... | |
SubProblem & | _subproblem |
A reference to the SubProblem object for reiniting lower-dimensional element quantities. More... | |
FEProblemBase & | _fe_problem |
A reference to the FEProblemBase object for reiniting higher-dimensional element and neighbor element quantities. More... | |
const bool | _displaced |
Whether the mortar constraints are operating on the displaced mesh. More... | |
Assembly & | _assembly |
A reference to the assembly object. More... | |
Definition at line 33 of file ComputeMortarFunctor.h.
ComputeMortarFunctor::ComputeMortarFunctor | ( | const std::vector< std::shared_ptr< MortarConstraintBase >> & | mortar_constraints, |
const AutomaticMortarGeneration & | amg, | ||
SubProblem & | subproblem, | ||
FEProblemBase & | fe_problem, | ||
bool | displaced, | ||
Assembly & | assembly | ||
) |
Definition at line 27 of file ComputeMortarFunctor.C.
void ComputeMortarFunctor::operator() | ( | Moose::ComputeType | compute_type, |
const std::set< TagID > & | vector_tag_ids, | ||
const std::set< TagID > & | matrix_tag_ids | ||
) |
Loops over the mortar segment mesh and computes the residual/Jacobian.
Definition at line 54 of file ComputeMortarFunctor.C.
|
private |
Automatic mortar generation (amg) object providing the mortar mesh to loop over.
Definition at line 59 of file ComputeMortarFunctor.h.
Referenced by ComputeMortarFunctor(), and operator()().
|
private |
A reference to the assembly object.
Definition at line 73 of file ComputeMortarFunctor.h.
Referenced by operator()().
|
private |
Whether the mortar constraints are operating on the displaced mesh.
Definition at line 70 of file ComputeMortarFunctor.h.
Referenced by operator()().
|
private |
A reference to the FEProblemBase object for reiniting higher-dimensional element and neighbor element quantities.
We use the FEProblemBase object for reiniting these because we may be using material properties from either undisplaced or displaced materials
Definition at line 67 of file ComputeMortarFunctor.h.
Referenced by ComputeMortarFunctor(), and operator()().
|
private |
The mortar constraints to loop over when on each element.
These must be pointers to the base class otherwise the compiler will fail to compile when running std::vector<MortarConstraint0>::push_back(MortarConstraint1> or visa versa
Definition at line 56 of file ComputeMortarFunctor.h.
Referenced by ComputeMortarFunctor(), and operator()().
|
protectedinherited |
A map from primary interior parent subdomain IDs to the block materials that will need to reinit'd on the primary face.
Definition at line 43 of file MortarExecutorInterface.h.
Referenced by ComputeMortarFunctor(), MortarUserObjectThread::MortarUserObjectThread(), MortarUserObjectThread::operator()(), and operator()().
|
protectedinherited |
A container that holds the boundary materials that will need to be reinit'd on the secondary face.
Definition at line 47 of file MortarExecutorInterface.h.
Referenced by ComputeMortarFunctor(), MortarUserObjectThread::MortarUserObjectThread(), MortarUserObjectThread::operator()(), and operator()().
|
protectedinherited |
A map from secondary interior parent subdomain IDs to the block materials that will need to reinit'd on the secondary face
Definition at line 39 of file MortarExecutorInterface.h.
Referenced by ComputeMortarFunctor(), MortarUserObjectThread::MortarUserObjectThread(), MortarUserObjectThread::operator()(), and operator()().
|
private |
A reference to the SubProblem object for reiniting lower-dimensional element quantities.
Definition at line 62 of file ComputeMortarFunctor.h.
Referenced by operator()().