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::GeometryUtilities Class Reference

Short class definition. More...

#include <geometry_utilities.h>

Collaboration diagram for Kratos::GeometryUtilities:

Public Member Functions

Life Cycle
 GeometryUtilities (ModelPart &modelPart)
 Default constructor. More...
 
virtual ~GeometryUtilities ()
 Destructor. More...
 
Operations
void CalculateNodalAreasFromConditions ()
 
void ComputeUnitSurfaceNormals ()
 
void ProjectNodalVariableOnUnitSurfaceNormals (const Variable< array_3d > &rNodalVariable)
 
void ProjectNodalVariableOnDirection (const Variable< array_3d > &rNodalVariable, const Variable< array_3d > &rDirectionVariable)
 
void ProjectNodalVariableOnTangentPlane (const Variable< array_3d > &rNodalVariable, const Variable< array_3d > &rPlaneNormalVariable)
 
void ExtractBoundaryNodes (std::string const &rBoundarySubModelPartName)
 
void ExtractEdgeNodes (std::string const &rEdgeSubModelPartName)
 
std::tuple< std::vector< double >, std::vector< double > > ComputeDistancesToBoundingModelPart (ModelPart &rBoundingModelPart)
 
template<class TContainerType >
double CalculateLength (TContainerType &rContainer)
 
double ComputeVolume ()
 
void ComputeVolumeShapeDerivatives (const Variable< array_3d > &rDerivativeVariable)
 
void CalculateGaussianCurvature ()
 
double GaussianCurvatureForNodeFromTensor (const NodeType &rNode)
 
double GaussianCurvatureForNodeTaubin (const NodeType &rNode)
 
double GaussianCurvatureForNodeMeyer (const NodeType &rNode)
 
std::string GetCurvatureTechnique (const NodeType &rNode)
 
bool CheckIfElementIsQuadratic (const Kratos::GlobalPointer< Kratos::Condition > pElement)
 
bool CheckIfNodesHasQuadraticNeigbourElement (const NodeType &rNode)
 
void LocalPointInElement (const NodeType &rNode, const Kratos::GlobalPointer< Kratos::Condition > pElement, Kratos::Point::CoordinatesArrayType &rLocalPoint)
 
Matrix CurvatureTensor (const NodeType &rNode, const Kratos::GlobalPointer< Kratos::Condition > pElement)
 
void BaseVectors (const NodeType &rNode, const Kratos::GlobalPointer< Kratos::Condition > pElement, Vector &rG1, Vector &rG2)
 
void CartesianBaseVectors (const NodeType &rNode, const Kratos::GlobalPointer< Kratos::Condition > pElement, Vector &rE1, Vector &rE2)
 
void TransformTensorCoefficients (Matrix &rTensor, Matrix &rResultTensor, Vector &rG1, Vector &rG2, Vector &rE1, Vector &rE2)
 
void InnerAngleAndMixedAreaOf3D3NTriangletAtNode (const NodeType &rNode, const Kratos::GlobalPointer< Kratos::Condition > pElement, double &rInnerAngle, double &rMixedArea)
 
Input and output
virtual std::string Info () const
 Turn back information as a string. More...
 
virtual void PrintInfo (std::ostream &rOStream) const
 Print information about this object. More...
 
virtual void PrintData (std::ostream &rOStream) const
 Print object's data. More...
 

Type Definitions

typedef array_1d< double, 3 > array_3d
 
typedef ModelPart::ConditionsContainerType ConditionsArrayType
 
typedef ModelPart::ElementType::GeometryType GeometryType
 
typedef std::size_t SizeType
 
using NodeType = Node
 
 KRATOS_CLASS_POINTER_DEFINITION (GeometryUtilities)
 Pointer definition of GeometryUtilities. More...
 

Detailed Description

Short class definition.

Detail class definition.

Member Typedef Documentation

◆ array_3d

◆ ConditionsArrayType

◆ GeometryType

◆ NodeType

◆ SizeType

Constructor & Destructor Documentation

◆ GeometryUtilities()

Kratos::GeometryUtilities::GeometryUtilities ( ModelPart modelPart)
inline

Default constructor.

◆ ~GeometryUtilities()

virtual Kratos::GeometryUtilities::~GeometryUtilities ( )
inlinevirtual

Destructor.

Member Function Documentation

◆ BaseVectors()

void Kratos::GeometryUtilities::BaseVectors ( const NodeType rNode,
const Kratos::GlobalPointer< Kratos::Condition pElement,
Vector rG1,
Vector rG2 
)

◆ CalculateGaussianCurvature()

void Kratos::GeometryUtilities::CalculateGaussianCurvature ( )

◆ CalculateLength()

template<class TContainerType >
double Kratos::GeometryUtilities::CalculateLength ( TContainerType &  rContainer)
inline

◆ CalculateNodalAreasFromConditions()

