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.
Classes | Namespaces
mortar_classes.h File Reference
#include "utilities/mortar_utilities.h"
#include "includes/variables.h"
#include "includes/mapping_variables.h"
#include "includes/serializer.h"
Include dependency graph for mortar_classes.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  Kratos::MortarKinematicVariables< TNumNodes, TNumNodesMaster >
 MortarKinematicVariables. More...
 
class  Kratos::MortarKinematicVariablesWithDerivatives< TDim, TNumNodes, TNumNodesMaster >
 MortarKinematicVariablesWithDerivatives. More...
 
class  Kratos::DerivativeData< TDim, TNumNodes, TNumNodesMaster >
 This data will be used to compute the derivatives. More...
 
class  Kratos::DerivativeDataFrictional< TDim, TNumNodes, TNumNodesMaster >
 This class is a derived class of DerivativeData. More...
 
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/. More...
 
class  Kratos::MortarOperatorWithDerivatives< TDim, TNumNodes, TFrictional, TNumNodesMaster >
 This class derives from the MortarOperator class and it includes the derived operators. More...
 
class  Kratos::DualLagrangeMultiplierOperators< TNumNodes, TNumNodesMaster >
 This is the definition dual lagrange multiplier operators according to the work of Alexander Popp: https://www.lnm.mw.tum.de/staff/alexander-popp/. More...
 
class  Kratos::DualLagrangeMultiplierOperatorsWithDerivatives< TDim, TNumNodes, TFrictional, TNumNodesMaster >
 This is the definition dual lagrange multiplier operators including the derivatives. More...
 
class  Kratos::PointBelong< TNumNodes, TNumNodesMaster >
 Custom Point container to be used by the mapper. More...
 

Namespaces

 Kratos
 REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
 

Typedefs

Type Definitions
using Kratos::PointType = Point
 Geometric definitions. More...
 
using Kratos::GeometryType = Geometry< Node >
 The definition of the geometry. More...
 
using Kratos::IntegrationPointsType = typename GeometryType::IntegrationPointsArrayType
 
using Kratos::SizeType = std::size_t
 The definition of the size type. More...
 

Enumerations

Enum's
enum class  Kratos::PointBelongs { Kratos::Master = 0 , Kratos::Slave = 1 , Kratos::Intersection = 2 }
 This enum defines a "hash" used to identify in which combination of cuts the point is found when the mortar segmentation is performed. More...
 
enum class  Kratos::PointBelongsLine2D2N {
  Kratos::SlaveLine2D2N0 = 0 , Kratos::SlaveLine2D2N1 = 1 , Kratos::MasterLine2D2N0 = 2 , Kratos::MasterLine2D2N1 = 3 ,
  Kratos::IntersectionLine2D2N = 4
}
 Case for 2D line intersected with another 2D line. More...
 
enum class  Kratos::PointBelongsTriangle3D3N {
  Kratos::SlaveTriangle3D3N0 = 0 , Kratos::SlaveTriangle3D3N1 = 1 , Kratos::SlaveTriangle3D3N2 = 2 , Kratos::MasterTriangle3D3N0 = 3 ,
  Kratos::MasterTriangle3D3N1 = 4 , Kratos::MasterTriangle3D3N2 = 5 , Kratos::IntersectionTriangle3D3N = 6 , Kratos::IntersectionTriangle3D3N0101 = 10106 ,
  Kratos::IntersectionTriangle3D3N1001 = 10016 , Kratos::IntersectionTriangle3D3N1201 = 10216 , Kratos::IntersectionTriangle3D3N2101 = 10126 , Kratos::IntersectionTriangle3D3N0201 = 10206 ,
  Kratos::IntersectionTriangle3D3N2001 = 10026 , Kratos::IntersectionTriangle3D3N0110 = 1106 , Kratos::IntersectionTriangle3D3N1010 = 1016 , Kratos::IntersectionTriangle3D3N1210 = 1216 ,
  Kratos::IntersectionTriangle3D3N2110 = 1126 , Kratos::IntersectionTriangle3D3N0210 = 1206 , Kratos::IntersectionTriangle3D3N2010 = 1026 , Kratos::IntersectionTriangle3D3N0112 = 21106 ,
  Kratos::IntersectionTriangle3D3N1012 = 21016 , Kratos::IntersectionTriangle3D3N1212 = 21216 , Kratos::IntersectionTriangle3D3N2112 = 21126 , Kratos::IntersectionTriangle3D3N0212 = 21206 ,
  Kratos::IntersectionTriangle3D3N2012 = 21026 , Kratos::IntersectionTriangle3D3N0121 = 12106 , Kratos::IntersectionTriangle3D3N1021 = 12016 , Kratos::IntersectionTriangle3D3N1221 = 12216 ,
  Kratos::IntersectionTriangle3D3N2121 = 12126 , Kratos::IntersectionTriangle3D3N0221 = 12206 , Kratos::IntersectionTriangle3D3N2021 = 12026 , Kratos::IntersectionTriangle3D3N0102 = 20106 ,
  Kratos::IntersectionTriangle3D3N1002 = 20016 , Kratos::IntersectionTriangle3D3N1202 = 20216 , Kratos::IntersectionTriangle3D3N2102 = 20126 , Kratos::IntersectionTriangle3D3N0202 = 20206 ,
  Kratos::IntersectionTriangle3D3N2002 = 20026 , Kratos::IntersectionTriangle3D3N0120 = 2106 , Kratos::IntersectionTriangle3D3N1020 = 2016 , Kratos::IntersectionTriangle3D3N1220 = 2216 ,
  Kratos::IntersectionTriangle3D3N2120 = 2126 , Kratos::IntersectionTriangle3D3N0220 = 2206 , Kratos::IntersectionTriangle3D3N2020 = 2026
}
 Case for 3D triangle intersected with another 3D triangle. More...
 
enum class  Kratos::PointBelongsQuadrilateral3D4N {
  Kratos::SlaveQuadrilateral3D4N0 = 0 , Kratos::SlaveQuadrilateral3D4N1 = 1 , Kratos::SlaveQuadrilateral3D4N2 = 2 , Kratos::SlaveQuadrilateral3D4N3 = 3 ,
  Kratos::MasterQuadrilateral3D4N0 = 4 , Kratos::MasterQuadrilateral3D4N1 = 5 , Kratos::MasterQuadrilateral3D4N2 = 6 , Kratos::MasterQuadrilateral3D4N3 = 7 ,
  Kratos::IntersectionQuadrilateral3D4N = 8 , Kratos::IntersectionQuadrilateral3D4N0101 = 10108 , Kratos::IntersectionQuadrilateral3D4N1001 = 10018 , Kratos::IntersectionQuadrilateral3D4N1201 = 10218 ,
  Kratos::IntersectionQuadrilateral3D4N2101 = 10128 , Kratos::IntersectionQuadrilateral3D4N2301 = 10328 , Kratos::IntersectionQuadrilateral3D4N3201 = 10238 , Kratos::IntersectionQuadrilateral3D4N3001 = 10038 ,
  Kratos::IntersectionQuadrilateral3D4N0301 = 10308 , Kratos::IntersectionQuadrilateral3D4N0110 = 1108 , Kratos::IntersectionQuadrilateral3D4N1010 = 1018 , Kratos::IntersectionQuadrilateral3D4N1210 = 1218 ,
  Kratos::IntersectionQuadrilateral3D4N2110 = 1128 , Kratos::IntersectionQuadrilateral3D4N2310 = 1328 , Kratos::IntersectionQuadrilateral3D4N3210 = 1238 , Kratos::IntersectionQuadrilateral3D4N3010 = 1038 ,
  Kratos::IntersectionQuadrilateral3D4N0310 = 1308 , Kratos::IntersectionQuadrilateral3D4N0112 = 21108 , Kratos::IntersectionQuadrilateral3D4N1012 = 21018 , Kratos::IntersectionQuadrilateral3D4N1212 = 21218 ,
  Kratos::IntersectionQuadrilateral3D4N2112 = 21128 , Kratos::IntersectionQuadrilateral3D4N2312 = 21328 , Kratos::IntersectionQuadrilateral3D4N3212 = 21238 , Kratos::IntersectionQuadrilateral3D4N3012 = 21038 ,
  Kratos::IntersectionQuadrilateral3D4N0312 = 21308 , Kratos::IntersectionQuadrilateral3D4N0121 = 12108 , Kratos::IntersectionQuadrilateral3D4N1021 = 12018 , Kratos::IntersectionQuadrilateral3D4N1221 = 12218 ,
  Kratos::IntersectionQuadrilateral3D4N2121 = 12128 , Kratos::IntersectionQuadrilateral3D4N2321 = 12328 , Kratos::IntersectionQuadrilateral3D4N3221 = 12238 , Kratos::IntersectionQuadrilateral3D4N3021 = 12038 ,
  Kratos::IntersectionQuadrilateral3D4N0321 = 12308 , Kratos::IntersectionQuadrilateral3D4N0123 = 32108 , Kratos::IntersectionQuadrilateral3D4N1023 = 32018 , Kratos::IntersectionQuadrilateral3D4N1223 = 32218 ,
  Kratos::IntersectionQuadrilateral3D4N2123 = 32128 , Kratos::IntersectionQuadrilateral3D4N2323 = 32328 , Kratos::IntersectionQuadrilateral3D4N3223 = 32238 , Kratos::IntersectionQuadrilateral3D4N3023 = 32038 ,
  Kratos::IntersectionQuadrilateral3D4N0323 = 32308 , Kratos::IntersectionQuadrilateral3D4N0132 = 23108 , Kratos::IntersectionQuadrilateral3D4N1032 = 23018 , Kratos::IntersectionQuadrilateral3D4N1232 = 23218 ,
  Kratos::IntersectionQuadrilateral3D4N2132 = 23128 , Kratos::IntersectionQuadrilateral3D4N2332 = 23328 , Kratos::IntersectionQuadrilateral3D4N3232 = 23238 , Kratos::IntersectionQuadrilateral3D4N3032 = 23038 ,
  Kratos::IntersectionQuadrilateral3D4N0332 = 23308 , Kratos::IntersectionQuadrilateral3D4N0130 = 3108 , Kratos::IntersectionQuadrilateral3D4N1030 = 3018 , Kratos::IntersectionQuadrilateral3D4N1230 = 3218 ,
  Kratos::IntersectionQuadrilateral3D4N2130 = 3128 , Kratos::IntersectionQuadrilateral3D4N2330 = 3328 , Kratos::IntersectionQuadrilateral3D4N3230 = 3238 , Kratos::IntersectionQuadrilateral3D4N3030 = 3038 ,
  Kratos::IntersectionQuadrilateral3D4N0330 = 3308 , Kratos::IntersectionQuadrilateral3D4N0103 = 30108 , Kratos::IntersectionQuadrilateral3D4N1003 = 30018 , Kratos::IntersectionQuadrilateral3D4N1203 = 30218 ,
  Kratos::IntersectionQuadrilateral3D4N2103 = 30128 , Kratos::IntersectionQuadrilateral3D4N2303 = 30328 , Kratos::IntersectionQuadrilateral3D4N3203 = 30238 , Kratos::IntersectionQuadrilateral3D4N3003 = 30038 ,
  Kratos::IntersectionQuadrilateral3D4N0303 = 30308
}
 Case for 3D quadrilateral intersected with another 3D quadrilateral. More...
 
enum class  Kratos::PointBelongsQuadrilateral3D4NTriangle3D3N {
  Kratos::SlaveQuadrilateral3D4N0 = 0 , Kratos::SlaveQuadrilateral3D4N1 = 1 , Kratos::SlaveQuadrilateral3D4N2 = 2 , Kratos::SlaveQuadrilateral3D4N3 = 3 ,
  Kratos::MasterTriangle3D3N0 = 4 , Kratos::MasterTriangle3D3N1 = 5 , Kratos::MasterTriangle3D3N2 = 6 , Kratos::IntersectionQuadrilateral3D4NTriangle3D3N = 7 ,
  Kratos::IntersectionQuadrilateral3D4NTriangle3D3N0101 = 10107 , Kratos::IntersectionQuadrilateral3D4NTriangle3D3N1001 = 1107 , Kratos::IntersectionQuadrilateral3D4NTriangle3D3N1201 = 21107 , Kratos::IntersectionQuadrilateral3D4NTriangle3D3N2101 = 12107 ,
  Kratos::IntersectionQuadrilateral3D4NTriangle3D3N2301 = 32107 , Kratos::IntersectionQuadrilateral3D4NTriangle3D3N3201 = 23107 , Kratos::IntersectionQuadrilateral3D4NTriangle3D3N3001 = 3107 , Kratos::IntersectionQuadrilateral3D4NTriangle3D3N0301 = 30107 ,
  Kratos::IntersectionQuadrilateral3D4NTriangle3D3N0110 = 10017 , Kratos::IntersectionQuadrilateral3D4NTriangle3D3N1010 = 1017 , Kratos::IntersectionQuadrilateral3D4NTriangle3D3N1210 = 21017 , Kratos::IntersectionQuadrilateral3D4NTriangle3D3N2110 = 12017 ,
  Kratos::IntersectionQuadrilateral3D4NTriangle3D3N2310 = 32017 , Kratos::IntersectionQuadrilateral3D4NTriangle3D3N3210 = 23017 , Kratos::IntersectionQuadrilateral3D4NTriangle3D3N3010 = 3017 , Kratos::IntersectionQuadrilateral3D4NTriangle3D3N0310 = 30017 ,
  Kratos::IntersectionQuadrilateral3D4NTriangle3D3N0112 = 10217 , Kratos::IntersectionQuadrilateral3D4NTriangle3D3N1012 = 1217 , Kratos::IntersectionQuadrilateral3D4NTriangle3D3N1212 = 21217 , Kratos::IntersectionQuadrilateral3D4NTriangle3D3N2112 = 12217 ,
  Kratos::IntersectionQuadrilateral3D4NTriangle3D3N2312 = 32217 , Kratos::IntersectionQuadrilateral3D4NTriangle3D3N3212 = 23217 , Kratos::IntersectionQuadrilateral3D4NTriangle3D3N3012 = 3217 , Kratos::IntersectionQuadrilateral3D4NTriangle3D3N0312 = 30217 ,
  Kratos::IntersectionQuadrilateral3D4NTriangle3D3N0121 = 10127 , Kratos::IntersectionQuadrilateral3D4NTriangle3D3N1021 = 1127 , Kratos::IntersectionQuadrilateral3D4NTriangle3D3N1221 = 21127 , Kratos::IntersectionQuadrilateral3D4NTriangle3D3N2121 = 12127 ,
  Kratos::IntersectionQuadrilateral3D4NTriangle3D3N2321 = 32127 , Kratos::IntersectionQuadrilateral3D4NTriangle3D3N3221 = 23127 , Kratos::IntersectionQuadrilateral3D4NTriangle3D3N3021 = 3127 , Kratos::IntersectionQuadrilateral3D4NTriangle3D3N0321 = 30127 ,
  Kratos::IntersectionQuadrilateral3D4NTriangle3D3N0120 = 10027 , Kratos::IntersectionQuadrilateral3D4NTriangle3D3N1020 = 1027 , Kratos::IntersectionQuadrilateral3D4NTriangle3D3N1220 = 21027 , Kratos::IntersectionQuadrilateral3D4NTriangle3D3N2120 = 12027 ,
  Kratos::IntersectionQuadrilateral3D4NTriangle3D3N2320 = 32027 , Kratos::IntersectionQuadrilateral3D4NTriangle3D3N3220 = 23027 , Kratos::IntersectionQuadrilateral3D4NTriangle3D3N3020 = 3027 , Kratos::IntersectionQuadrilateral3D4NTriangle3D3N0320 = 30027 ,
  Kratos::IntersectionQuadrilateral3D4NTriangle3D3N0102 = 10207 , Kratos::IntersectionQuadrilateral3D4NTriangle3D3N1002 = 1207 , Kratos::IntersectionQuadrilateral3D4NTriangle3D3N1202 = 21207 , Kratos::IntersectionQuadrilateral3D4NTriangle3D3N2102 = 12207 ,
  Kratos::IntersectionQuadrilateral3D4NTriangle3D3N2302 = 32207 , Kratos::IntersectionQuadrilateral3D4NTriangle3D3N3202 = 23207 , Kratos::IntersectionQuadrilateral3D4NTriangle3D3N3002 = 3207 , Kratos::IntersectionQuadrilateral3D4NTriangle3D3N0302 = 30207
}
 Case for 3D triangle intersected with quadrilateral 3D. More...
 
