OutputTools< Real >::VariablePhiValue VariablePhiValue
OutputTools< Real >::VariableTestValue VariableTestValue
Base class for all Constraint types.
const InputParameters & parameters() const
Get the parameters of the object.
Enhances MooseVariableInterface interface provide values from neighbor elements.
A NodeElemConstraintBase is used when you need to create constraints between a secondary node and a p...
const Node *const & _current_node
current node being processed
const SparseMatrix< Number > * _jacobian
system Jacobian, provides pre-constraint Jacobian for nonAD kinematic constraints
DenseMatrix< Number > _Kee
stiffness matrix holding secondary-secondary jacobian
const VariablePhiValue & _phi_primary
Side shape function.
virtual Real computeQpSecondaryValue()=0
Compute the value the secondary node should have at the beginning of a timestep.
virtual MooseVariable & primaryVariable() const
The variable on the primary elem.
unsigned short _primary
primary block id
virtual bool shouldApply()
Whether or not this constraint should be applied.
bool _overwrite_secondary_residual
Whether or not the secondary's residual should be overwritten.
const MooseVariable & variable() const override
The variable number that this object operates on.
VariableTestValue _test_secondary
Shape function on the secondary side. This will always only have one entry and that entry will always...
VariablePhiValue _phi_secondary
Shape function on the secondary side.
DenseMatrix< Number > _Kne
stiffness matrix holding primary-secondary jacobian
static InputParameters validParams()
const VariableTestValue & _test_primary
Side test function.
MooseVariable & _var
secondary node variable
std::map< dof_id_type, dof_id_type > _secondary_to_primary_map
maps secondary node ids to primary element ids
const Elem *const & _current_elem
current element being processed
const std::unordered_map< dof_id_type, std::vector< dof_id_type > > & _node_to_elem_map
MooseMesh map of current nodes to the connected elements.
MooseVariable & _primary_var
Primary side variable.
virtual bool overwriteSecondaryJacobian() const
Whether or not the secondary's Jacobian row should be overwritten.
virtual bool overwriteSecondaryResidual() const
Whether or not the secondary's residual should be overwritten.
unsigned short _secondary
secondary block id
~NodeElemConstraintBase()
std::vector< dof_id_type > _connected_dof_indices
dofs connected to the secondary node
void computeSecondaryValue(NumericVector< Number > ¤t_solution)
Compute the value the secondary node should have at the beginning of a timestep.
The following methods are specializations for using the libMesh::Parallel::packed_range_* routines fo...