Operator used as base struct for OpContactMaterialVolOnSideLhs_dX_dx OpContactMaterialVolOnSideLhs_dX_dX operators that use side volume element adjacent to current contact prism needed to evaluate of deformation gradient tensor derivative.
More...
#include <users_modules/mortar_contact/src/SimpleContact.hpp>
|
MoFEMErrorCode | doWork (int row_side, int col_side, EntityType row_type, EntityType col_type, EntitiesFieldData::EntData &row_data, EntitiesFieldData::EntData &col_data) |
|
virtual MoFEMErrorCode | iNtegrate (EntitiesFieldData::EntData &row_data, EntitiesFieldData::EntData &col_data) |
|
MoFEMErrorCode | aSsemble (EntitiesFieldData::EntData &row_data, EntitiesFieldData::EntData &col_data) |
|
| OpContactMaterialVolOnSideLhs (const string field_name_1, const string field_name_2, boost::shared_ptr< CommonDataSimpleContact > common_data_contact, const bool is_master) |
| LHS-operator for the contact element (material configuration) More...
|
|
Operator used as base struct for OpContactMaterialVolOnSideLhs_dX_dx OpContactMaterialVolOnSideLhs_dX_dX operators that use side volume element adjacent to current contact prism needed to evaluate of deformation gradient tensor derivative.
Definition at line 594 of file SimpleContact.hpp.
◆ OpContactMaterialVolOnSideLhs()
SimpleContactProblem::OpContactMaterialVolOnSideLhs::OpContactMaterialVolOnSideLhs |
( |
const string |
field_name_1, |
|
|
const string |
field_name_2, |
|
|
boost::shared_ptr< CommonDataSimpleContact > |
common_data_contact, |
|
|
const bool |
is_master |
|
) |
| |
|
inline |
LHS-operator for the contact element (material configuration)
- Parameters
-
field_name_1 | String of field name for spatial positions for rows |
field_name_2 | String of field name for spatial positions for columns |
common_data_contact | Pointer to the common data for simple contact element |
is_master | Bool parameter to distinguish between master and slave sides |
Definition at line 644 of file SimpleContact.hpp.
648 : MoFEM::VolumeElementForcesAndSourcesCoreOnContactPrismSide::
649 UserDataOperator(field_name_1, field_name_2,
650 UserDataOperator::OPROWCOL),
652 sYmm = false;
654 tangentOne = boost::make_shared<VectorDouble>();
655 tangentTwo = boost::make_shared<VectorDouble>();
656 }
◆ aSsemble()
Definition at line 4402 of file SimpleContact.cpp.
4403 {
4404
4406
4407
4408 const int *row_indices = &*row_data.
getIndices().data().begin();
4409
4410 const int *col_indices = &*col_data.
getIndices().data().begin();
4411
4413 if (!data.forcesOnlyOnEntitiesRow.empty()) {
4418 VectorDofs::iterator dit = dofs.begin();
4419 for (int ii = 0; dit != dofs.end(); ++dit, ++ii) {
4420 if (data.forcesOnlyOnEntitiesRow.find((*dit)->getEnt()) ==
4421 data.forcesOnlyOnEntitiesRow.end()) {
4423 }
4424 }
4425 }
4426
4427
4429 col_indices, &*
matLhs.data().begin(), ADD_VALUES);
4430
4432}
#define MoFEMFunctionBegin
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
#define MoFEMFunctionReturn(a)
Last executable line of each PETSc function used for error handling. Replaces return()
#define CHKERR
Inline error check.
MoFEMErrorCode MatSetValues(Mat M, const EntitiesFieldData::EntData &row_data, const EntitiesFieldData::EntData &col_data, const double *ptr, InsertMode iora)
Assemble PETSc matrix.
ublas::vector< FEDofEntity *, DofsAllocator > VectorDofs
const VectorDofs & getFieldDofs() const
get dofs data stature FEDofEntity
const VectorInt & getIndices() const
Get global indices of dofs on entity.
◆ doWork()
Definition at line 4356 of file SimpleContact.cpp.
4358 {
4359
4361 if (row_type != MBVERTEX)
4370
4373
4376
4380
4386 } else {
4391 }
4392
4393
4395
4396
4398
4400}
#define MoFEMFunctionReturnHot(a)
Last executable line of each PETSc function used for error handling. Replaces return()
MatrixDouble & getN(const FieldApproximationBase base)
get base functions this return matrix (nb. of rows is equal to nb. of Gauss pts, nb....
const VectorDouble & getFieldData() const
get dofs values
◆ iNtegrate()
virtual MoFEMErrorCode SimpleContactProblem::OpContactMaterialVolOnSideLhs::iNtegrate |
( |
EntitiesFieldData::EntData & |
row_data, |
|
|
EntitiesFieldData::EntData & |
col_data |
|
) |
| |
|
inlinevirtual |
◆ aRea
double SimpleContactProblem::OpContactMaterialVolOnSideLhs::aRea |
◆ col_nb_dofs
int SimpleContactProblem::OpContactMaterialVolOnSideLhs::col_nb_dofs |
◆ colIndices
VectorInt SimpleContactProblem::OpContactMaterialVolOnSideLhs::colIndices |
◆ commonDataSimpleContact
boost::shared_ptr<CommonDataSimpleContact> SimpleContactProblem::OpContactMaterialVolOnSideLhs::commonDataSimpleContact |
◆ isMaster
bool SimpleContactProblem::OpContactMaterialVolOnSideLhs::isMaster |
|
private |
◆ matLhs
MatrixDouble SimpleContactProblem::OpContactMaterialVolOnSideLhs::matLhs |
◆ nb_base_fun_col
int SimpleContactProblem::OpContactMaterialVolOnSideLhs::nb_base_fun_col |
◆ nb_base_fun_row
int SimpleContactProblem::OpContactMaterialVolOnSideLhs::nb_base_fun_row |
◆ nb_gauss_pts
int SimpleContactProblem::OpContactMaterialVolOnSideLhs::nb_gauss_pts |
◆ normalVector
boost::shared_ptr<VectorDouble> SimpleContactProblem::OpContactMaterialVolOnSideLhs::normalVector |
◆ row_nb_dofs
int SimpleContactProblem::OpContactMaterialVolOnSideLhs::row_nb_dofs |
◆ rowIndices
VectorInt SimpleContactProblem::OpContactMaterialVolOnSideLhs::rowIndices |
◆ tangentOne
boost::shared_ptr<VectorDouble> SimpleContactProblem::OpContactMaterialVolOnSideLhs::tangentOne |
◆ tangentTwo
boost::shared_ptr<VectorDouble> SimpleContactProblem::OpContactMaterialVolOnSideLhs::tangentTwo |
The documentation for this struct was generated from the following files: