347 template< const SizeType TNumNodes, const SizeType TNumNodesMaster = TNumNodes>
400 rOStream <<
"NSlave:" <<
NSlave << std::endl;
401 rOStream <<
"NMaster: " <<
NMaster << std::endl;
403 rOStream <<
"DetjSlave: " <<
DetjSlave << std::endl;
445 virtual void save(
Serializer& rSerializer)
const
487 template< const SizeType TDim, const SizeType TNumNodes, const SizeType TNumNodesMaster = TNumNodes>
592 void save(
Serializer& rSerializer)
const override
636 template< const SizeType TDim, const SizeType TNumNodes, const SizeType TNumNodesMaster = TNumNodes>
735 noalias(
NormalSlave) = MortarUtilities::GetVariableMatrix<TDim,TNumNodes>(SlaveGeometry, NORMAL, 0);
738 const IndexType step = (rCurrentProcessInfo[STEP] == 1) ? 0 : 1;
740 MortarUtilities::GetVariableMatrix<TDim,TNumNodes>(SlaveGeometry, DISPLACEMENT, 0) :
741 MortarUtilities::GetVariableMatrix<TDim,TNumNodes>(SlaveGeometry, DISPLACEMENT, 0)
742 - MortarUtilities::GetVariableMatrix<TDim,TNumNodes>(SlaveGeometry, DISPLACEMENT, 1);
743 noalias(
X1) = MortarUtilities::GetCoordinates<TDim,TNumNodes>(SlaveGeometry,
false,
step);
759 if constexpr (TDim == 3) {
775 if constexpr (TDim == 3) {
781 for (
IndexType i = 0;
i < TNumNodesMaster * TDim; ++
i) {
813 NormalMaster = MortarUtilities::GetVariableMatrix<TDim,TNumNodesMaster>(MasterGeometry, NORMAL, 0);
816 const IndexType step = (rCurrentProcessInfo[STEP] == 1) ? 0 : 1;
818 MortarUtilities::GetVariableMatrix<TDim,TNumNodesMaster>(MasterGeometry, DISPLACEMENT, 0) :
819 MortarUtilities::GetVariableMatrix<TDim,TNumNodesMaster>(MasterGeometry, DISPLACEMENT, 0)
820 - MortarUtilities::GetVariableMatrix<TDim,TNumNodesMaster>(MasterGeometry, DISPLACEMENT, 1);
821 noalias(
X2) = MortarUtilities::GetCoordinates<TDim,TNumNodesMaster>(MasterGeometry,
false,
step);
863 virtual void save(
Serializer& rSerializer)
const
869 rSerializer.
save(
"X1",
X1);
870 rSerializer.
save(
"u1",
u1);
871 rSerializer.
save(
"X2",
X2);
872 rSerializer.
save(
"u2",
u2);
880 rSerializer.
save(
"Ae",
Ae);
890 rSerializer.
load(
"X1",
X1);
891 rSerializer.
load(
"u1",
u1);
892 rSerializer.
load(
"X2",
X2);
893 rSerializer.
load(
"u2",
u2);
901 rSerializer.
load(
"Ae",
Ae);
931 template< const SizeType TDim, const SizeType TNumNodes, const SizeType TNumNodesMaster = TNumNodes>
990 noalias(
u1old) = MortarUtilities::GetVariableMatrix<TDim,TNumNodes>(SlaveGeometry, DISPLACEMENT, 1) - MortarUtilities::GetVariableMatrix<TDim,TNumNodes>(SlaveGeometry, DISPLACEMENT, 2);
1005 noalias(
u2old) = MortarUtilities::GetVariableMatrix<TDim,TNumNodesMaster>(MasterGeometry, DISPLACEMENT, 1) - MortarUtilities::GetVariableMatrix<TDim,TNumNodesMaster>(MasterGeometry, DISPLACEMENT, 2);
1047 void save(
Serializer& rSerializer)
const override
1092 template< const SizeType TNumNodes, const SizeType TNumNodesMaster = TNumNodes>
1146 const double rIntegrationWeight
1150 const double det_j_slave = rKinematicVariables.
DetjSlave;
1155 for (
IndexType i_slave = 0; i_slave < TNumNodes; ++i_slave) {
1156 const double phi = phi_vector[i_slave];
1157 for (
IndexType j_slave = 0; j_slave < TNumNodes; ++j_slave) {
1158 DOperator(i_slave, j_slave) += det_j_slave * rIntegrationWeight *
phi * n1_vector[j_slave];
1160 for (
IndexType j_slave = 0; j_slave < TNumNodesMaster; ++j_slave) {
1161 MOperator(i_slave, j_slave) += det_j_slave * rIntegrationWeight *
phi * n2_vector[j_slave];
1188 rOStream <<
"DOperator: " <<
DOperator << std::endl;
1189 rOStream <<
"MOperator: " <<
MOperator << std::endl;
1231 virtual void save(
Serializer& rSerializer)
const
1270 template< const SizeType TDim, const SizeType TNumNodes,
bool TFrictional, const SizeType TNumNodesMaster = TNumNodes>
1361 const double rIntegrationWeight
1365 const double det_j_slave = rKinematicVariables.
DetjSlave;
1376 for (
IndexType i_node = 0; i_node < TNumNodes; ++i_node) {
1377 const double phi = vector_phi[i_node];
1379 for (
IndexType j_node = 0; j_node < TNumNodes; ++j_node) {
1380 const double n1 = vector_n1[j_node];
1386 + det_j_slave * rIntegrationWeight * delta_phi[
i][i_node] *
n1
1387 + det_j_slave * rIntegrationWeight *
phi* delta_n1[
i][j_node];
1389 if constexpr (TDim == 3) {
1391 DeltaDOperator[
i](i_node, j_node) += det_j_slave * rIntegrationWeight *
phi * delta_n1[
i][j_node];
1393 DeltaDOperator[
i](i_node, j_node) += det_j_slave * rIntegrationWeight * delta_phi[
i][i_node] *
n1;
1397 for (
IndexType j_node = 0; j_node < TNumNodesMaster; ++j_node) {
1398 const double n2 = vector_n2[j_node];
1404 + det_j_slave * rIntegrationWeight * delta_phi[
i][i_node] *
n2
1405 + det_j_slave * rIntegrationWeight *
phi* delta_n2[
i][j_node];
1407 if constexpr (TDim == 3) {
1409 DeltaMOperator[
i](i_node, j_node) += det_j_slave * rIntegrationWeight *
phi * delta_n2[
i][j_node];
1411 DeltaMOperator[
i](i_node, j_node) += det_j_slave * rIntegrationWeight * delta_phi[
i][i_node] *
n2;
1426 rOStream <<
"DeltaDOperator_" <<
i <<
": " <<
DeltaDOperator[
i] << std::endl;
1427 rOStream <<
"DeltaMOperator_" <<
i <<
": " <<
DeltaMOperator[
i] << std::endl;
1470 void save(
Serializer& rSerializer)
const override
1511 template< const SizeType TNumNodes, const SizeType TNumNodesMaster = TNumNodes>
1564 const double rIntegrationWeight
1569 const double det_j = rKinematicVariables.
DetjSlave;
1582 const double tolerance = std::numeric_limits<double>::epsilon();
1588 if (norm_me >= tolerance) {
1596 if (good_condition_number) {
1611 template<
class TArray>
1621 if (
i ==
j)
De(
i,
i) = detJ * N1[
i];
1633 rOStream <<
"Me: " <<
Me << std::endl;
1634 rOStream <<
"De: " <<
De << std::endl;
1676 virtual void save(
Serializer& rSerializer)
const
1678 rSerializer.
save(
"Me",
Me);
1679 rSerializer.
save(
"De",
De);
1684 rSerializer.
load(
"Me",
Me);
1685 rSerializer.
load(
"De",
De);
1715 template< const SizeType TDim, const SizeType TNumNodes,
bool TFrictional, const SizeType TNumNodesMaster = TNumNodes>
1797 const double rIntegrationWeight
1801 const double det_j_slave = rKinematicVariables.
DetjSlave;
1807 const double delta_det_j = rDerivativeData.DeltaDetjSlave[
i];
1811 + rIntegrationWeight * this->
ComputeDe( delta_n1, det_j_slave );
1825 const double tolerance = std::numeric_limits<double>::epsilon();
1838 if (!good_condition_number) {
1866 rOStream <<
"DeltaMe_" <<
i <<
": " <<
DeltaMe[
i] << std::endl;
1867 rOStream <<
"DeltaDe_" <<
i <<
": " <<
DeltaDe[
i] << std::endl;
1910 void save(
Serializer& rSerializer)
const override
1949 template<const SizeType TNumNodes, const SizeType TNumNodesMaster = TNumNodes>
1978 mBelongs(ThisBelongs)
1997 mBelongs = ThisBelongs;
This class is a derived class of DerivativeData.
Definition: mortar_classes.h:934
static const SizeType DoFSizeMasterGeometry
Definition: mortar_classes.h:948
double TangentFactor
The ALM parameters.
Definition: mortar_classes.h:962
static const SizeType DoFSizeSlaveGeometry
Definition: mortar_classes.h:947
GeometryDoFMatrixSlaveType u1old
Displacements and velocities.
Definition: mortar_classes.h:965
void UpdateMasterPair(const GeometryType &MasterGeometry, const ProcessInfo &rCurrentProcessInfo) override
Updating the Master pair.
Definition: mortar_classes.h:998
void Initialize(const GeometryType &SlaveGeometry, const ProcessInfo &rCurrentProcessInfo) override
Initializer method.
Definition: mortar_classes.h:981
DerivativeData< TDim, TNumNodes, TNumNodesMaster > BaseClassType
The base class type.
Definition: mortar_classes.h:940
GeometryDoFMatrixMasterType u2old
Definition: mortar_classes.h:966
static const SizeType DoFSizePairedGeometry
Size of DoFs of a paired dependency.
Definition: mortar_classes.h:951
DerivativeDataFrictional()=default
virtual ~DerivativeDataFrictional()=default
This data will be used to compute the derivatives.
Definition: mortar_classes.h:638
GeometryDoFMatrixMasterType u2
Definition: mortar_classes.h:690
virtual void UpdateMasterPair(const GeometryType &MasterGeometry, const ProcessInfo &rCurrentProcessInfo)
Updating the Master pair.
Definition: mortar_classes.h:808
GeometryMatrixType Ae
Ae matrix.
Definition: mortar_classes.h:711
virtual void ResetDerivatives()
This method reset to zero the cell vertex derivatives.
Definition: mortar_classes.h:772
GeometryDoFMatrixSlaveType u1
Definition: mortar_classes.h:689
static const SizeType DummySize
Definition: mortar_classes.h:659
double ScaleFactor
The scale factor.
Definition: mortar_classes.h:682
array_1d< GeometryArrayMasterType, DoFSizeDerivativesDependence > DeltaN2
Definition: mortar_classes.h:698
array_1d< double, DoFSizeDerivativesDependence > DeltaDetjSlave
Jacobian derivatives.
Definition: mortar_classes.h:693
GeometryDoFMatrixSlaveType X1
Displacements and original coordinates.
Definition: mortar_classes.h:689
array_1d< GeometryArraySlaveType, DoFSizeDerivativesDependence > DeltaN1
Shape function derivatives.
Definition: mortar_classes.h:697
GeometryDoFMatrixMasterType NormalMaster
Definition: mortar_classes.h:686
static const SizeType DoFSizeDerivativesDependence
Definition: mortar_classes.h:667
GeometryDoFMatrixMasterType X2
Definition: mortar_classes.h:690
array_1d< GeometryArraySlaveType, DoFSizeDerivativesDependence > DeltaPhi
Dual shape function derivatives.
Definition: mortar_classes.h:695
virtual ~DerivativeData()=default
array_1d< GeometryDoFMatrixMasterType, DoFSizeMasterGeometry > DeltaNormalMaster
Definition: mortar_classes.h:701
static const SizeType DoFSizeDerivativesVertex
Definition: mortar_classes.h:669
virtual void Initialize(const GeometryType &SlaveGeometry, const ProcessInfo &rCurrentProcessInfo)
Initializer method.
Definition: mortar_classes.h:729
array_1d< GeometryMatrixType, DoFSizeDerivativesDependence > DeltaAe
Derivatives Ae.
Definition: mortar_classes.h:714
static const SizeType DoFSizeSlaveGeometry
Definition: mortar_classes.h:661
array_1d< double, TNumNodes > PenaltyParameter
The penalty parameter.
Definition: mortar_classes.h:680
GeometryDoFMatrixSlaveType NormalSlave
The normals of the nodes.
Definition: mortar_classes.h:685
typename std::conditional< TNumNodes==2, DummyBoundedMatrixType, BoundedMatrix< double, 3, 3 > >::type VertexDerivativesMatrixType
Definition: mortar_classes.h:656
array_1d< VertexDerivativesMatrixType, DoFSizeDerivativesVertex > DeltaCellVertex
Integration cell vertex derivatives.
Definition: mortar_classes.h:703
static const SizeType DoFSizeMasterGeometry
Definition: mortar_classes.h:663
static const SizeType DoFSizePairedGeometry
Definition: mortar_classes.h:665
void InitializeDeltaAeComponents()
Initialize the DeltaAe components.
Definition: mortar_classes.h:790
array_1d< GeometryDoFMatrixSlaveType, DoFSizeSlaveGeometry > DeltaNormalSlave
Normal derivatives.
Definition: mortar_classes.h:700
This is the definition dual lagrange multiplier operators according to the work of Alexander Popp: ht...
Definition: mortar_classes.h:1513
void CalculateAeComponents(KinematicVariables &rKinematicVariables, const double rIntegrationWeight)
Calculates the Ae components necessary to compute the Phi_LagrangeMultipliers shape functions.
Definition: mortar_classes.h:1562
DualLagrangeMultiplierOperators()
Definition: mortar_classes.h:1531
GeometryMatrixType Me
The auxiliary operators needed to build the dual LM Ae operator.
Definition: mortar_classes.h:1536
void Initialize()
This method initialized the operators.
Definition: mortar_classes.h:1549
virtual ~DualLagrangeMultiplierOperators()
Definition: mortar_classes.h:1533
GeometryMatrixType ComputeDe(const TArray &N1, const double detJ) const
Calculates the matrix De.
Definition: mortar_classes.h:1612
KRATOS_CLASS_POINTER_DEFINITION(DualLagrangeMultiplierOperators)
Counted pointer of DualLagrangeMultiplierOperators.
bool CalculateAe(GeometryMatrixType &Ae)
Calculates the matrix Ae. To avoid problems in the inversion the matrix is normalized.
Definition: mortar_classes.h:1580
void PrintInfo(std::ostream &rOStream) const
Print information about this object.
Definition: mortar_classes.h:1632
GeometryMatrixType De
Definition: mortar_classes.h:1536
This is the definition dual lagrange multiplier operators including the derivatives.
Definition: mortar_classes.h:1718
array_1d< GeometryMatrixType, DoFSizeDerivativesDependence > DeltaMe
Definition: mortar_classes.h:1762
typename std::conditional< TFrictional, DerivativeDataFrictionalType, DerivativeFrictionalessDataType >::type DerivativeDataType
The type for derivative data, determined by the presence of friction.
Definition: mortar_classes.h:1736
static const SizeType DoFSizeDerivativesDependence
Definition: mortar_classes.h:1748
void CalculateDeltaAeComponents(KinematicVariablesType &rKinematicVariables, DerivativeDataType &rDerivativeData, const double rIntegrationWeight)
Calculates the Ae components and its derivatives necessary to compute the Phi_LagrangeMultipliers sha...
Definition: mortar_classes.h:1794
DualLagrangeMultiplierOperators< TNumNodes, TNumNodesMaster > BaseClassType
The base class type.
Definition: mortar_classes.h:1724
~DualLagrangeMultiplierOperatorsWithDerivatives() override
Definition: mortar_classes.h:1759
static const SizeType DoFSizePairedGeometry
Definition: mortar_classes.h:1746
array_1d< GeometryMatrixType, DoFSizeDerivativesDependence > DeltaDe
Definition: mortar_classes.h:1762
static const SizeType DoFSizeSlaveGeometry
Definition: mortar_classes.h:1742
bool CalculateDeltaAe(DerivativeDataType &rDerivativeData)
Calculates the matrix DeltaAe.
Definition: mortar_classes.h:1823
static const SizeType DoFSizeMasterGeometry
Definition: mortar_classes.h:1744
KRATOS_CLASS_POINTER_DEFINITION(DualLagrangeMultiplierOperatorsWithDerivatives)
Counted pointer of DualLagrangeMultiplierOperatorsWithDerivatives.
DualLagrangeMultiplierOperatorsWithDerivatives()
Definition: mortar_classes.h:1757
void Initialize()
This method initialized the operators.
Definition: mortar_classes.h:1775
void PrintInfo(std::ostream &rOStream) const
This method prints the current operators.
Definition: mortar_classes.h:1860
Geometry base class.
Definition: geometry.h:71
std::vector< IntegrationPointType > IntegrationPointsArrayType
Definition: geometry.h:161
static bool CheckConditionNumber(const TMatrix1 &rInputMatrix, TMatrix2 &rInvertedMatrix, const double Tolerance=std::numeric_limits< double >::epsilon(), const bool ThrowError=true)
This method checks the condition number of amtrix.
Definition: math_utils.h:236
static BoundedMatrix< double, TDim, TDim > InvertMatrix(const BoundedMatrix< double, TDim, TDim > &rInputMatrix, double &rInputMatrixDet, const double Tolerance=ZeroTolerance)
Calculates the inverse of a 2x2, 3x3 and 4x4 matrices (using bounded matrix for performance)
Definition: math_utils.h:197
MortarKinematicVariables.
Definition: mortar_classes.h:349
Vector NMaster
Definition: mortar_classes.h:366
void PrintInfo(std::ostream &rOStream) const
Definition: mortar_classes.h:398
MortarKinematicVariables()
Definition: mortar_classes.h:361
KRATOS_CLASS_POINTER_DEFINITION(MortarKinematicVariables)
Counted pointer of MortarKinematicVariables.
void Initialize()
Definition: mortar_classes.h:384
Vector PhiLagrangeMultipliers
Definition: mortar_classes.h:368
Vector NSlave
Definition: mortar_classes.h:367
double DetjSlave
Definition: mortar_classes.h:371
virtual ~MortarKinematicVariables()
Definition: mortar_classes.h:363
MortarKinematicVariablesWithDerivatives.
Definition: mortar_classes.h:490
~MortarKinematicVariablesWithDerivatives() override=default
Matrix jSlave
Definition: mortar_classes.h:518
Matrix DNDeMaster
Definition: mortar_classes.h:510
KRATOS_CLASS_POINTER_DEFINITION(MortarKinematicVariablesWithDerivatives)
Counted pointer of MortarKinematicVariables.
void Initialize()
This method initialized the operators.
Definition: mortar_classes.h:532
void PrintInfo(std::ostream &rOStream) const
Definition: mortar_classes.h:548
Matrix DNDeSlave
Definition: mortar_classes.h:511
Matrix jMaster
Definition: mortar_classes.h:519
MortarKinematicVariables< TNumNodes, TNumNodesMaster > BaseClassType
Definition of the base class.
Definition: mortar_classes.h:496
MortarKinematicVariablesWithDerivatives()=default
This is the definition of the mortar operator according to the work of Alexander Popp: https://www....
Definition: mortar_classes.h:1094
void Initialize()
This method initialized the operators.
Definition: mortar_classes.h:1132
void CalculateMortarOperators(KinematicVariables &rKinematicVariables, const double rIntegrationWeight)
It calculates the mortar operators. Popp thesis page 56, equation 3.31 and 3.32.
Definition: mortar_classes.h:1144
virtual ~MortarOperator()
Definition: mortar_classes.h:1115
GeometryMatrixSlaveType DOperator
Mortar condition matrices - DOperator and MOperator.
Definition: mortar_classes.h:1118
KRATOS_CLASS_POINTER_DEFINITION(MortarOperator)
Counted pointer of MortarOperator.
void PrintInfo(std::ostream &rOStream) const
Print information about this object.
Definition: mortar_classes.h:1186
MortarOperator()
Definition: mortar_classes.h:1113
GeometryMatrixMasterType ComputePOperator()
It calculates the POperator (Inverse(D x M))
Definition: mortar_classes.h:1170
GeometryMatrixMasterType MOperator
Definition: mortar_classes.h:1119
This class derives from the MortarOperator class and it includes the derived operators.
Definition: mortar_classes.h:1273
array_1d< GeometryMatrixSlaveType, DoFSizePairedGeometry > DeltaDOperator
Definition: mortar_classes.h:1319
KRATOS_CLASS_POINTER_DEFINITION(MortarOperatorWithDerivatives)
Counted pointer of MortarOperatorWithDerivatives.
~MortarOperatorWithDerivatives() override
Definition: mortar_classes.h:1316
MortarOperatorWithDerivatives()
Definition: mortar_classes.h:1314
void Initialize()
This method initialized the operators.
Definition: mortar_classes.h:1333
void PrintInfo(std::ostream &rOStream) const
Print information about this object.
Definition: mortar_classes.h:1421
static const SizeType DoFSizeDerivativesDependence
Definition: mortar_classes.h:1305
static const SizeType DoFSizeSlaveGeometry
Definition: mortar_classes.h:1300
typename std::conditional< TFrictional, DerivativeDataFrictionalType, DerivativeFrictionalessDataType >::type DerivativeDataType
The type for derivative data, determined by the presence of friction.
Definition: mortar_classes.h:1291
static const SizeType DoFSizeMasterGeometry
Definition: mortar_classes.h:1301
static const SizeType DoFSizePairedGeometry
Definition: mortar_classes.h:1303
MortarOperator< TNumNodes, TNumNodesMaster > BaseClassType
The base class type.
Definition: mortar_classes.h:1279
array_1d< GeometryMatrixMasterType, DoFSizePairedGeometry > DeltaMOperator
Definition: mortar_classes.h:1320
void CalculateDeltaMortarOperators(KinematicVariables &rKinematicVariables, DerivativeDataType &rDerivativeData, const double rIntegrationWeight)
It calculates the mortar operators.
Definition: mortar_classes.h:1358
Custom Point container to be used by the mapper.
Definition: mortar_classes.h:1952
~PointBelong() override=default
Destructor.
void SetBelong(BelongType ThisBelongs)
This method allows to set where the point belongs.
Definition: mortar_classes.h:1995
PointBelong(const array_1d< double, 3 > Coords)
Definition: mortar_classes.h:1972
PointBelong()
Default constructors.
Definition: mortar_classes.h:1968
KRATOS_CLASS_POINTER_DEFINITION(PointBelong)
Counted pointer of PointBelong.
BelongType GetBelong() const
This method recovers where the point belongs.
Definition: mortar_classes.h:2003
PointBelong(const array_1d< double, 3 > Coords, const BelongType &ThisBelongs)
Definition: mortar_classes.h:1976
typename std::conditional< TNumNodes==2, PointBelongsLine2D2N, typename std::conditional< TNumNodes==3, typename std::conditional< TNumNodesMaster==3, PointBelongsTriangle3D3N, PointBelongsTriangle3D3NQuadrilateral3D4N >::type, typename std::conditional< TNumNodesMaster==3, PointBelongsQuadrilateral3D4NTriangle3D3N, PointBelongsQuadrilateral3D4N >::type >::type >::type BelongType
The belonging type.
Definition: mortar_classes.h:1958
Point class.
Definition: point.h:59
ProcessInfo holds the current value of different solution parameters.
Definition: process_info.h:59
The serialization consists in storing the state of an object into a storage format like data file or ...
Definition: serializer.h:123
void load(std::string const &rTag, TDataType &rObject)
Definition: serializer.h:207
void save(std::string const &rTag, std::array< TDataType, TDataSize > const &rObject)
Definition: serializer.h:545
#define KRATOS_SERIALIZE_SAVE_BASE_CLASS(Serializer, BaseType)
Definition: define.h:812
#define KRATOS_SERIALIZE_LOAD_BASE_CLASS(Serializer, BaseType)
Definition: define.h:815
std::size_t IndexType
The definition of the index type.
Definition: key_hash.h:35
Parameters GetValue(Parameters &rParameters, const std::string &rEntry)
Definition: add_kratos_parameters_to_python.cpp:53
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
KratosZeroVector< double > ZeroVector
Definition: amatrix_interface.h:561
AMatrix::IdentityMatrix< double > IdentityMatrix
Definition: amatrix_interface.h:564
PointBelongsLine2D2N
Case for 2D line intersected with another 2D line.
Definition: mortar_classes.h:66
@ MasterLine2D2N0
The point belongs to the second slave node of a 2D line element.
@ MasterLine2D2N1
The point belongs to the first master node of a 2D line element.
@ SlaveLine2D2N1
The point belongs to the first slave node of a 2D line element.
@ IntersectionLine2D2N
The point belongs to the second master node of a 2D line element.
Internals::Matrix< double, AMatrix::dynamic, 1 > Vector
Definition: amatrix_interface.h:472
KratosZeroMatrix< double > ZeroMatrix
Definition: amatrix_interface.h:559
AMatrix::MatrixProductExpression< TExpression1Type, TExpression2Type > prod(AMatrix::MatrixExpression< TExpression1Type, TCategory1 > const &First, AMatrix::MatrixExpression< TExpression2Type, TCategory2 > const &Second)
Definition: amatrix_interface.h:568
PointBelongsQuadrilateral3D4N
Case for 3D quadrilateral intersected with another 3D quadrilateral.
Definition: mortar_classes.h:128
@ IntersectionQuadrilateral3D4N2110
@ IntersectionQuadrilateral3D4N1012
@ IntersectionQuadrilateral3D4N2330
@ IntersectionQuadrilateral3D4N3001
@ IntersectionQuadrilateral3D4N1021
@ IntersectionQuadrilateral3D4N1223
@ IntersectionQuadrilateral3D4N2312
@ SlaveQuadrilateral3D4N1
@ IntersectionQuadrilateral3D4N3210
@ IntersectionQuadrilateral3D4N0303
@ IntersectionQuadrilateral3D4N3003
@ IntersectionQuadrilateral3D4N2130
@ IntersectionQuadrilateral3D4N0323
@ IntersectionQuadrilateral3D4N1032
@ IntersectionQuadrilateral3D4N1001
@ IntersectionQuadrilateral3D4N3012
@ MasterQuadrilateral3D4N2
@ MasterQuadrilateral3D4N1
@ SlaveQuadrilateral3D4N3
@ IntersectionQuadrilateral3D4N1210
@ IntersectionQuadrilateral3D4N3032
@ SlaveQuadrilateral3D4N2
@ IntersectionQuadrilateral3D4N1010
@ MasterQuadrilateral3D4N3
@ IntersectionQuadrilateral3D4N0121
@ IntersectionQuadrilateral3D4N2123
@ IntersectionQuadrilateral3D4N0101
@ IntersectionQuadrilateral3D4N1232
@ IntersectionQuadrilateral3D4N3223
@ IntersectionQuadrilateral3D4N2303
@ IntersectionQuadrilateral3D4N1030
@ IntersectionQuadrilateral3D4N2332
@ IntersectionQuadrilateral3D4N2101
@ IntersectionQuadrilateral3D4N0132
@ IntersectionQuadrilateral3D4N3010
@ IntersectionQuadrilateral3D4N0130
@ IntersectionQuadrilateral3D4N3221
@ IntersectionQuadrilateral3D4N3023
@ IntersectionQuadrilateral3D4N1023
@ IntersectionQuadrilateral3D4N3201
@ IntersectionQuadrilateral3D4N1003
@ IntersectionQuadrilateral3D4N3021
@ IntersectionQuadrilateral3D4N2310
@ IntersectionQuadrilateral3D4N3232
@ IntersectionQuadrilateral3D4N0321
@ IntersectionQuadrilateral3D4N0103
@ MasterQuadrilateral3D4N0
@ IntersectionQuadrilateral3D4N1203
@ IntersectionQuadrilateral3D4N2323
@ IntersectionQuadrilateral3D4N
@ IntersectionQuadrilateral3D4N0310
@ IntersectionQuadrilateral3D4N3030
@ IntersectionQuadrilateral3D4N2121
@ IntersectionQuadrilateral3D4N2112
@ IntersectionQuadrilateral3D4N1230
@ SlaveQuadrilateral3D4N0
@ IntersectionQuadrilateral3D4N0112
@ IntersectionQuadrilateral3D4N0330
@ IntersectionQuadrilateral3D4N3203
@ IntersectionQuadrilateral3D4N0301
@ IntersectionQuadrilateral3D4N0312
@ IntersectionQuadrilateral3D4N1201
@ IntersectionQuadrilateral3D4N0123
@ IntersectionQuadrilateral3D4N2132
@ IntersectionQuadrilateral3D4N2301
@ IntersectionQuadrilateral3D4N0332
@ IntersectionQuadrilateral3D4N3230
@ IntersectionQuadrilateral3D4N1212
@ IntersectionQuadrilateral3D4N2103
@ IntersectionQuadrilateral3D4N0110
@ IntersectionQuadrilateral3D4N3212
@ IntersectionQuadrilateral3D4N2321
@ IntersectionQuadrilateral3D4N1221
PointBelongsTriangle3D3NQuadrilateral3D4N
Case for 3D quadrilateral intersected with triangle 3D.
Definition: mortar_classes.h:271
@ IntersectionTriangle3D3NQuadrilateral3D4N0132
@ IntersectionTriangle3D3NQuadrilateral3D4N2001
@ IntersectionTriangle3D3NQuadrilateral3D4N0221
@ IntersectionTriangle3D3NQuadrilateral3D4N2110
@ IntersectionTriangle3D3NQuadrilateral3D4N2112
@ IntersectionTriangle3D3NQuadrilateral3D4N0203
@ IntersectionTriangle3D3NQuadrilateral3D4N2103
@ IntersectionTriangle3D3NQuadrilateral3D4N0101
@ MasterQuadrilateral3D4N2
@ MasterQuadrilateral3D4N1
@ IntersectionTriangle3D3NQuadrilateral3D4N2023
@ IntersectionTriangle3D3NQuadrilateral3D4N0223
@ IntersectionTriangle3D3NQuadrilateral3D4N0232
@ MasterQuadrilateral3D4N3
@ IntersectionTriangle3D3NQuadrilateral3D4N2130
@ IntersectionTriangle3D3NQuadrilateral3D4N1003
@ IntersectionTriangle3D3NQuadrilateral3D4N2132
@ IntersectionTriangle3D3NQuadrilateral3D4N2121
@ IntersectionTriangle3D3NQuadrilateral3D4N0112
@ IntersectionTriangle3D3NQuadrilateral3D4N1030
@ IntersectionTriangle3D3NQuadrilateral3D4N0130
@ IntersectionTriangle3D3NQuadrilateral3D4N1023
@ IntersectionTriangle3D3NQuadrilateral3D4N1223
@ IntersectionTriangle3D3NQuadrilateral3D4N1010
@ IntersectionTriangle3D3NQuadrilateral3D4N2123
@ IntersectionTriangle3D3NQuadrilateral3D4N
@ IntersectionTriangle3D3NQuadrilateral3D4N2021
@ IntersectionTriangle3D3NQuadrilateral3D4N0110
@ IntersectionTriangle3D3NQuadrilateral3D4N1212
@ IntersectionTriangle3D3NQuadrilateral3D4N1232
@ MasterQuadrilateral3D4N0
@ IntersectionTriangle3D3NQuadrilateral3D4N0103
@ IntersectionTriangle3D3NQuadrilateral3D4N2010
@ IntersectionTriangle3D3NQuadrilateral3D4N1001
@ IntersectionTriangle3D3NQuadrilateral3D4N2032
@ IntersectionTriangle3D3NQuadrilateral3D4N1032
@ IntersectionTriangle3D3NQuadrilateral3D4N1201
@ IntersectionTriangle3D3NQuadrilateral3D4N2003
@ IntersectionTriangle3D3NQuadrilateral3D4N1012
@ IntersectionTriangle3D3NQuadrilateral3D4N1221
@ IntersectionTriangle3D3NQuadrilateral3D4N0212
@ IntersectionTriangle3D3NQuadrilateral3D4N1210
@ IntersectionTriangle3D3NQuadrilateral3D4N0230
@ IntersectionTriangle3D3NQuadrilateral3D4N2030
@ IntersectionTriangle3D3NQuadrilateral3D4N1203
@ IntersectionTriangle3D3NQuadrilateral3D4N2101
@ IntersectionTriangle3D3NQuadrilateral3D4N2012
@ IntersectionTriangle3D3NQuadrilateral3D4N0123
@ IntersectionTriangle3D3NQuadrilateral3D4N0121
@ IntersectionTriangle3D3NQuadrilateral3D4N1230
@ IntersectionTriangle3D3NQuadrilateral3D4N0201
@ IntersectionTriangle3D3NQuadrilateral3D4N1021
@ IntersectionTriangle3D3NQuadrilateral3D4N0210
AMatrix::VectorOuterProductExpression< TExpression1Type, TExpression2Type > outer_prod(AMatrix::MatrixExpression< TExpression1Type, TCategory1 > const &First, AMatrix::MatrixExpression< TExpression2Type, TCategory2 > const &Second)
Definition: amatrix_interface.h:582
PointBelongs
This enum defines a "hash" used to identify in which combination of cuts the point is found when the ...
Definition: mortar_classes.h:56
@ Intersection
The point belongs to the slave entity.
@ Slave
The point belongs to the master entity.
std::size_t SizeType
The definition of the size type.
Definition: mortar_classes.h:43
PointBelongsTriangle3D3N
Case for 3D triangle intersected with another 3D triangle.
Definition: mortar_classes.h:78
@ IntersectionTriangle3D3N2020
@ IntersectionTriangle3D3N2102
@ IntersectionTriangle3D3N1012
@ IntersectionTriangle3D3N0202
@ IntersectionTriangle3D3N2021
@ IntersectionTriangle3D3N
@ IntersectionTriangle3D3N1202
@ IntersectionTriangle3D3N1010
@ IntersectionTriangle3D3N0102
@ IntersectionTriangle3D3N2010
@ IntersectionTriangle3D3N2121
@ IntersectionTriangle3D3N0101
@ IntersectionTriangle3D3N2120
@ IntersectionTriangle3D3N2101
@ IntersectionTriangle3D3N1210
@ IntersectionTriangle3D3N0201
@ IntersectionTriangle3D3N1212
@ IntersectionTriangle3D3N1020
@ IntersectionTriangle3D3N0110
@ IntersectionTriangle3D3N2110
@ IntersectionTriangle3D3N0221
@ IntersectionTriangle3D3N0112
@ IntersectionTriangle3D3N0212
@ IntersectionTriangle3D3N0121
@ IntersectionTriangle3D3N1021
@ IntersectionTriangle3D3N2112
@ IntersectionTriangle3D3N0210
@ IntersectionTriangle3D3N1201
@ IntersectionTriangle3D3N2001
@ IntersectionTriangle3D3N2002
@ IntersectionTriangle3D3N1002
@ IntersectionTriangle3D3N0120
@ IntersectionTriangle3D3N1001
@ IntersectionTriangle3D3N2012
@ IntersectionTriangle3D3N1220
@ IntersectionTriangle3D3N0220
@ IntersectionTriangle3D3N1221
T & noalias(T &TheMatrix)
Definition: amatrix_interface.h:484
scalar_matrix< double > ScalarMatrix
Definition: amatrix_interface.h:728
TExpressionType::data_type norm_frobenius(AMatrix::MatrixExpression< TExpressionType, TCategory > const &TheExpression)
Definition: amatrix_interface.h:687
typename GeometryType::IntegrationPointsArrayType IntegrationPointsType
Definition: mortar_classes.h:40
PointBelongsQuadrilateral3D4NTriangle3D3N
Case for 3D triangle intersected with quadrilateral 3D.
Definition: mortar_classes.h:208
@ IntersectionQuadrilateral3D4NTriangle3D3N1212
@ IntersectionQuadrilateral3D4NTriangle3D3N3220
@ IntersectionQuadrilateral3D4NTriangle3D3N0321
@ IntersectionQuadrilateral3D4NTriangle3D3N
@ SlaveQuadrilateral3D4N1
@ IntersectionQuadrilateral3D4NTriangle3D3N2112
@ IntersectionQuadrilateral3D4NTriangle3D3N3202
@ IntersectionQuadrilateral3D4NTriangle3D3N3020
@ IntersectionQuadrilateral3D4NTriangle3D3N2320
@ IntersectionQuadrilateral3D4NTriangle3D3N3021
@ IntersectionQuadrilateral3D4NTriangle3D3N1220
@ IntersectionQuadrilateral3D4NTriangle3D3N2110
@ SlaveQuadrilateral3D4N3
@ IntersectionQuadrilateral3D4NTriangle3D3N2302
@ SlaveQuadrilateral3D4N2
@ IntersectionQuadrilateral3D4NTriangle3D3N3201
@ IntersectionQuadrilateral3D4NTriangle3D3N2321
@ IntersectionQuadrilateral3D4NTriangle3D3N1202
@ IntersectionQuadrilateral3D4NTriangle3D3N3212
@ IntersectionQuadrilateral3D4NTriangle3D3N3001
@ IntersectionQuadrilateral3D4NTriangle3D3N1012
@ IntersectionQuadrilateral3D4NTriangle3D3N0120
@ IntersectionQuadrilateral3D4NTriangle3D3N1002
@ IntersectionQuadrilateral3D4NTriangle3D3N0121
@ IntersectionQuadrilateral3D4NTriangle3D3N3210
@ IntersectionQuadrilateral3D4NTriangle3D3N2102
@ IntersectionQuadrilateral3D4NTriangle3D3N1201
@ IntersectionQuadrilateral3D4NTriangle3D3N1221
@ IntersectionQuadrilateral3D4NTriangle3D3N0102
@ IntersectionQuadrilateral3D4NTriangle3D3N0301
@ IntersectionQuadrilateral3D4NTriangle3D3N2121
@ IntersectionQuadrilateral3D4NTriangle3D3N3221
@ IntersectionQuadrilateral3D4NTriangle3D3N0101
@ IntersectionQuadrilateral3D4NTriangle3D3N0312
@ IntersectionQuadrilateral3D4NTriangle3D3N0310
@ IntersectionQuadrilateral3D4NTriangle3D3N1021
@ IntersectionQuadrilateral3D4NTriangle3D3N1210
@ IntersectionQuadrilateral3D4NTriangle3D3N2310
@ IntersectionQuadrilateral3D4NTriangle3D3N1001
@ SlaveQuadrilateral3D4N0
@ IntersectionQuadrilateral3D4NTriangle3D3N0112
@ IntersectionQuadrilateral3D4NTriangle3D3N0110
@ IntersectionQuadrilateral3D4NTriangle3D3N1010
@ IntersectionQuadrilateral3D4NTriangle3D3N0302
@ IntersectionQuadrilateral3D4NTriangle3D3N0320
@ IntersectionQuadrilateral3D4NTriangle3D3N2312
@ IntersectionQuadrilateral3D4NTriangle3D3N2301
@ IntersectionQuadrilateral3D4NTriangle3D3N1020
@ IntersectionQuadrilateral3D4NTriangle3D3N3012
@ IntersectionQuadrilateral3D4NTriangle3D3N3010
@ IntersectionQuadrilateral3D4NTriangle3D3N2101
@ IntersectionQuadrilateral3D4NTriangle3D3N2120
@ IntersectionQuadrilateral3D4NTriangle3D3N3002
int step
Definition: face_heat.py:88
type
Definition: generate_gid_list_file.py:35
phi
Definition: isotropic_damage_automatic_differentiation.py:168
def load(f)
Definition: ode_solve.py:307
int j
Definition: quadrature.py:648
n2
Definition: read_stl.py:20
n1
Definition: read_stl.py:18
integer i
Definition: TensorModule.f:17