void Kratos::GeometryUtilities::CalculateNodalAreasFromConditions ( )

◆ CartesianBaseVectors()

void Kratos::GeometryUtilities::CartesianBaseVectors ( const NodeType rNode,
const Kratos::GlobalPointer< Kratos::Condition pElement,
Vector rE1,
Vector rE2 
)

◆ CheckIfElementIsQuadratic()

bool Kratos::GeometryUtilities::CheckIfElementIsQuadratic ( const Kratos::GlobalPointer< Kratos::Condition pElement)

◆ CheckIfNodesHasQuadraticNeigbourElement()

bool Kratos::GeometryUtilities::CheckIfNodesHasQuadraticNeigbourElement ( const NodeType rNode)

◆ ComputeDistancesToBoundingModelPart()

std::tuple< std::vector< double >, std::vector< double > > Kratos::GeometryUtilities::ComputeDistancesToBoundingModelPart ( ModelPart rBoundingModelPart)

◆ ComputeUnitSurfaceNormals()

void Kratos::GeometryUtilities::ComputeUnitSurfaceNormals ( )

◆ ComputeVolume()

double Kratos::GeometryUtilities::ComputeVolume ( )

◆ ComputeVolumeShapeDerivatives()

void Kratos::GeometryUtilities::ComputeVolumeShapeDerivatives ( const Variable< array_3d > &  rDerivativeVariable)

◆ CurvatureTensor()

Matrix Kratos::GeometryUtilities::CurvatureTensor ( const NodeType rNode,
const Kratos::GlobalPointer< Kratos::Condition pElement 
)

◆ ExtractBoundaryNodes()

void Kratos::GeometryUtilities::ExtractBoundaryNodes ( std::string const &  rBoundarySubModelPartName)

◆ ExtractEdgeNodes()

void Kratos::GeometryUtilities::ExtractEdgeNodes ( std::string const &  rEdgeSubModelPartName)

◆ GaussianCurvatureForNodeFromTensor()

double Kratos::GeometryUtilities::GaussianCurvatureForNodeFromTensor ( const NodeType rNode)

◆ GaussianCurvatureForNodeMeyer()

double Kratos::GeometryUtilities::GaussianCurvatureForNodeMeyer ( const NodeType rNode)

◆ GaussianCurvatureForNodeTaubin()

double Kratos::GeometryUtilities::GaussianCurvatureForNodeTaubin ( const NodeType rNode)

◆ GetCurvatureTechnique()

std::string Kratos::GeometryUtilities::GetCurvatureTechnique ( const NodeType rNode)

◆ Info()

virtual std::string Kratos::GeometryUtilities::Info ( ) const
inlinevirtual

Turn back information as a string.

◆ InnerAngleAndMixedAreaOf3D3NTriangletAtNode()

void Kratos::GeometryUtilities::InnerAngleAndMixedAreaOf3D3NTriangletAtNode ( const NodeType rNode,
const Kratos::GlobalPointer< Kratos::Condition pElement,
double rInnerAngle,
double rMixedArea 
)

◆ KRATOS_CLASS_POINTER_DEFINITION()

Kratos::GeometryUtilities::KRATOS_CLASS_POINTER_DEFINITION ( GeometryUtilities  )

Pointer definition of GeometryUtilities.

◆ LocalPointInElement()

void Kratos::GeometryUtilities::LocalPointInElement ( const NodeType rNode,
const Kratos::GlobalPointer< Kratos::Condition pElement,
Kratos::Point::CoordinatesArrayType rLocalPoint 
)

◆ PrintData()

virtual void Kratos::GeometryUtilities::PrintData ( std::ostream &  rOStream) const
inlinevirtual

Print object's data.

◆ PrintInfo()

virtual void Kratos::GeometryUtilities::PrintInfo ( std::ostream &  rOStream) const
inlinevirtual

Print information about this object.

◆ ProjectNodalVariableOnDirection()

void Kratos::GeometryUtilities::ProjectNodalVariableOnDirection ( const Variable< array_3d > &  rNodalVariable,
const Variable< array_3d > &  rDirectionVariable 
)

◆ ProjectNodalVariableOnTangentPlane()

void Kratos::GeometryUtilities::ProjectNodalVariableOnTangentPlane ( const Variable< array_3d > &  rNodalVariable,
const Variable< array_3d > &  rPlaneNormalVariable 
)

◆ ProjectNodalVariableOnUnitSurfaceNormals()

void Kratos::GeometryUtilities::ProjectNodalVariableOnUnitSurfaceNormals ( const Variable< array_3d > &  rNodalVariable)

◆ TransformTensorCoefficients()

void Kratos::GeometryUtilities::TransformTensorCoefficients ( Matrix rTensor,
Matrix rResultTensor,
Vector rG1,
Vector rG2,
Vector rE1,
Vector rE2 
)

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