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