https://mooseframework.inl.gov
NodalFrictionalConstraint.h
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://mooseframework.inl.gov
3 //*
4 //* All rights reserved, see COPYRIGHT for full restrictions
5 //* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6 //*
7 //* Licensed under LGPL 2.1, please see LICENSE for details
8 //* https://www.gnu.org/licenses/lgpl-2.1.html
9 
10 #pragma once
11 
12 #include "NodalConstraint.h"
13 
15 {
16 public:
18 
20 
21  virtual void meshChanged() override;
22 
23  virtual void computeResidual(NumericVector<Number> & residual) override;
24  virtual void computeJacobian(SparseMatrix<Number> & jacobian) override;
27 
28 protected:
33 
36 
38  BoundaryName _primary_boundary_id;
39 
41  BoundaryName _secondary_boundary_id;
42 
45 
48 
51 
53  std::vector<dof_id_type> _primary_conn;
54 
57 
60 };
const VariableValue & _u_secondary_old
Old value of the constrainted variable on the secondary nodes.
ConstraintType
const Real & _tangential_penalty
Tangential stiffness of spring.
virtual void computeResidual() override final
virtual Real computeQpResidual(Moose::ConstraintType type) override
const VariableValue & _u_primary_old
Old value of the constrainted variable on the primary nodes.
virtual Real computeQpJacobian(Moose::ConstraintJacobianType type) override
const Real & _normal_force
Normal stiffness of spring.
std::vector< dof_id_type > _primary_conn
primary node id connected to each secondary node in _connected_nodes
const std::string & type() const
void updateConstrainedNodes()
Update the sets of nodes with constrained DOFs.
virtual void meshChanged() override
const Real & _friction_coefficient
Coefficient of friction.
OutputTools< Real >::VariableValue VariableValue
virtual void computeJacobian() override final
static InputParameters validParams()
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
BoundaryName _primary_boundary_id
Holds the secondary node set or side set.
ConstraintJacobianType
NodalFrictionalConstraint(const InputParameters &parameters)
const InputParameters & parameters() const
BoundaryName _secondary_boundary_id
Holds the secondary node set or side set.