62 mooseError(
"NodalConstraint do not need computeResidual()");
71 mooseError(
"NodalConstraint do not need computeJacobian()");
85 const std::vector<dof_id_type> & node_ids);
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application.
OutputTools< Real >::VariableValue VariableValue
Base class for all Constraint types.
const InputParameters & parameters() const
Get the parameters of the object.
const std::string & type() const
Get the type of this class.
MooseMesh wraps a libMesh::Mesh object and enhances its capabilities by caching additional data and s...
Enhances MooseVariableInterface interface provide values from neighbor elements.
virtual void computeResidual() override final
Computes the nodal residual.
Moose::ConstraintFormulationType _formulation
Specifies formulation type used to apply constraints.
unsigned int _i
Counter for primary and secondary nodes.
virtual Real computeQpResidual(Moose::ConstraintType type)=0
This is the virtual that derived classes should override for computing the residual on neighboring el...
std::vector< dof_id_type > _primary_node_vector
node IDs of the primary node
const MooseVariable & variable() const override
The variable number that this object operates on.
std::vector< dof_id_type > _connected_nodes
node IDs connected to the primary node (secondary nodes)
std::vector< Real > _weights
When the secondary node is constrained to move as a linear combination of the primary nodes,...
std::vector< dof_id_type > gatherAndRetainConnectedElems(MooseMesh &mesh, const std::vector< dof_id_type > &node_ids)
Gather and retain elements connected to the provided nodes on the provided mesh.
std::map< MooseMesh *, std::set< Elem * > > _retained_elems
Elements this constraint retained on each distributed mesh during the previous mesh update.
static InputParameters validParams()
virtual void updateConnectivity()
Built the connectivity for this constraint.
virtual Real computeQpJacobian(Moose::ConstraintJacobianType type)=0
This is the virtual that derived classes should override for computing the Jacobian on neighboring el...
virtual void computeJacobian() override final
Computes the jacobian for the current element.
MooseVariable & _var_secondary
const VariableValue & _u_secondary
Value of the unknown variable this BC is action on.
const VariableValue & _u_primary
Holds the current solution at the current quadrature point.
std::vector< dof_id_type > & getSecondaryNodeId()
Get the list of connected secondary nodes.
void reinitConstraintNodes()
Reinitialize the primary and secondary nodes on the SubProblem that owns this constraint's variables.
std::vector< dof_id_type > & getPrimaryNodeId()
Get the list of primary nodes.
ConstraintFormulationType
Type of constraint formulation.