16 #include "libmesh/sparse_matrix.h" 24 params.
addClassDescription(
"Constraint that forces the value of a variable to be the same on " 25 "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;
registerMooseObject("MooseApp", TiedValueConstraint)
virtual Real computeQpSecondaryValue() override
Compute the value the secondary node should have at the beginning of a timestep.
const VariableValue & _u_primary
Holds the current solution at the current quadrature point.
unsigned int number() const
Get variable number coming from libMesh.
virtual Real computeQpResidual(Moose::ConstraintType type) override
This is the virtual that derived classes should override for computing the residual on neighboring el...
A TiedValueConstraint forces the value of a variable to be the same on both sides of an interface...
static InputParameters validParams()
NumericVector< Number > & _residual_copy
const VariableTestValue & _test_primary
Side test function.
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...
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.
static InputParameters validParams()
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
TiedValueConstraint(const InputParameters ¶meters)
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type.
std::vector< dof_id_type > _connected_dof_indices
const VariablePhiValue & _phi_primary
Side shape function.
VariablePhiValue _phi_secondary
Shape function on the secondary side. This will always.
void scalingFactor(const std::vector< Real > &factor)
Set the scaling factor for this variable.
virtual Real computeQpJacobian(Moose::ConstraintJacobianType type) override
This is the virtual that derived classes should override for computing the Jacobian on neighboring el...