v0.14.0
Public Member Functions | Public Attributes | List of all members
SimpleContactProblem::OpContactALELhs Struct Reference

Operator used as base struct for OpContactTractionSlaveSlave_dX, OpContactTractionMasterSlave_dX, OpContactTractionMasterMaster_dX and OpCalDerIntCompFunSlaveSlave_dX. More...

#include <users_modules/mortar_contact/src/SimpleContact.hpp>

Inheritance diagram for SimpleContactProblem::OpContactALELhs:
[legend]
Collaboration diagram for SimpleContactProblem::OpContactALELhs:
[legend]

Public Member Functions

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)
 
 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)
 

Public Attributes

boost::shared_ptr< CommonDataSimpleContactcommonDataSimpleContact
 
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
 

Detailed Description

Operator used as base struct for OpContactTractionSlaveSlave_dX, OpContactTractionMasterSlave_dX, OpContactTractionMasterMaster_dX and OpCalDerIntCompFunSlaveSlave_dX.

Definition at line 547 of file SimpleContact.hpp.

Constructor & Destructor Documentation

◆ OpContactALELhs()

SimpleContactProblem::OpContactALELhs::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 
)
inline

Definition at line 576 of file SimpleContact.hpp.

581  : ContactOp(field_name_1, field_name_2, UserDataOperator::OPROWCOL,
582  face_type),
583  commonDataSimpleContact(common_data_contact), rankRow(rank_row),
584  rankCol(rank_col) {
585  sYmm = false; // This will make sure to loop over all entities
586  }

Member Function Documentation

◆ aSsemble()

MoFEMErrorCode SimpleContactProblem::OpContactALELhs::aSsemble ( EntData row_data,
EntData col_data 
)

Definition at line 3957 of file SimpleContact.cpp.

3958  {
3959 
3961 
3962  // get pointer to first global index on row
3963  const int *row_indices = &*row_data.getIndices().data().begin();
3964  // get pointer to first global index on column
3965  const int *col_indices = &*col_data.getIndices().data().begin();
3966 
3967  // assemble local matrix
3968  CHKERR MatSetValues(getSNESB(), row_nb_dofs, row_indices, col_nb_dofs,
3969  col_indices, &*matLhs.data().begin(), ADD_VALUES);
3971 }

◆ doWork()

MoFEMErrorCode SimpleContactProblem::OpContactALELhs::doWork ( int  row_side,
int  col_side,
EntityType  row_type,
EntityType  col_type,
EntData row_data,
EntData col_data 
)

Definition at line 3841 of file SimpleContact.cpp.

3843  {
3844 
3846  row_nb_dofs = row_data.getIndices().size();
3847  if (!row_nb_dofs)
3849  col_nb_dofs = col_data.getIndices().size();
3850  if (!col_nb_dofs)
3852  nb_gauss_pts = row_data.getN().size1();
3853 
3854  nb_base_fun_row = row_data.getFieldData().size() / rankRow;
3855  nb_base_fun_col = col_data.getFieldData().size() / rankCol;
3856 
3858  matLhs.clear();
3859 
3860  // integrate local matrix for entity block
3861  CHKERR iNtegrate(row_data, col_data);
3862 
3863  // assemble local matrix
3864  CHKERR aSsemble(row_data, col_data);
3865 
3867 }

◆ iNtegrate()

virtual MoFEMErrorCode SimpleContactProblem::OpContactALELhs::iNtegrate ( EntData row_data,
EntData col_data 
)
inlinevirtual

Member Data Documentation

◆ col_nb_dofs

int SimpleContactProblem::OpContactALELhs::col_nb_dofs

Definition at line 556 of file SimpleContact.hpp.

◆ colIndices

VectorInt SimpleContactProblem::OpContactALELhs::colIndices

Definition at line 553 of file SimpleContact.hpp.

◆ commonDataSimpleContact

boost::shared_ptr<CommonDataSimpleContact> SimpleContactProblem::OpContactALELhs::commonDataSimpleContact

Definition at line 549 of file SimpleContact.hpp.

◆ matLhs

MatrixDouble SimpleContactProblem::OpContactALELhs::matLhs

Definition at line 551 of file SimpleContact.hpp.

◆ nb_base_fun_col

int SimpleContactProblem::OpContactALELhs::nb_base_fun_col

Definition at line 560 of file SimpleContact.hpp.

◆ nb_base_fun_row

