KratosMultiphysics
KRATOS Multiphysics (Kratos) is a framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. Kratos is written in C++, and counts with an extensive Python interface.
|
This is the definition of the mortar operator according to the work of Alexander Popp: https://www.lnm.mw.tum.de/staff/alexander-popp/. More...
#include <mortar_classes.h>
Public Member Functions | |
Operations | |
void | Initialize () |
This method initialized the operators. More... | |
void | CalculateMortarOperators (KinematicVariables &rKinematicVariables, const double rIntegrationWeight) |
It calculates the mortar operators. Popp thesis page 56, equation 3.31 and 3.32. More... | |
GeometryMatrixMasterType | ComputePOperator () |
It calculates the POperator (Inverse(D x M)) More... | |
void | PrintInfo (std::ostream &rOStream) const |
Print information about this object. More... | |
Type Definitions | |
using | KinematicVariables = MortarKinematicVariables< TNumNodes, TNumNodesMaster > |
The kinematic variables class. More... | |
using | GeometryMatrixSlaveType = BoundedMatrix< double, TNumNodes, TNumNodes > |
The bounded matrix employed class. More... | |
using | GeometryMatrixMasterType = BoundedMatrix< double, TNumNodes, TNumNodesMaster > |
KRATOS_CLASS_POINTER_DEFINITION (MortarOperator) | |
Counted pointer of MortarOperator. More... | |
Life Cycle | |
GeometryMatrixSlaveType | DOperator |
Mortar condition matrices - DOperator and MOperator. More... | |
GeometryMatrixMasterType | MOperator |
MortarOperator () | |
virtual | ~MortarOperator () |
Serialization | |
class | Serializer |
This is the definition of the mortar operator according to the work of Alexander Popp: https://www.lnm.mw.tum.de/staff/alexander-popp/.
In particular the thesis of contact mechanics based in mortar method available at: https://mediatum.ub.tum.de/?id=1109994 These mortar operator are assembled as mass matrices in order to transfer information from the slave side to the master side. The operators are DOperator for the slave side and MOperator for master respectively. In order to compute these operators, the shape functions of both domains are necessary (using the slave side as reference), as well as the integration weight and jacobian in the integration point. Popp thesis pge 50 and following
TNumNodes | The number of nodes of the slave |
TNumNodesMaster | The number of nodes of the master |
using Kratos::MortarOperator< TNumNodes, TNumNodesMaster >::GeometryMatrixMasterType = BoundedMatrix<double, TNumNodes, TNumNodesMaster> |
using Kratos::MortarOperator< TNumNodes, TNumNodesMaster >::GeometryMatrixSlaveType = BoundedMatrix<double, TNumNodes, TNumNodes> |
The bounded matrix employed class.
using Kratos::MortarOperator< TNumNodes, TNumNodesMaster >::KinematicVariables = MortarKinematicVariables<TNumNodes, TNumNodesMaster> |
The kinematic variables class.
|
inline |
|
inlinevirtual |
|
inline |
It calculates the mortar operators. Popp thesis page 56, equation 3.31 and 3.32.
rKinematicVariables | Corresponds with the kinematic variables |
rIntegrationWeight | The corresponding integration weight |
|
inline |
It calculates the POperator (Inverse(D x M))
Popp thesis page 83 equation 3.88
|
inline |
This method initialized the operators.
Kratos::MortarOperator< TNumNodes, TNumNodesMaster >::KRATOS_CLASS_POINTER_DEFINITION | ( | MortarOperator< TNumNodes, TNumNodesMaster > | ) |
Counted pointer of MortarOperator.
|
inline |
Print information about this object.
|
friend |
GeometryMatrixSlaveType Kratos::MortarOperator< TNumNodes, TNumNodesMaster >::DOperator |
Mortar condition matrices - DOperator and MOperator.
GeometryMatrixMasterType Kratos::MortarOperator< TNumNodes, TNumNodesMaster >::MOperator |