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.
Namespaces | Functions
mortar_utilities.cpp File Reference
#include "includes/model_part.h"
#include "utilities/mortar_utilities.h"
#include "utilities/normal_calculation_utils.h"
#include "utilities/math_utils.h"
#include "utilities/variable_utils.h"
#include "utilities/parallel_utilities.h"
#include "utilities/atomic_utilities.h"
Include dependency graph for mortar_utilities.cpp:

Namespaces

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

Functions

array_1d< double, 3 > Kratos::MortarUtilities::GaussPointUnitNormal (const Vector &rN, const GeometryType &rGeometry)
 This function calculates the r_normal in a specific GP with a given shape function. More...
 
template<>
void Kratos::MortarUtilities::ResetAuxiliarValue< Variable< double > > (ModelPart &rThisModelPart)
 
template<>
void Kratos::MortarUtilities::ResetAuxiliarValue< Variable< array_1d< double, 3 > > > (ModelPart &rThisModelPart)
 
template<>
const std::string Kratos::MortarUtilities::GetAuxiliarVariable< Variable< double > > ()
 
template<>
const std::string Kratos::MortarUtilities::GetAuxiliarVariable< Variable< array_1d< double, 3 > > > ()
 
template<>
double Kratos::MortarUtilities::GetAuxiliarValue< Variable< double > > (NodeType &rThisNode, const std::size_t iSize)
 
template<>
double Kratos::MortarUtilities::GetAuxiliarValue< Variable< array_1d< double, 3 > > > (NodeType &rThisNode, const std::size_t iSize)
 
Functions
bool Kratos::MortarUtilities::LengthCheck (const GeometryPointType &rGeometryLine, const double Tolerance=1.0e-6)
 This functions checks if the length of the line is to short, with the potential of provoque ill condition in the dual LM formulation. More...
 
bool Kratos::MortarUtilities::HeronCheck (const GeometryPointType &rGeometryTriangle)
 This functions checks if the semiperimeter is smaller than any of the sides of the triangle. More...
 
bool Kratos::MortarUtilities::HeronCheck (const PointType &rPointOrig1, const PointType &rPointOrig2, const PointType &rPointOrig3)
 This functions checks if the semiperimeter is smaller than any of the sides of the triangle. More...
 
void Kratos::MortarUtilities::RotatePoint (PointType &rPointToRotate, const PointType &rPointReferenceRotation, const array_1d< double, 3 > &rSlaveTangentXi, const array_1d< double, 3 > &rSlaveTangentEta, const bool Inversed)
 This function rotates to align the projected points to a parallel plane to XY. More...
 
void Kratos::MortarUtilities::ComputeNodesMeanNormalModelPart (ModelPart &rModelPart, const bool ComputeConditions=true)
 It computes the mean of the normal in the condition in all the nodes. More...
 
void Kratos::MortarUtilities::ComputeNodesTangentModelPart (ModelPart &rModelPart, const Variable< array_1d< double, 3 >> *pSlipVariable=NULL, const double SlipCoefficient=1.0, const bool SlipAlways=false)
 It computes the tangent in all the nodes of the model part. More...
 
void Kratos::MortarUtilities::ComputeNodesTangentFromNormalModelPart (ModelPart &rModelPart)
 It computes the tangent in all the nodes of the model part from its normal. More...
 
void Kratos::MortarUtilities::ComputeTangentsFromNormal (NodeType &rNode, const array_1d< double, 3 > &rNormal, const std::size_t Dimension=3)
 It computes the tangent on the given node using the normal provided. More...
 
void Kratos::MortarUtilities::ComputeTangentNodeWithLMAndSlip (NodeType &rNode, const std::size_t StepLM=0, const Variable< array_1d< double, 3 >> *pSlipVariable=NULL, const double SlipCoefficient=1.0, const std::size_t Dimension=3)
 It computes the tangent on the given node using the LM direction and Slip direction. More...
 
void Kratos::MortarUtilities::ComputeTangentNodeWithSlip (NodeType &rNode, const std::size_t StepLM=0, const Variable< array_1d< double, 3 >> *pSlipVariable=NULL, const double SlipCoefficient=1.0, const std::size_t Dimension=3)
 It computes the tangent on the given node using the Slip direction. More...