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.
List of all members
Kratos::MortarOperator< TNumNodes, TNumNodesMaster > Class Template Reference

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>

Collaboration diagram for Kratos::MortarOperator< TNumNodes, TNumNodesMaster >:

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
 

Detailed Description

template<const SizeType TNumNodes, const SizeType TNumNodesMaster = TNumNodes>
class Kratos::MortarOperator< TNumNodes, TNumNodesMaster >

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

Author
Vicente Mataix Ferrandiz
Template Parameters
TNumNodesThe number of nodes of the slave
TNumNodesMasterThe number of nodes of the master

Member Typedef Documentation

◆ GeometryMatrixMasterType

template<const SizeType TNumNodes, const SizeType TNumNodesMaster = TNumNodes>
using Kratos::MortarOperator< TNumNodes, TNumNodesMaster >::GeometryMatrixMasterType = BoundedMatrix<double, TNumNodes, TNumNodesMaster>

◆ GeometryMatrixSlaveType

template<const SizeType TNumNodes, const SizeType TNumNodesMaster = TNumNodes>
using Kratos::MortarOperator< TNumNodes, TNumNodesMaster >::GeometryMatrixSlaveType = BoundedMatrix<double, TNumNodes, TNumNodes>

The bounded matrix employed class.

◆ KinematicVariables

template<const SizeType TNumNodes, const SizeType TNumNodesMaster = TNumNodes>
using Kratos::MortarOperator< TNumNodes, TNumNodesMaster >::KinematicVariables = MortarKinematicVariables<TNumNodes, TNumNodesMaster>

The kinematic variables class.

Constructor & Destructor Documentation

◆ MortarOperator()

template<const SizeType TNumNodes, const SizeType TNumNodesMaster = TNumNodes>
Kratos::MortarOperator< TNumNodes, TNumNodesMaster >::MortarOperator ( )
inline

◆ ~MortarOperator()

template<const SizeType TNumNodes, const SizeType TNumNodesMaster = TNumNodes>
virtual Kratos::MortarOperator< TNumNodes, TNumNodesMaster >::~MortarOperator ( )
inlinevirtual

Member Function Documentation

◆ CalculateMortarOperators()

template<const SizeType TNumNodes, const SizeType TNumNodesMaster = TNumNodes>
void Kratos::MortarOperator< TNumNodes, TNumNodesMaster >::CalculateMortarOperators ( KinematicVariables rKinematicVariables,
const double  rIntegrationWeight 
)
inline

It calculates the mortar operators. Popp thesis page 56, equation 3.31 and 3.32.

Parameters
rKinematicVariablesCorresponds with the kinematic variables
rIntegrationWeightThe corresponding integration weight

◆ ComputePOperator()

template<const SizeType TNumNodes, const SizeType TNumNodesMaster = TNumNodes>
GeometryMatrixMasterType Kratos::MortarOperator< TNumNodes, TNumNodesMaster >::ComputePOperator ( )
inline

It calculates the POperator (Inverse(D x M))

Popp thesis page 83 equation 3.88

◆ Initialize()

template<const SizeType TNumNodes, const SizeType TNumNodesMaster = TNumNodes>
void Kratos::MortarOperator< TNumNodes, TNumNodesMaster >::Initialize ( )
inline

This method initialized the operators.

◆ KRATOS_CLASS_POINTER_DEFINITION()

template<const SizeType TNumNodes, const SizeType TNumNodesMaster = TNumNodes>
Kratos::MortarOperator< TNumNodes, TNumNodesMaster >::KRATOS_CLASS_POINTER_DEFINITION ( MortarOperator< TNumNodes, TNumNodesMaster >  )

Counted pointer of MortarOperator.

◆ PrintInfo()

template<const SizeType TNumNodes, const SizeType TNumNodesMaster = TNumNodes>
void Kratos::MortarOperator< TNumNodes, TNumNodesMaster >::PrintInfo ( std::ostream &  rOStream) const
inline

Print information about this object.

Friends And Related Function Documentation

◆ Serializer

template<const SizeType TNumNodes, const SizeType TNumNodesMaster = TNumNodes>
friend class Serializer
friend

Member Data Documentation

◆ DOperator

template<const SizeType TNumNodes, const SizeType TNumNodesMaster = TNumNodes>
GeometryMatrixSlaveType Kratos::MortarOperator< TNumNodes, TNumNodesMaster >::DOperator

Mortar condition matrices - DOperator and MOperator.

◆ MOperator

template<const SizeType TNumNodes, const SizeType TNumNodesMaster = TNumNodes>
GeometryMatrixMasterType Kratos::MortarOperator< TNumNodes, TNumNodesMaster >::MOperator

The documentation for this class was generated from the following file: