GEOS
coreComponents
physicsSolvers
solidMechanics
contact
SolidMechanicsPenaltyContact.hpp
Go to the documentation of this file.
1
/*
2
* ------------------------------------------------------------------------------------------------------------
3
* SPDX-License-Identifier: LGPL-2.1-only
4
*
5
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
6
* Copyright (c) 2018-2024 TotalEnergies
7
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
8
* Copyright (c) 2023-2024 Chevron
9
* Copyright (c) 2019- GEOS/GEOSX Contributors
10
* All rights reserved
11
*
12
* See top level LICENSE, COPYRIGHT, CONTRIBUTORS, NOTICE, and ACKNOWLEDGEMENTS files for details.
13
* ------------------------------------------------------------------------------------------------------------
14
*/
15
21
#ifndef GEOS_PHYSICSSOLVERS_CONTACT_SOLIDMECHANICSPENALTYCONTACT_HPP_
22
#define GEOS_PHYSICSSOLVERS_CONTACT_SOLIDMECHANICSPENALTYCONTACT_HPP_
23
24
#include "physicsSolvers/solidMechanics/contact/ContactSolverBase.hpp"
25
#include "
linearAlgebra/DofManager.hpp
"
26
#include "
common/DataTypes.hpp
"
27
28
namespace
geos
29
{
30
31
class
SolidMechanicsLagrangianFEM;
32
33
class
SolidMechanicsPenaltyContact
:
public
ContactSolverBase
34
{
35
public
:
36
37
SolidMechanicsPenaltyContact
(
const
string
& name,
38
Group
*
const
parent );
39
44
static
string
catalogName
()
45
{
46
return
"SolidMechanicsPenaltyContact"
;
47
}
51
string
getCatalogName
()
const override
{
return
catalogName
(); }
52
54
static
string
coupledSolverAttributePrefix
() {
return
"PenaltyContact"
; }
55
56
virtual
void
setSparsityPattern(
DofManager
& dofManager,
57
DomainPartition
& domain,
58
SparsityPattern< globalIndex >
& pattern )
override
final
;
59
60
virtual
void
61
assembleSystem
(
real64
const
time,
62
real64
const
dt,
63
DomainPartition
& domain,
64
DofManager
const
& dofManager,
65
CRSMatrixView< real64, globalIndex const >
const
& localMatrix,
66
arrayView1d< real64 >
const
& localRhs )
override
;
67
68
void
assembleContact(
DomainPartition
& domain,
69
DofManager
const
& dofManager,
70
CRSMatrixView< real64, globalIndex const >
const
& localMatrix,
71
arrayView1d< real64 >
const
& localRhs );
72
73
protected
:
74
75
private
:
76
77
struct
viewKeyStruct :
ContactSolverBase::viewKeyStruct
78
{
79
constexpr
static
char
const
* contactPenaltyStiffnessString() {
return
"contactPenaltyStiffness"
; }
80
};
81
82
real64
m_contactPenaltyStiffness;
83
};
84
85
}
/* namespace geos */
86
87
#endif
/* GEOS_PHYSICSSOLVERS_CONTACT_SOLIDMECHANICSPENALTYCONTACT_HPP_ */
DataTypes.hpp
DofManager.hpp
geos::ContactSolverBase
Definition:
ContactSolverBase.hpp:31
geos::DofManager
The DoFManager is responsible for allocating global dofs, constructing sparsity patterns,...
Definition:
DofManager.hpp:45
geos::DomainPartition
Partition of the decomposed physical domain. It also manages the connexion information to its neighbo...
Definition:
DomainPartition.hpp:53
geos::SolidMechanicsPenaltyContact
Definition:
SolidMechanicsPenaltyContact.hpp:34
geos::SolidMechanicsPenaltyContact::getCatalogName
string getCatalogName() const override
Definition:
SolidMechanicsPenaltyContact.hpp:51
geos::SolidMechanicsPenaltyContact::coupledSolverAttributePrefix
static string coupledSolverAttributePrefix()
String used to form the solverName used to register single-physics solvers in CoupledSolver.
Definition:
SolidMechanicsPenaltyContact.hpp:54
geos::SolidMechanicsPenaltyContact::catalogName
static string catalogName()
name of the node manager in the object catalog
Definition:
SolidMechanicsPenaltyContact.hpp:44
geos::SolidMechanicsPenaltyContact::assembleSystem
virtual void assembleSystem(real64 const time, real64 const dt, DomainPartition &domain, DofManager const &dofManager, CRSMatrixView< real64, globalIndex const > const &localMatrix, arrayView1d< real64 > const &localRhs) override
function to assemble the linear system matrix and rhs
geos::dataRepository::Group
Definition:
Group.hpp:68
geos
Definition:
DataLayouts.hpp:29
geos::arrayView1d
ArrayView< T, 1 > arrayView1d
Alias for 1D array view.
Definition:
DataTypes.hpp:179
geos::SparsityPattern
LvArray::SparsityPattern< COL_INDEX, INDEX_TYPE, LvArray::ChaiBuffer > SparsityPattern
Alias for Sparsity pattern class.
Definition:
DataTypes.hpp:297
geos::real64
double real64
64-bit floating point type.
Definition:
DataTypes.hpp:98
geos::CRSMatrixView
LvArray::CRSMatrixView< T, COL_INDEX, INDEX_TYPE const, LvArray::ChaiBuffer > CRSMatrixView
Alias for CRS Matrix View.
Definition:
DataTypes.hpp:309
geos::ContactSolverBase::viewKeyStruct
Definition:
ContactSolverBase.hpp:53
Generated by
1.9.1