![]() |
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.
|
#include <numeric>#include <unordered_map>#include "includes/variables.h"#include "includes/node.h"#include "geometries/geometry.h"Go to the source code of this file.
Classes | |
| struct | Kratos::MortarUtilitiesSettings |
| This struct is used in order to identify when using the historical and non historical variables. More... | |
Namespaces | |
| Kratos | |
| REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES. | |
| MortarUtilities | |
| This is a class that provides auxiliar utilities for the mortar integration. | |
| Kratos::MortarUtilities | |
Typedefs | |
Type Definitions | |
| typedef Node | Kratos::MortarUtilities::NodeType |
| typedef Point | Kratos::MortarUtilities::PointType |
| typedef PointType::CoordinatesArrayType | Kratos::MortarUtilities::CoordinatesArrayType |
| typedef Geometry< NodeType > | Kratos::MortarUtilities::GeometryType |
| Definition of geometries. More... | |
| typedef Geometry< PointType > | Kratos::MortarUtilities::GeometryPointType |
| typedef std::size_t | Kratos::MortarUtilities::IndexType |
| Index type definition. More... | |
| typedef std::size_t | Kratos::MortarUtilities::SizeType |
| Size type definition. More... | |
| typedef std::unordered_map< IndexType, IndexType > | Kratos::MortarUtilities::IntMap |
| A map for integers. More... | |
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... | |
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... | |
| template<typename TType > | |
| std::vector< std::size_t > | Kratos::MortarUtilities::SortIndexes (const std::vector< TType > &rThisVector) |
| This function gives you the indexes needed to order a vector. 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... | |
| template<class TContainerType > | |
| void | Kratos::MortarUtilities::InvertNormalForFlag (TContainerType &rContainer, const Flags Flag) |
| It inverts the order of the nodes in the conditions of a model part in order to invert the normal when certain flag is active. More... | |
| template<class TContainerType > | |
| void | Kratos::MortarUtilities::InvertNormal (TContainerType &rContainer) |
| It inverts the order of the nodes in the conditions of a model part in order to invert the normal. More... | |
| template<SizeType TDim, SizeType TNumNodes> | |
| BoundedMatrix< double, TNumNodes, TDim > | Kratos::MortarUtilities::GetCoordinates (const GeometryType &rGeometry, const bool Current=true, const IndexType Step=0) |
| It calculates the matrix of coordinates of a geometry. More... | |
| template<SizeType TNumNodes, SizeType TDim> | |
| BoundedMatrix< double, TNumNodes, TDim > | Kratos::MortarUtilities::ComputeTangentMatrix (const GeometryType &rGeometry) |
| It calculates the matrix containing the tangent vector TANGENT_XI. More... | |
| template<SizeType TNumNodes, class TVarType = Variable<double>> | |
| array_1d< double, TNumNodes > | Kratos::MortarUtilities::GetVariableVector (const GeometryType &rGeometry, const TVarType &rVariable, const IndexType Step) |
| It calculates the vector of an historical variable of a geometry. More... | |
| template<SizeType TNumNodes, class TVarType = Variable<double>> | |
| BoundedMatrix< double, TNumNodes, 1 > | Kratos::MortarUtilities::GetVariableVectorMatrix (const GeometryType &rGeometry, const TVarType &rVariable, const unsigned int Step) |
| It calculates the vector of an historical variable of a geometry. More... | |
| template<SizeType TNumNodes, class TVarType = Variable<double>> | |
| array_1d< double, TNumNodes > | Kratos::MortarUtilities::GetVariableVector (const GeometryType &rGeometry, const TVarType &rVariable) |
| It calculates the vector of a non-historical variable of a geometry. More... | |
| template<SizeType TNumNodes, class TVarType = Variable<double>> | |
| BoundedMatrix< double, TNumNodes, 1 > | Kratos::MortarUtilities::GetVariableVectorMatrix (const GeometryType &rGeometry, const TVarType &rVariable) |
| It calculates the vector of a non-historical variable of a geometry. More... | |
| template<SizeType TDim, SizeType TNumNodes> | |
| BoundedMatrix< double, TNumNodes, TDim > | Kratos::MortarUtilities::GetVariableMatrix (const GeometryType &rGeometry, const Variable< array_1d< double, 3 > > &rVariable, const unsigned int Step) |
| It calculates the matrix of a variable of a geometry. More... | |
| template<SizeType TDim, SizeType TNumNodes> | |
| BoundedMatrix< double, TNumNodes, TDim > | Kratos::MortarUtilities::GetVariableMatrix (const GeometryType &rGeometry, const Variable< array_1d< double, 3 > > &rVariable) |
| It calculates the matrix of a non-historical variable of a geometry. More... | |
| template<SizeType TDim, SizeType TNumNodes> | |
| BoundedMatrix< double, TNumNodes, TDim > | Kratos::MortarUtilities::GetAbsMatrix (const BoundedMatrix< double, TNumNodes, TDim > &rInputMatrix) |
| It calculates the matrix containing the absolute value of another matrix. More... | |
| template<SizeType TDim, class TVarType > | |
| unsigned int | Kratos::MortarUtilities::SizeToCompute () |
| This method gives the size to be computed. More... | |
| template<class TVarType , bool THistorical> | |
| void | Kratos::MortarUtilities::ResetValue (ModelPart &rThisModelPart, const TVarType &rThisVariable) |
| This method resets the value. More... | |
| template<class TVarType > | |
| void | Kratos::MortarUtilities::ResetAuxiliarValue (ModelPart &rThisModelPart) |
| This method resets the auxiliar value. More... | |
| template<class TVarType > | |
| const std::string | Kratos::MortarUtilities::GetAuxiliarVariable () |
| This method returns the auxiliar variable. More... | |
| template<class TVarType > | |
| double | Kratos::MortarUtilities::GetAuxiliarValue (NodeType &rThisNode, const std::size_t iSize) |
| This method returns the auxiliar variable. More... | |
| template<class TVarType , bool THistorical> | |
| void | Kratos::MortarUtilities::MatrixValue (const GeometryType &rThisGeometry, const TVarType &rThisVariable, Matrix &rThisValue) |
| This method adds the value. More... | |
| template<class TVarType , bool THistorical> | |
| void | Kratos::MortarUtilities::AddValue (GeometryType &rThisGeometry, const TVarType &rThisVariable, const Matrix &rThisValue) |
| This method adds the value. More... | |
| template<class TVarType , bool THistorical> | |
| void | Kratos::MortarUtilities::AddAreaWeightedNodalValue (NodeType &rThisNode, const TVarType &rThisVariable, const double RefArea=1.0, const double Tolerance=1.0e-4) |
| This method adds the value. More... | |
| template<class TVarType , bool THistorical> | |
| void | Kratos::MortarUtilities::UpdateDatabase (ModelPart &rThisModelPart, const TVarType &rThisVariable, Vector &rDx, const std::size_t Index, IntMap &rConectivityDatabase) |
| This method updates the database in the amster side. More... | |