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";
65 virtual std::unique_ptr< PreconditionerBase< LAInterface > >
96 real64 const scalingFactor,
110 void assembleForceResidualDerivativeWrtTraction(
MeshLevel const & mesh,
116 void assembleTractionResidualDerivativeWrtDisplacementAndTraction(
MeshLevel const & mesh,
122 void assembleForceResidualPressureContribution(
MeshLevel const & mesh,
128 void assembleStabilization(
MeshLevel const & mesh,
137 integer const configurationLoopIter )
override final;
139 bool isFractureAllInStickCondition(
DomainPartition const & domain )
const;
145 void computeFaceNodalArea(
localIndex const kf0,
160 real64 const (&faceCenter)[3],
161 real64 const (&faceNormal)[3],
163 real64 const & invCellDiameter,
164 real64 const (&cellCenter)[3],
166 real64 ( &threeDMonomialIntegrals )[3] )
const;
168 real64 const machinePrecision = std::numeric_limits< real64 >::epsilon();
170 string getStabilizationName()
const {
return m_stabilizationName; }
180 void setMGRStrategy();
183 string m_stabilizationName;
185 real64 const m_slidingCheckTolerance = 0.05;
187 real64 m_stabilizationScalingCoefficient = 1.0;
195 constexpr
static char const * stabilizationNameString() {
return "stabilizationName"; }
197 constexpr
static char const * rotationMatrixString() {
return "rotationMatrix"; }
199 constexpr
static char const * normalDisplacementToleranceString() {
return "normalDisplacementTolerance"; }
201 constexpr
static char const * normalTractionToleranceString() {
return "normalTractionTolerance"; }
203 constexpr
static char const * slidingToleranceString() {
return "slidingTolerance"; }
205 constexpr
static char const * transMultiplierString() {
return "penaltyStiffnessTransMultiplier"; }
207 constexpr
static char const * stabilizationScalingCoefficientString() {
return "stabilizationScalingCoefficient"; }
209 constexpr
static char const * useLocalYieldAccelerationString() {
return "useLocalYieldAcceleration"; }
211 constexpr
static char const * localYieldAccelerationBufferString() {
return "localYieldAccelerationBuffer"; }
216 integer m_useLocalYieldAcceleration;
217 real64 m_localYieldAccelerationBuffer;
222 real64 currentTau_unscaled,
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...
constexpr static int maxFaceNodes()
}@
Class facilitating the representation of a multi-level discretization of a MeshBody.
ArrayView< T, 1 > arrayView1d
Alias for 1D array view.
stdVector< string > string_array
A 1-dimensional array of geos::string types.
LvArray::CRSMatrix< T, COL_INDEX, INDEX_TYPE, LvArray::ChaiBuffer > CRSMatrix
Alias for CRS Matrix class.
LvArray::SparsityPattern< COL_INDEX, INDEX_TYPE, LvArray::ChaiBuffer > SparsityPattern
Alias for Sparsity pattern 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).
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.
int integer
Signed integer type.