v0.14.0 |
LHS-operator for the simple contact element. More...
#include <users_modules/mortar_contact/src/SimpleContact.hpp>
Public Member Functions | |
OpGapConstraintAugmentedOverSpatialSlave (const string field_name, const string lagrange_field_name, boost::shared_ptr< CommonDataSimpleContact > common_data_contact, const double cn) | |
MoFEMErrorCode | doWork (int row_side, int col_side, EntityType row_type, EntityType col_type, EntData &row_data, EntData &col_data) |
Integrates the conditions that fulfil KKT conditions at slave face gauss points and assembles components to LHS global matrix. More... | |
Private Attributes | |
boost::shared_ptr< CommonDataSimpleContact > | commonDataSimpleContact |
const double | cN |
MatrixDouble | NN |
LHS-operator for the simple contact element.
Integrates on the slave side variation of the conditions that fulfil KKT conditions with respect to Spatial positions on the slave side and assembles components to LHS global matrix.
Definition at line 2116 of file SimpleContact.hpp.
|
inline |
Definition at line 2118 of file SimpleContact.hpp.
MoFEMErrorCode SimpleContactProblem::OpGapConstraintAugmentedOverSpatialSlave::doWork | ( | int | row_side, |
int | col_side, | ||
EntityType | row_type, | ||
EntityType | col_type, | ||
EntData & | row_data, | ||
EntData & | col_data | ||
) |
Integrates the conditions that fulfil KKT conditions at slave face gauss points and assembles components to LHS global matrix.
Integrates variation of the expresion that fulfils KKT conditions with respect to spatial positions on slave side components to LHS global matrix.
\[ {\text D}{\overline C(\lambda, \mathbf{x}^{(1)}, \delta \lambda)}[\Delta \mathbf{x}^{(1)}] = \left\{ \begin{array}{ll} \int_{{\gamma}^{(1)}_{\text c}} -c_{\text n} \Delta \mathbf{x}^{(1)} \cdot {\mathbf{n}}_{\rm c} \delta{\lambda}\,\,{ {\text d} {\gamma}} & \lambda + c_{\text n} g_{\textrm{n}}\leq 0 \\ 0 & \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}^{(1)}\) 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, 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 1095 of file SimpleContact.cpp.
|
private |
Definition at line 2170 of file SimpleContact.hpp.
|
private |
Definition at line 2169 of file SimpleContact.hpp.
|
private |
Definition at line 2171 of file SimpleContact.hpp.