int SimpleContactProblem::OpContactALELhs::nb_base_fun_row

Definition at line 559 of file SimpleContact.hpp.

◆ nb_gauss_pts

int SimpleContactProblem::OpContactALELhs::nb_gauss_pts

Definition at line 557 of file SimpleContact.hpp.

◆ rankCol

int SimpleContactProblem::OpContactALELhs::rankCol

Definition at line 563 of file SimpleContact.hpp.

◆ rankRow

int SimpleContactProblem::OpContactALELhs::rankRow

Definition at line 562 of file SimpleContact.hpp.

◆ row_nb_dofs

int SimpleContactProblem::OpContactALELhs::row_nb_dofs

Definition at line 555 of file SimpleContact.hpp.

◆ rowIndices

VectorInt SimpleContactProblem::OpContactALELhs::rowIndices

Definition at line 552 of file SimpleContact.hpp.


The documentation for this struct was generated from the following files:
MoFEMFunctionReturnHot
#define MoFEMFunctionReturnHot(a)
Last executable line of each PETSc function used for error handling. Replaces return()
Definition: definitions.h:447
SimpleContactProblem::OpContactALELhs::aSsemble
MoFEMErrorCode aSsemble(EntData &row_data, EntData &col_data)
Definition: SimpleContact.cpp:3957
SimpleContactProblem::OpContactALELhs::row_nb_dofs
int row_nb_dofs
Definition: SimpleContact.hpp:555
SimpleContactProblem::OpContactALELhs::rankCol
int rankCol
Definition: SimpleContact.hpp:563
MoFEM::MatSetValues
MoFEMErrorCode MatSetValues(Mat M, const EntitiesFieldData::EntData &row_data, const EntitiesFieldData::EntData &col_data, const double *ptr, InsertMode iora)
Assemble PETSc matrix.
Definition: EntitiesFieldData.hpp:1631
SimpleContactProblem::OpContactALELhs::nb_base_fun_col
int nb_base_fun_col
Definition: SimpleContact.hpp:560
SimpleContactProblem::OpContactALELhs::iNtegrate
virtual MoFEMErrorCode iNtegrate(EntData &row_data, EntData &col_data)
Definition: SimpleContact.hpp:569
MoFEM::EntitiesFieldData::EntData::getFieldData
const VectorDouble & getFieldData() const
get dofs values
Definition: EntitiesFieldData.hpp:1241
SimpleContactProblem::OpContactALELhs::matLhs
MatrixDouble matLhs
Definition: SimpleContact.hpp:551
MoFEM::ForcesAndSourcesCore::UserDataOperator::OPROWCOL
@ OPROWCOL
operator doWork is executed on FE rows &columns
Definition: ForcesAndSourcesCore.hpp:569
CHKERR
#define CHKERR
Inline error check.
Definition: definitions.h:535
MoFEM::EntitiesFieldData::EntData::getIndices
const VectorInt & getIndices() const
Get global indices of dofs on entity.
Definition: EntitiesFieldData.hpp:1201
SimpleContactProblem::OpContactALELhs::col_nb_dofs
int col_nb_dofs
Definition: SimpleContact.hpp:556
SimpleContactProblem::ContactOp
ContactPrismElementForcesAndSourcesCore::UserDataOperator ContactOp
Definition: SimpleContact.hpp:30
MoFEM::EntitiesFieldData::EntData::getN
MatrixDouble & getN(const FieldApproximationBase base)
get base functions this return matrix (nb. of rows is equal to nb. of Gauss pts, nb....
Definition: EntitiesFieldData.hpp:1305
SimpleContactProblem::OpContactALELhs::commonDataSimpleContact
boost::shared_ptr< CommonDataSimpleContact > commonDataSimpleContact
Definition: SimpleContact.hpp:549
SimpleContactProblem::OpContactALELhs::rankRow
int rankRow
Definition: SimpleContact.hpp:562
SimpleContactProblem::OpContactALELhs::nb_gauss_pts
int nb_gauss_pts
Definition: SimpleContact.hpp:557
SimpleContactProblem::OpContactALELhs::nb_base_fun_row
int nb_base_fun_row
Definition: SimpleContact.hpp:559
MoFEMFunctionReturn
#define MoFEMFunctionReturn(a)
Last executable line of each PETSc function used for error handling. Replaces return()
Definition: definitions.h:416
MoFEMFunctionBegin
#define MoFEMFunctionBegin
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
Definition: definitions.h:346