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 class derives from the MortarOperator class and it includes the derived operators. More...
#include <mortar_classes.h>
Public Member Functions | |
Operations | |
void | Initialize () |
This method initialized the operators. More... | |
void | CalculateDeltaMortarOperators (KinematicVariables &rKinematicVariables, DerivativeDataType &rDerivativeData, const double rIntegrationWeight) |
It calculates the mortar operators. More... | |
void | PrintInfo (std::ostream &rOStream) const |
Print information about this object. More... | |
Public Member Functions inherited from Kratos::MortarOperator< TNumNodes, TNumNodes > | |
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... | |
KRATOS_CLASS_POINTER_DEFINITION (MortarOperator) | |
Counted pointer of MortarOperator. More... | |
MortarOperator () | |
virtual | ~MortarOperator () |
Type Definitions | |
using | BaseClassType = MortarOperator< TNumNodes, TNumNodesMaster > |
The base class type. More... | |
using | KinematicVariables = MortarKinematicVariables< TNumNodes, TNumNodesMaster > |
The kinematic variables class. More... | |
using | DerivativeDataFrictionalType = DerivativeDataFrictional< TDim, TNumNodes, TNumNodesMaster > |
The type for frictional derivative data. More... | |
using | DerivativeFrictionalessDataType = DerivativeData< TDim, TNumNodes, TNumNodesMaster > |
The type for frictionless derivative data. More... | |
using | DerivativeDataType = typename std::conditional< TFrictional, DerivativeDataFrictionalType, DerivativeFrictionalessDataType >::type |
The type for derivative data, determined by the presence of friction. More... | |
using | GeometryMatrixSlaveType = BoundedMatrix< double, TNumNodes, TNumNodes > |
The bounded matrix employed class for slave geometry. More... | |
using | GeometryMatrixMasterType = BoundedMatrix< double, TNumNodes, TNumNodesMaster > |
The bounded matrix employed class for master geometry. More... | |
static const SizeType | DoFSizeSlaveGeometry = (TNumNodes * TDim) |
static const SizeType | DoFSizeMasterGeometry = (TNumNodesMaster * TDim) |
static const SizeType | DoFSizePairedGeometry = DoFSizeSlaveGeometry + DoFSizeMasterGeometry |
static const SizeType | DoFSizeDerivativesDependence = (TDim == 2) ? DoFSizeSlaveGeometry : DoFSizePairedGeometry |
KRATOS_CLASS_POINTER_DEFINITION (MortarOperatorWithDerivatives) | |
Counted pointer of MortarOperatorWithDerivatives. More... | |
Serialization | |
class | Serializer |
Additional Inherited Members | |
Public Types inherited from Kratos::MortarOperator< TNumNodes, TNumNodes > | |
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 > |
Public Attributes inherited from Kratos::MortarOperator< TNumNodes, TNumNodes > | |
GeometryMatrixSlaveType | DOperator |
Mortar condition matrices - DOperator and MOperator. More... | |
GeometryMatrixMasterType | MOperator |
This class derives from the MortarOperator class and it includes the derived operators.
The derived operators are defined in each DoF of each domain, which means TNumNodes x TDim x 2 derivatives definitions in order to compute all the necessary derivatives. Popp thesis page 102 and following
TDim | The dimension of work |
TNumNodes | The number of nodes of the slave |
TFrictional | If the problem is frictional or not |
TNumNodesMaster | The number of nodes of the master |
using Kratos::MortarOperatorWithDerivatives< TDim, TNumNodes, TFrictional, TNumNodesMaster >::BaseClassType = MortarOperator<TNumNodes, TNumNodesMaster> |
The base class type.
using Kratos::MortarOperatorWithDerivatives< TDim, TNumNodes, TFrictional, TNumNodesMaster >::DerivativeDataFrictionalType = DerivativeDataFrictional<TDim, TNumNodes, TNumNodesMaster> |
The type for frictional derivative data.
using Kratos::MortarOperatorWithDerivatives< TDim, TNumNodes, TFrictional, TNumNodesMaster >::DerivativeDataType = typename std::conditional<TFrictional, DerivativeDataFrictionalType, DerivativeFrictionalessDataType>::type |
The type for derivative data, determined by the presence of friction.
using Kratos::MortarOperatorWithDerivatives< TDim, TNumNodes, TFrictional, TNumNodesMaster >::DerivativeFrictionalessDataType = DerivativeData<TDim, TNumNodes, TNumNodesMaster> |
The type for frictionless derivative data.
using Kratos::MortarOperatorWithDerivatives< TDim, TNumNodes, TFrictional, TNumNodesMaster >::GeometryMatrixMasterType = BoundedMatrix<double, TNumNodes, TNumNodesMaster> |
The bounded matrix employed class for master geometry.
using Kratos::MortarOperatorWithDerivatives< TDim, TNumNodes, TFrictional, TNumNodesMaster >::GeometryMatrixSlaveType = BoundedMatrix<double, TNumNodes, TNumNodes> |
The bounded matrix employed class for slave geometry.
using Kratos::MortarOperatorWithDerivatives< TDim, TNumNodes, TFrictional, TNumNodesMaster >::KinematicVariables = MortarKinematicVariables<TNumNodes, TNumNodesMaster> |
The kinematic variables class.
|
inline |
|
inlineoverride |
|
inline |
It calculates the mortar operators.
Popp thesis page 102 equation equation 4.32 and 4.33 / 4.37 and 4.38
rKinematicVariables | Corresponds with the kinematic variables |
rIntegrationWeight | The corresponding integration weight |
|
inline |
This method initialized the operators.
Kratos::MortarOperatorWithDerivatives< TDim, TNumNodes, TFrictional, TNumNodesMaster >::KRATOS_CLASS_POINTER_DEFINITION | ( | MortarOperatorWithDerivatives< TDim, TNumNodes, TFrictional, TNumNodesMaster > | ) |
Counted pointer of MortarOperatorWithDerivatives.
|
inline |
Print information about this object.
|
friend |
array_1d<GeometryMatrixSlaveType, DoFSizePairedGeometry> Kratos::MortarOperatorWithDerivatives< TDim, TNumNodes, TFrictional, TNumNodesMaster >::DeltaDOperator |
array_1d<GeometryMatrixMasterType, DoFSizePairedGeometry> Kratos::MortarOperatorWithDerivatives< TDim, TNumNodes, TFrictional, TNumNodesMaster >::DeltaMOperator |
|
static |
|
static |
|
static |
|
static |