v0.14.0 |
LHS-operator for the contact element (material configuration) More...
#include <users_modules/mortar_contact/src/SimpleContact.hpp>
Public Member Functions | |
MoFEMErrorCode | iNtegrate (EntData &row_data, EntData &col_data) |
Compute part of the left-hand side. More... | |
OpContactMaterialSlaveSlaveLhs_dX_dLagmult (const string mesh_nodes_field_row, const string lagrange_field_name, boost::shared_ptr< CommonDataSimpleContact > common_data_contact, const int row_rank, const int col_rank) | |
Public Member Functions inherited from SimpleContactProblem::OpContactMaterialLhs | |
MoFEMErrorCode | doWork (int row_side, int col_side, EntityType row_type, EntityType col_type, EntData &row_data, EntData &col_data) |
virtual MoFEMErrorCode | iNtegrate (EntData &row_data, EntData &col_data) |
MoFEMErrorCode | aSsemble (EntData &row_data, EntData &col_data) |
OpContactMaterialLhs (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, boost::shared_ptr< VolumeElementForcesAndSourcesCoreOnContactPrismSide > side_fe=NULL, const string side_fe_name="") | |
Additional Inherited Members | |
Public Attributes inherited from SimpleContactProblem::OpContactMaterialLhs | |
boost::shared_ptr< CommonDataSimpleContact > | commonDataSimpleContact |
boost::shared_ptr< VolumeElementForcesAndSourcesCoreOnContactPrismSide > | sideFe |
string | sideFeName |
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 contact element (material configuration)
Computes linearisation of the expression for material traction contribution with respect to material coordinates on slave side.
Definition at line 2944 of file SimpleContact.hpp.
|
inline |
mesh_nodes_field_row | String of field name for material positions for rows |
lagrange_field_name | String of field name for lagrange multipliers 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 q) |
Definition at line 3003 of file SimpleContact.hpp.
MoFEMErrorCode SimpleContactProblem::OpContactMaterialSlaveSlaveLhs_dX_dLagmult::iNtegrate | ( | EntitiesFieldData::EntData & | row_data, |
EntitiesFieldData::EntData & | col_data | ||
) |
Compute part of the left-hand side.
Computes the linearisation of the material component of contact tractions on slave side with respect to a variation of lagrange multipliers \((\Delta\lambda)\):
\[ \delta W^\text{material}_p({\mathbf{x}}^{(1)}, {\mathbf{X}}^{(1)}, \delta{\mathbf{X}}^{(1)}, \lambda)[\Delta\lambda] = -\int\limits_{{\mathcal{T}}^{(1)}} \Delta\lambda \left\{{\left( {\mathbf{F}}^{(1)}\right) }^{\intercal}\cdot \mathbf{N}({\mathbf{X}}^{(1)}) \right\} \cdot \delta{\mathbf{X}}^{(1)}\, \textrm{d}{\mathcal{T}}^{(1)} = -\int\limits_{{\mathcal{T}}^{(1)}_{\xi}} \Delta\lambda \left\{{\left( {\mathbf{F}}^{(1)}\right) }^{\intercal}\cdot \left(\frac{\partial\mathbf{X}^{(1)}} {\partial\xi}\times\frac{\partial {\mathbf{X}}^{(1)}} {\partial\eta}\right) \right\} \cdot \delta{\mathbf{X}}^{(1)}\, \textrm{d}\xi\textrm{d}\eta \]
where \((1)\) denotes that the corresponding variable belongs to the slave side \( \lambda \) is contact traction on slave surface, \({\mathbf{N}}({\mathbf{X}}^{(1)})\) is a normal to the face in the material configuration, \(\xi, \eta\) are coordinates in the parent space \(({\mathcal{T}}^{(1)}_\xi)\) and \({\mathbf{F}}^{(1)}\) is the deformation gradient:
\[ {\mathbf{F}}^{(1)} = \mathbf{h}({\mathbf{x}}^{(1)})\,\mathbf{H}({\mathbf{X}}^{(1)})^{-1} = \frac{\partial{\mathbf{x}}^{(1)}}{\partial{\boldsymbol{\chi}}^{(1)}} \frac{\partial{\boldsymbol{\chi}}^{(1)}}{\partial{\mathbf{X}}^{(1)}} \]
where \(\mathbf{h}\) and \(\mathbf{H}\) are the gradients of the spatial and material maps, respectively, and \(\boldsymbol{\chi}\) are the reference coordinates.
Definition at line 4299 of file SimpleContact.cpp.