enum class  Kratos::PointBelongsTriangle3D3NQuadrilateral3D4N {
  Kratos::SlaveTriangle3D3N0 = 0 , Kratos::SlaveTriangle3D3N1 = 1 , Kratos::SlaveTriangle3D3N2 = 2 , Kratos::MasterQuadrilateral3D4N0 = 3 ,
  Kratos::MasterQuadrilateral3D4N1 = 4 , Kratos::MasterQuadrilateral3D4N2 = 5 , Kratos::MasterQuadrilateral3D4N3 = 6 , Kratos::IntersectionTriangle3D3NQuadrilateral3D4N = 7 ,
  Kratos::IntersectionTriangle3D3NQuadrilateral3D4N0101 = 10107 , Kratos::IntersectionTriangle3D3NQuadrilateral3D4N0110 = 1107 , Kratos::IntersectionTriangle3D3NQuadrilateral3D4N0112 = 21107 , Kratos::IntersectionTriangle3D3NQuadrilateral3D4N0121 = 12107 ,
  Kratos::IntersectionTriangle3D3NQuadrilateral3D4N0123 = 32107 , Kratos::IntersectionTriangle3D3NQuadrilateral3D4N0132 = 23107 , Kratos::IntersectionTriangle3D3NQuadrilateral3D4N0130 = 3107 , Kratos::IntersectionTriangle3D3NQuadrilateral3D4N0103 = 30107 ,
  Kratos::IntersectionTriangle3D3NQuadrilateral3D4N1001 = 10017 , Kratos::IntersectionTriangle3D3NQuadrilateral3D4N1010 = 1017 , Kratos::IntersectionTriangle3D3NQuadrilateral3D4N1012 = 21017 , Kratos::IntersectionTriangle3D3NQuadrilateral3D4N1021 = 12017 ,
  Kratos::IntersectionTriangle3D3NQuadrilateral3D4N1023 = 32017 , Kratos::IntersectionTriangle3D3NQuadrilateral3D4N1032 = 23017 , Kratos::IntersectionTriangle3D3NQuadrilateral3D4N1030 = 3017 , Kratos::IntersectionTriangle3D3NQuadrilateral3D4N1003 = 30017 ,
  Kratos::IntersectionTriangle3D3NQuadrilateral3D4N1201 = 10217 , Kratos::IntersectionTriangle3D3NQuadrilateral3D4N1210 = 1217 , Kratos::IntersectionTriangle3D3NQuadrilateral3D4N1212 = 21217 , Kratos::IntersectionTriangle3D3NQuadrilateral3D4N1221 = 12217 ,
  Kratos::IntersectionTriangle3D3NQuadrilateral3D4N1223 = 32217 , Kratos::IntersectionTriangle3D3NQuadrilateral3D4N1232 = 23217 , Kratos::IntersectionTriangle3D3NQuadrilateral3D4N1230 = 3217 , Kratos::IntersectionTriangle3D3NQuadrilateral3D4N1203 = 30217 ,
  Kratos::IntersectionTriangle3D3NQuadrilateral3D4N2101 = 10127 , Kratos::IntersectionTriangle3D3NQuadrilateral3D4N2110 = 1127 , Kratos::IntersectionTriangle3D3NQuadrilateral3D4N2112 = 21127 , Kratos::IntersectionTriangle3D3NQuadrilateral3D4N2121 = 12127 ,
  Kratos::IntersectionTriangle3D3NQuadrilateral3D4N2123 = 32127 , Kratos::IntersectionTriangle3D3NQuadrilateral3D4N2132 = 23127 , Kratos::IntersectionTriangle3D3NQuadrilateral3D4N2130 = 3127 , Kratos::IntersectionTriangle3D3NQuadrilateral3D4N2103 = 30127 ,
  Kratos::IntersectionTriangle3D3NQuadrilateral3D4N2001 = 10027 , Kratos::IntersectionTriangle3D3NQuadrilateral3D4N2010 = 1027 , Kratos::IntersectionTriangle3D3NQuadrilateral3D4N2012 = 21027 , Kratos::IntersectionTriangle3D3NQuadrilateral3D4N2021 = 12027 ,
  Kratos::IntersectionTriangle3D3NQuadrilateral3D4N2023 = 32027 , Kratos::IntersectionTriangle3D3NQuadrilateral3D4N2032 = 23027 , Kratos::IntersectionTriangle3D3NQuadrilateral3D4N2030 = 3027 , Kratos::IntersectionTriangle3D3NQuadrilateral3D4N2003 = 30027 ,
  Kratos::IntersectionTriangle3D3NQuadrilateral3D4N0201 = 10207 , Kratos::IntersectionTriangle3D3NQuadrilateral3D4N0210 = 1207 , Kratos::IntersectionTriangle3D3NQuadrilateral3D4N0212 = 21207 , Kratos::IntersectionTriangle3D3NQuadrilateral3D4N0221 = 12207 ,
  Kratos::IntersectionTriangle3D3NQuadrilateral3D4N0223 = 32207 , Kratos::IntersectionTriangle3D3NQuadrilateral3D4N0232 = 23207 , Kratos::IntersectionTriangle3D3NQuadrilateral3D4N0230 = 3207 , Kratos::IntersectionTriangle3D3NQuadrilateral3D4N0203 = 30207
}
 Case for 3D quadrilateral intersected with triangle 3D. More...