21 #ifndef GEOS_PHYSICSSOLVERS_CONTACT_SOLIDMECHANICSAUGMENTEDLAGRANGIANCONTACT_HPP_
22 #define GEOS_PHYSICSSOLVERS_CONTACT_SOLIDMECHANICSAUGMENTEDLAGRANGIANCONTACT_HPP_
24 #include "physicsSolvers/solidMechanics/contact/ContactSolverBase.hpp"
33 Group *
const parent );
43 return "SolidMechanicsAugmentedLagrangianContact";
60 bool const setSparsity =
true ) override final;
90 real64 const scalingFactor,
97 integer configurationLoopIter ) override final;
107 template< typename LAMBDA >
114 for(
const auto & [finiteElementName, faceElementList] : faceTypesToFaceElements )
120 lambda( finiteElementName, subRegionFE, faceElemList );
132 template<
typename LAMBDA >
136 bool const isStickState =
true;
138 std::map< string, array1d< localIndex > >
const &
139 faceTypesToFaceElements = m_faceTypesToFaceElementsStick.at( meshName );
141 for(
const auto & [finiteElementName, faceElementList] : faceTypesToFaceElements )
147 lambda( finiteElementName, subRegionFE, faceElemList, isStickState );
159 template<
typename LAMBDA >
163 bool const isStickState =
false;
165 std::map< string, array1d< localIndex > >
const &
166 faceTypesToFaceElements = m_faceTypesToFaceElementsSlip.at( meshName );
168 for(
const auto & [finiteElementName, faceElementList] : faceTypesToFaceElements )
174 lambda( finiteElementName, subRegionFE, faceElemList, isStickState );
227 std::map< string, std::map< string, array1d< localIndex > > > m_faceTypesToFaceElements;
230 std::map< string, std::map< string, array1d< localIndex > > > m_faceTypesToFaceElementsStick;
233 std::map< string, std::map< string, array1d< localIndex > > > m_faceTypesToFaceElementsSlip;
236 std::map< string, std::unique_ptr< geos::finiteElement::FiniteElementBase > > m_faceTypeToFiniteElements;
241 constexpr
static char const * normalDisplacementToleranceString() {
return "normalDisplacementTolerance"; }
243 constexpr
static char const * normalTractionToleranceString() {
return "normalTractionTolerance"; }
245 constexpr
static char const * slidingToleranceString() {
return "slidingTolerance"; }
247 constexpr
static char const * dispJumpUpdPenaltyString() {
return "dispJumpUpdPenalty"; }
249 constexpr
static char const * simultaneousString() {
return "simultaneous"; }
251 constexpr
static char const * symmetricString() {
return "symmetric"; }
253 constexpr
static char const * iterativePenaltyNFacString() {
return "iterPenaltyN"; }
255 constexpr
static char const * iterativePenaltyTFacString() {
return "iterPenaltyT"; }
257 constexpr
static char const * tolJumpDispNFacString() {
return "tolJumpN"; }
259 constexpr
static char const * tolJumpDispTFacString() {
return "tolJumpT"; }
261 constexpr
static char const * tolNormalTracFacString() {
return "tolNormalTrac"; }
263 constexpr
static char const * tolTauLimitString() {
return "tolTauLimit"; }
269 real64 m_slidingCheckTolerance = 5.e-02;
272 int m_simultaneous = 1;
279 real64 m_iterPenaltyNFac = 10.0;
282 real64 m_iterPenaltyTFac = 0.1;
285 real64 m_tolJumpDispNFac = 1.e-07;
288 real64 m_tolJumpDispTFac = 1.e-05;
291 real64 m_tolNormalTracFac = 0.5;
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...
Base class for FEM element implementations.
ArrayView< T, 1 > arrayView1d
Alias for 1D array view.
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.
std::string string
String type.
LvArray::SparsityPatternView< COL_INDEX, INDEX_TYPE const, LvArray::ChaiBuffer > SparsityPatternView
Alias for Sparsity pattern View.
LvArray::SparsityPattern< COL_INDEX, INDEX_TYPE, LvArray::ChaiBuffer > SparsityPattern
Alias for Sparsity pattern class.
double real64
64-bit floating point type.
LvArray::CRSMatrixView< T, COL_INDEX, INDEX_TYPE const, LvArray::ChaiBuffer > CRSMatrixView
Alias for CRS Matrix View.
mapBase< TKEY, TVAL, std::integral_constant< bool, true > > map
Ordered map type.
int integer
Signed integer type.
Array< T, 1 > array1d
Alias for 1D array.
LAInterface::ParallelVector ParallelVector
Alias for ParallelVector.