170 unsigned int comp = 0)
175 unsigned int comp = 0)
180 unsigned int comp = 0)
186 unsigned int comp = 0)
191 unsigned int comp = 0)
196 unsigned int comp = 0)
202 unsigned int comp = 0)
208 unsigned int comp = 0)
213 unsigned int comp = 0)
218 unsigned int comp = 0)
224 unsigned int comp = 0)
229 unsigned int comp = 0)
234 unsigned int comp = 0)
240 unsigned int comp = 0)
348 inline const std::unordered_set<unsigned int> &
virtual const VariableValue & coupledSecondaryValueOld(const std::string &var_name, unsigned int comp=0)
bool _secondary_residual_computed
Whether the secondary residual has been computed.
virtual const VariableGradient & coupledSecondaryGradientOlder(const std::string &var_name, unsigned int comp=0)
OutputTools< Real >::VariableGradient VariableGradient
BoundaryID _secondary
Boundary ID for the secondary surface.
virtual void computeResidual() override
Computes the residual Nodal residual.
const VariableValue & _u_primary
Holds the current solution at the current quadrature point.
virtual bool isExplicitConstraint() const
Whether (contact) constraint is of 'explicit dynamics' type.
virtual const VariableValue & coupledPrimaryValueOlder(const std::string &var_name, unsigned int comp=0)
virtual const VariableSecond & coupledSecond(const std::string &var_name, unsigned int comp=0) const
Returns second spatial derivatives of a coupled variable.
virtual const VariableGradient & coupledPrimaryGradientOld(const std::string &var_name, unsigned int comp=0)
virtual void computeSecondaryValue(NumericVector< Number > ¤t_solution)
Compute the value the secondary node should have at the beginning of a timestep.
Class for stuff related to variables.
virtual const VariableGradient & coupledSecondaryGradientOld(const std::string &var_name, unsigned int comp=0)
unsigned int _primary_var_num
Number for the primary variable.
virtual const VariableGradient & coupledPrimaryGradient(const std::string &var_name, unsigned int comp=0)
virtual Real computeQpResidual(Moose::ConstraintType type)=0
This is the virtual that derived classes should override for computing the residual on neighboring el...
BoundaryID primaryBoundary() const
The primary boundary ID for this constraint.
virtual const VariableValue & coupledSecondaryValueOlder(const std::string &var_name, unsigned int comp=0)
MooseVariable & _primary_var
Primary side variable.
const Elem *const & _current_primary
std::set< SubdomainID > getSecondaryConnectedBlocks() const
virtual const VariableGradient & coupledNeighborGradient(const std::string &var_name, unsigned int comp=0) const
virtual const VariableGradient & coupledSecondaryGradient(const std::string &var_name, unsigned int comp=0)
Base class for all Constraint types.
virtual const VariableValue & coupledNeighborValueOlder(const std::string &var_name, unsigned int comp=0) const
DenseMatrix< Number > _Kne
The Jacobian corresponding to the derivatives of the neighbor/primary residual with respect to the el...
virtual const VariableGradient & coupledNeighborGradientOld(const std::string &var_name, unsigned int comp=0) const
const std::map< dof_id_type, std::vector< dof_id_type > > & _node_to_elem_map
Real secondaryResidual() const
virtual const VariableSecond & coupledSecondarySecond(const std::string &var_name, unsigned int comp=0)
DenseMatrix< Number > _Ken
The Jacobian corresponding to the derivatives of the elemental/secondary residual with respect to the...
virtual bool overwriteSecondaryJacobian()
Whether or not the secondary's Jacobian row should be overwritten.
static InputParameters validParams()
const DofMap & _dof_map
DOF map.
virtual const VariableValue & coupledValueOld(const std::string &var_name, unsigned int comp=0) const
Returns an old value from previous time step of a coupled variable.
const MooseArray< Real > & _primary_JxW
JxW on the primary face.
The following methods are specializations for using the libMesh::Parallel::packed_range_* routines fo...
const VariableTestValue & _test_primary
Side test function.
const VariableTestGradient & _grad_test_primary
Gradient of side shape function.
virtual const VariableGradient & coupledGradient(const std::string &var_name, unsigned int comp=0) const
Returns gradient of a coupled variable.
SparseMatrix< Number > * _jacobian
void residualSetup() override
Gets called just before the residual is computed and before this object is asked to do its job...
const Node *const & _current_node
current node being processed
DenseMatrix< Number > _Kee
The Jacobian corresponding to the derivatives of the elemental/secondary residual with respect to the...
virtual const VariableValue & coupledValueOlder(const std::string &var_name, unsigned int comp=0) const
Returns an old value from two time steps previous of a coupled variable.
virtual void overwriteBoundaryVariables(NumericVector< Number > &, const Node &) const
Allows for overwriting boundary variables (explicit dynamics contact).
Nonlinear system to be solved.
virtual const VariableValue & coupledValue(const std::string &var_name, unsigned int comp=0) const
Returns value of a coupled variable.
virtual const VariableGradient & coupledPrimaryGradientOlder(const std::string &var_name, unsigned int comp=0)
NodeFaceConstraint(const InputParameters ¶meters)
Enhances MooseVariableInterface interface provide values from neighbor elements.
const MooseArray< Point > & _primary_q_point
virtual void computeJacobian() override
Computes the jacobian for the current element.
virtual const VariableGradient & coupledGradientOld(const std::string &var_name, unsigned int comp=0) const
Returns an old gradient from previous time step of a coupled variable.
virtual const VariableValue & coupledNeighborValue(const std::string &var_name, unsigned int comp=0) const
std::set< BoundaryID > _boundary_ids
the union of the secondary and primary boundary ids
OutputTools< Real >::VariableTestValue VariableTestValue
boundary_id_type BoundaryID
A NodeFaceConstraint is used when you need to create constraints between two surfaces in a mesh...
virtual void getConnectedDofIndices(unsigned int var_num)
Gets the indices for all dofs connected to the constraint.
virtual MooseVariable & primaryVariable()
The variable on the Primary side of the domain.
const std::string & type() const
Get the type of this class.
const VariableGradient & _grad_u_primary
Holds the current solution gradient at the current quadrature point.
const VariableValue & _u_secondary
Value of the unknown variable this BC is action on.
virtual const std::unordered_set< unsigned int > & getMatPropDependencies() const
virtual const VariableGradient & coupledNeighborGradientOlder(const std::string &var_name, unsigned int comp=0) const
Real _secondary_residual
The value of the secondary residual.
virtual const VariableValue & coupledPrimaryValue(const std::string &var_name, unsigned int comp=0)
const std::set< BoundaryID > & buildBoundaryIDs()
Builds the _boundary_ids data member and returns it.
const MooseVariable & variable() const override
The variable number that this object operates on.
virtual const VariableValue & coupledSecondaryValue(const std::string &var_name, unsigned int comp=0)
coupling interface:
virtual void computeOffDiagJacobian(unsigned int jvar) override
Computes d-residual / d-jvar...
VariableTestValue _test_secondary
Shape function on the secondary side. This will always only have one entry and that entry will always...
OutputTools< Real >::VariableValue VariableValue
OutputTools< Real >::VariablePhiGradient VariablePhiGradient
virtual Real computeQpSecondaryValue()=0
Compute the value the secondary node should have at the beginning of a timestep.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const VariablePhiGradient & _grad_phi_primary
Gradient of side shape function.
virtual bool shouldApply()
Whether or not this constraint should be applied.
const QBase *const & _primary_qrule
std::vector< dof_id_type > _connected_dof_indices
virtual const VariableSecond & coupledPrimarySecond(const std::string &var_name, unsigned int comp=0)
const InputParameters & parameters() const
Get the parameters of the object.
const VariablePhiValue & _phi_primary
Side shape function.
BoundaryID _primary
Boundary ID for the primary surface.
bool _overwrite_secondary_residual
Whether or not the secondary's residual should be overwritten.
OutputTools< Real >::VariableSecond VariableSecond
virtual const VariableValue & coupledNeighborValueOld(const std::string &var_name, unsigned int comp=0) const
VariablePhiValue _phi_secondary
Shape function on the secondary side. This will always.
PenetrationLocator & _penetration_locator
OutputTools< Real >::VariableTestGradient VariableTestGradient
BoundaryID secondaryBoundary() const
The secondary boundary ID for this constraint.
virtual bool overwriteSecondaryResidual()
Whether or not the secondary's residual should be overwritten.
virtual Real computeQpJacobian(Moose::ConstraintJacobianType type)=0
This is the virtual that derived classes should override for computing the Jacobian on neighboring el...
virtual ~NodeFaceConstraint()
virtual Real computeQpOffDiagJacobian(Moose::ConstraintJacobianType, unsigned int)
This is the virtual that derived classes should override for computing the off-diag Jacobian...
virtual const VariableGradient & coupledGradientOlder(const std::string &var_name, unsigned int comp=0) const
Returns an old gradient from two time steps previous of a coupled variable.
const std::unordered_set< unsigned int > _empty_mat_prop_deps
An empty material property dependency set for use with getMatPropDependencies.
virtual const VariableValue & coupledPrimaryValueOld(const std::string &var_name, unsigned int comp=0)
virtual const VariableSecond & coupledNeighborSecond(const std::string &var_name, unsigned int i=0) const