16 #include "libmesh/sparse_matrix.h" 25 "Requires the value of two variables to be the consistent on both sides of an interface.");
26 params.
addParam<
Real>(
"scaling", 1,
"scaling factor to be applied to constraint equations");
27 params.
set<
bool>(
"use_displaced_mesh") =
true;
33 _scaling(getParam<
Real>(
"scaling")),
34 _residual_copy(_sys.residualGhosted())
48 Real secondary_resid = 0;
70 Real secondary_jac = 0;
const VariableValue & _u_primary
Holds the current solution at the current quadrature point.
unsigned int _primary_var_num
Number for the primary variable.
A CoupledTiedValueConstraint forces the value of a variable to be the same on both sides of an interf...
unsigned int number() const
Get variable number coming from libMesh.
CoupledTiedValueConstraint(const InputParameters ¶meters)
registerMooseObject("MooseApp", CoupledTiedValueConstraint)
static InputParameters validParams()
const VariableTestValue & _test_primary
Side test function.
virtual Real computeQpResidual(Moose::ConstraintType type) override
This is the virtual that derived classes should override for computing the residual on neighboring el...
const Node *const & _current_node
current node being processed
A NodeFaceConstraint is used when you need to create constraints between two surfaces in a mesh...
NumericVector< Number > & _residual_copy
const std::string & type() const
Get the type of this class.
const VariableValue & _u_secondary
Value of the unknown variable this BC is action on.
VariableTestValue _test_secondary
Shape function on the secondary side. This will always only have one entry and that entry will always...
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
virtual Real computeQpJacobian(Moose::ConstraintJacobianType type) override
This is the virtual that derived classes should override for computing the Jacobian on neighboring el...
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type.
std::vector< dof_id_type > _connected_dof_indices
virtual Real computeQpSecondaryValue() override
Compute the value the secondary node should have at the beginning of a timestep.
const VariablePhiValue & _phi_primary
Side shape function.
VariablePhiValue _phi_secondary
Shape function on the secondary side. This will always.
virtual Real computeQpOffDiagJacobian(Moose::ConstraintJacobianType type, unsigned int jvar) override
This is the virtual that derived classes should override for computing the off-diag Jacobian...
static InputParameters validParams()
void scalingFactor(const std::vector< Real > &factor)
Set the scaling factor for this variable.