v0.14.0 |
RHS-operator for the simple contact element for Augmented Lagrangian Method. More...
#include <users_modules/mortar_contact/src/SimpleContact.hpp>
Public Member Functions | |
OpGapConstraintAugmentedRhs (const string lagrange_field_name, boost::shared_ptr< CommonDataSimpleContact > common_data_contact, const double cn) | |
MoFEMErrorCode | doWork (int side, EntityType type, EntData &data) |
Private Attributes | |
boost::shared_ptr< CommonDataSimpleContact > | commonDataSimpleContact |
Integrates KKT conditions for Augmented Lagrangian formulation at slave face gauss points and assembles components to the RHS global vector. More... | |
const double | cN |
VectorDouble | vecR |
RHS-operator for the simple contact element for Augmented Lagrangian Method.
Integrates ALM constraints that fulfill KKT conditions over slave contact area and assembles components of the RHS vector.
Definition at line 1214 of file SimpleContact.hpp.
|
inline |
Definition at line 1217 of file SimpleContact.hpp.
MoFEMErrorCode SimpleContactProblem::OpGapConstraintAugmentedRhs::doWork | ( | int | side, |
EntityType | type, | ||
EntData & | data | ||
) |
Definition at line 1685 of file SimpleContact.cpp.
|
private |
Definition at line 1265 of file SimpleContact.hpp.
|
private |
Integrates KKT conditions for Augmented Lagrangian formulation at slave face gauss points and assembles components to the RHS global vector.
Integrates the Augmented Lagrangian multipliers formulation to fulfil KKT conditions in the integral sense and assembles components to the RHS global vector
\[ {\overline C(\lambda, \mathbf{x}^{(i)}, \delta \lambda)} = \left\{ \begin{array}{ll} \int_{{\gamma}^{(1)}_{\text c}} g_{\textrm{n}} \delta{{\lambda}} \,\,{ {\text d} {\gamma}} & \lambda + c_{\text n} g_{\textrm{n}}\leq 0 \\ \int_{{\gamma}^{(1)}_{\text c}} -\dfrac{1}{c_{\text n}} \lambda \delta{{\lambda}} \,\,{ {\text d} {\gamma}} & \lambda + c_{\text n} g_{\textrm{n}}> 0 \\ \end{array} \right. \]
where \({\gamma}^{(1)}_{\text c}\) is the surface integration domain of the slave surface, \( \lambda\) is the Lagrange multiplier, \(\mathbf{x}^{(i)}\) are the coordinates of the overlapping gauss points at slave and master triangles for \(i = 1\) and \(i = 2\), respectively. Furthermore, \( c_{\text n}\) works as an augmentation parameter and affects convergence, \(r\) is regularisation parameter that can be chosen in \([1, 1.1]\) ( \(r = 1\)) is the default value) and \( g_{\textrm{n}}\) is the gap function evaluated at the slave triangle gauss points as:
\[ g_{\textrm{n}} = - \mathbf{n}(\mathbf{x}^{(1)}) \cdot \left( \mathbf{x}^{(1)} - \mathbf{x}^{(2)} \right) \]
Definition at line 1264 of file SimpleContact.hpp.
|
private |
Definition at line 1266 of file SimpleContact.hpp.