21 #ifndef GEOS_PHYSICSSOLVERS_CONTACT_SOLIDMECHANICSLAGRANGECONTACT_HPP_
22 #define GEOS_PHYSICSSOLVERS_CONTACT_SOLIDMECHANICSLAGRANGECONTACT_HPP_
24 #include "physicsSolvers/solidMechanics/contact/ContactSolverBase.hpp"
29 class NumericalMethodsManager;
35 Group *
const parent );
45 return "SolidMechanicsLagrangeContact";
66 bool const setSparsity =
true ) override final;
99 real64 const scalingFactor,
113 void assembleForceResidualDerivativeWrtTraction(
MeshLevel const & mesh,
119 void assembleTractionResidualDerivativeWrtDisplacementAndTraction(
MeshLevel const & mesh,
125 void assembleForceResidualPressureContribution(
MeshLevel const & mesh,
131 void assembleStabilization(
MeshLevel const & mesh,
141 bool isFractureAllInStickCondition(
DomainPartition const & domain ) const;
147 void computeFaceNodalArea(
localIndex const kf0,
157 void computeFaceIntegrals(
arrayView2d<
real64 const, nodes::REFERENCE_POSITION_USD > const & nodesCoords,
162 real64 const (&faceCenter)[3],
163 real64 const (&faceNormal)[3],
165 real64 const & invCellDiameter,
166 real64 const (&cellCenter)[3],
168 real64 ( &threeDMonomialIntegrals )[3] ) const;
170 real64 const machinePrecision = std::numeric_limits<
real64 >::epsilon();
172 string getStabilizationName()
const {
return m_stabilizationName; }
182 void setMGRStrategy();
185 string m_stabilizationName;
187 real64 const m_slidingCheckTolerance = 0.05;
189 real64 m_stabilitzationScalingCoefficient = 1.0;
197 constexpr
static char const * stabilizationNameString() {
return "stabilizationName"; }
199 constexpr
static char const * rotationMatrixString() {
return "rotationMatrix"; }
201 constexpr
static char const * normalDisplacementToleranceString() {
return "normalDisplacementTolerance"; }
203 constexpr
static char const * normalTractionToleranceString() {
return "normalTractionTolerance"; }
205 constexpr
static char const * slidingToleranceString() {
return "slidingTolerance"; }
207 constexpr
static char const * transMultiplierString() {
return "penaltyStiffnessTransMultiplier"; }
209 constexpr
static char const * stabilizationScalingCoefficientString() {
return "stabilizationScalingCoefficient"; }
The DoFManager is responsible for allocating global dofs, constructing sparsity patterns,...
Partition of the decomposed physical domain. It also manages the connexion information to its neighbo...
The FaceManager class provides an interface to ObjectManagerBase in order to manage face data.
Class facilitating the representation of a multi-level discretization of a MeshBody.
Common interface for preconditioning operators.
ArrayView< T, 1 > arrayView1d
Alias for 1D array view.
stdVector< string > string_array
A 1-dimensional array of geos::string types.
GEOS_GLOBALINDEX_TYPE globalIndex
Global index type (for indexing objects across MPI partitions).
LvArray::CRSMatrix< T, COL_INDEX, INDEX_TYPE, LvArray::ChaiBuffer > CRSMatrix
Alias for CRS Matrix class.
StackArray< T, 1, MAXSIZE > stackArray1d
Alias for 1D stack array.
LvArray::ArrayOfArraysView< T, INDEX_TYPE const, CONST_SIZES, LvArray::ChaiBuffer > ArrayOfArraysView
View of array of variable-sized arrays. See LvArray::ArrayOfArraysView for details.
double real64
64-bit floating point type.
GEOS_LOCALINDEX_TYPE localIndex
Local index type (for indexing objects within an MPI partition).
GEOS_CONCAT(GEOS_LA_INTERFACE, Interface) LAInterface
Alias for current interface.
LvArray::CRSMatrixView< T, COL_INDEX, INDEX_TYPE const, LvArray::ChaiBuffer > CRSMatrixView
Alias for CRS Matrix View.
ArrayView< T, 2, USD > arrayView2d
Alias for 2D array view.
LAInterface::ParallelVector ParallelVector
Alias for ParallelVector.