v0.14.0 |
LHS-operator for the simple contact element. More...
#include <users_modules/mortar_contact/src/SimpleContact.hpp>
Public Member Functions | |
MoFEMErrorCode | iNtegrate (EntData &row_data, EntData &col_data) |
Integrates Lagrange multipliers virtual work on master side, \( \delta W_{\text c}\) derivative with respect to material positions on slave side and assembles components to LHS global matrix. More... | |
OpContactTractionMasterSlave_dX (const string field_name, const string mesh_nodes_field, boost::shared_ptr< CommonDataSimpleContact > common_data_contact, const int row_rank, const int col_rank) | |
Public Member Functions inherited from SimpleContactProblem::OpContactALELhs | |
MoFEMErrorCode | doWork (int row_side, int col_side, EntityType row_type, EntityType col_type, EntData &row_data, EntData &col_data) |
MoFEMErrorCode | aSsemble (EntData &row_data, EntData &col_data) |
OpContactALELhs (const string field_name_1, const string field_name_2, boost::shared_ptr< CommonDataSimpleContact > common_data_contact, const ContactOp::FaceType face_type, const int rank_row, const int rank_col) | |
Additional Inherited Members | |
Public Attributes inherited from SimpleContactProblem::OpContactALELhs | |
boost::shared_ptr< CommonDataSimpleContact > | commonDataSimpleContact |
MatrixDouble | matLhs |
VectorInt | rowIndices |
VectorInt | colIndices |
int | row_nb_dofs |
int | col_nb_dofs |
int | nb_gauss_pts |
int | nb_base_fun_row |
int | nb_base_fun_col |
int | rankRow |
int | rankCol |
LHS-operator for the simple contact element.
Integrates Lagrange multipliers virtual work on master side, \( \delta W_{\text c}\) derivative with respect to material positions on slave side and assembles components of the RHS vector.
Definition at line 3086 of file SimpleContact.hpp.
|
inline |
field_name | String of field name for spatial positions for rows |
mesh_nodes_field | String of field name for material positions for columns |
common_data_contact | Pointer to the common data for simple contact element |
row_rank | Parameter setting the dimension of the associated field for rows (in this case is 3) |
col_rank | Parameter setting the dimension of the associated field for cols (in this case is 3) |
Definition at line 3148 of file SimpleContact.hpp.
|
virtual |
Integrates Lagrange multipliers virtual work on master side, \( \delta W_{\text c}\) derivative with respect to material positions on slave side and assembles components to LHS global matrix.
\[ \textrm{D} \delta W_{\rm{c}}({\mathbf{x}}^{(2)}, {\mathbf{X}}^{(2)}, \lambda, \delta{\mathbf{x}}^{(2)}) [\Delta{\mathbf{X}}^{(1)}] = -\int\limits_{\mathcal{T}^{(2)}_{\xi}} \lambda \, \left[ \textrm{D}\mathbf{N}^{(1)}(\mathbf{X}^{(1)})[\Delta\mathbf{X}^{(1)}] \frac{1}{||{{\mathbf N}^{(1)}(\xi, \eta)}||} - \frac{{\mathbf N}^{(1)}(\xi, \eta)}{{\left(||{{\mathbf N}^{(1)}(\xi, \eta)}|| \right)}^{3}} \textrm{D}\mathbf{N}^{(1)}(\mathbf{X}^{(1)})[\Delta\mathbf{X}^{(1)}] \cdot {{\mathbf N}^{(1)}(\xi, \eta)} \right] \cdot \delta{\mathbf{x}}^{(1)} {||{{\mathbf N}^{(2)}(\xi, \eta)}||} \textrm{d}\xi\textrm{d}\eta \]
Where
\[ \textrm{D}\mathbf{N}^{(1)}(\mathbf{X}^{(1)})[\Delta\mathbf{X}^{(1)}] = \frac{\partial{\Delta\mathbf{X}}^{(1)}} {\partial\xi} \times \frac{\partial {\mathbf{X}}^{(1)}}{\partial\eta} + \frac{\partial{\mathbf{X}}^{(1)}} {\partial\xi} \times \frac{\partial {\Delta\mathbf{X}}^{(1)}}{\partial\eta} \]
Here superscripts \((1)\) and \((2)\) denote slave and master side coordinates and surfaces, respectively. Moreover, \(\lambda\) is the lagrange multiplier.
Reimplemented from SimpleContactProblem::OpContactALELhs.
Definition at line 3530 of file SimpleContact.cpp.