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.
Public Member Functions | List of all members
Kratos::GeometryMetricCalculator< TDim, TNumNodes > Class Template Reference

#include <geometry_metric_calculator.h>

Collaboration diagram for Kratos::GeometryMetricCalculator< TDim, TNumNodes >:

Public Member Functions

void CalculateMetricTensor (const GeometryType &rGeometry, BoundedMatrix< double, 2, 2 > &rMetricTensor)
 
void CalculateMetricTensor (const GeometryType &rGeometry, BoundedMatrix< double, 3, 3 > &rMetricTensor)
 
Life Cycle
 GeometryMetricCalculator ()=delete
 
 GeometryMetricCalculator (GeometryMetricCalculator const &rOther)=delete
 Deleted copy constructor. More...
 
Operators
GeometryMetricCalculatoroperator= (GeometryMetricCalculator const &rOther)=delete
 Deleted assignment operator. More...
 

Static Public Member Functions

Operations
static void CalculateMetricTensor (const GeometryType &rGeometry, BoundedMatrix< double, TDim, TDim > &rMetricTensor)
 Calculate the metric tensor of a given geometry This function calculates the metric tensor and its data for a given geometry. The metric tensor M is computed by solving the problem trans(e)*M*e = 1, that means find the coefficients of the matrix M such that all the geometry edges (e) have unit lenght. More...
 
static void CalculateMetricTensor (const GeometryType &rGeometry, BoundedMatrix< double, TDim, TDim > &rMetricTensor, double &rReferenceElementSize, double &rMetricInfimum, double &rMetricSupremum)
 Calculate the metric tensor of a given geometry This function calculates the metric tensor and its data for a given geometry. The metric tensor M is computed by solving the problem trans(e)*M*e = 1, that means find the coefficients of the matrix M such that all the geometry edges (e) have unit lenght. The eigenvalues of the metric tensor are also computed in order to obtain the lenghts of the Steiner inertia ellipsis semiaxes. This allows computing the reference element size (as the average of the semiaxes lengths) and the infimum and supremum norms of M. More...
 
static void CalculateMetricTensorDimensionless (const GeometryType &rGeometry, BoundedMatrix< double, TDim, TDim > &rMetricTensorDimensionless, double &rReferenceElementSize, double &rMetricInfimum, double &rMetricSupremum)
 Calculate the metric tensor of a given geometry This function calculates the metric tensor and its data for a given geometry. The metric tensor M is computed by solving the problem trans(e)*M*e = 1, that means find the coefficients of the matrix M such that all the geometry edges (e) have unit lenght. The eigenvalues of the metric tensor are also computed in order to obtain the lenghts of the Steiner inertia ellipsis semiaxes. This allows computing the reference element size (as the average of the semiaxes lengths) and the infimum and supremum norms of M. Note that this methods returns the dimensionless metric that is the metric tensor multiplied by the square of the reference element size. More...
 

Type Definitions

typedef Geometry< NodeGeometryType
 
 KRATOS_CLASS_POINTER_DEFINITION (GeometryMetricCalculator)
 Pointer definition of GeometryMetricCalculator. More...
 

Member Typedef Documentation

◆ GeometryType

template<std::size_t TDim, std::size_t TNumNodes>
typedef Geometry<Node> Kratos::GeometryMetricCalculator< TDim, TNumNodes >::GeometryType

Constructor & Destructor Documentation

◆ GeometryMetricCalculator() [1/2]

template<std::size_t TDim, std::size_t TNumNodes>
Kratos::GeometryMetricCalculator< TDim, TNumNodes >::GeometryMetricCalculator ( )
delete

◆ GeometryMetricCalculator() [2/2]

template<std::size_t TDim, std::size_t TNumNodes>
Kratos::GeometryMetricCalculator< TDim, TNumNodes >::GeometryMetricCalculator ( GeometryMetricCalculator< TDim, TNumNodes > const &  rOther)
delete

Deleted copy constructor.

Member Function Documentation

◆ CalculateMetricTensor() [1/4]

void Kratos::GeometryMetricCalculator< 2, 3 >::CalculateMetricTensor ( const GeometryType rGeometry,
BoundedMatrix< double, 2, 2 > &  rMetricTensor 
)

◆ CalculateMetricTensor() [2/4]

void Kratos::GeometryMetricCalculator< 3, 4 >::CalculateMetricTensor ( const GeometryType rGeometry,
BoundedMatrix< double, 3, 3 > &  rMetricTensor 
)

◆ CalculateMetricTensor() [3/4]

template<std::size_t TDim, std::size_t TNumNodes>
static void Kratos::GeometryMetricCalculator< TDim, TNumNodes >::CalculateMetricTensor ( const GeometryType rGeometry,
BoundedMatrix< double, TDim, TDim > &  rMetricTensor 
)
static

Calculate the metric tensor of a given geometry This function calculates the metric tensor and its data for a given geometry. The metric tensor M is computed by solving the problem trans(e)*M*e = 1, that means find the coefficients of the matrix M such that all the geometry edges (e) have unit lenght.

Template Parameters
TDimGeometry working dimension
TNumNodesGeometry number of nodes
Parameters
rGeometryReference to the geometry of interest
rMetricTensorReference to the metric tensor

◆ CalculateMetricTensor() [4/4]

template<std::size_t TDim, std::size_t TNumNodes>
void Kratos::GeometryMetricCalculator< TDim, TNumNodes >::CalculateMetricTensor ( const GeometryType rGeometry,
BoundedMatrix< double, TDim, TDim > &  rMetricTensor,
double rReferenceElementSize,
double rMetricInfimum,
double rMetricSupremum 
)
static

Calculate the metric tensor of a given geometry This function calculates the metric tensor and its data for a given geometry. The metric tensor M is computed by solving the problem trans(e)*M*e = 1, that means find the coefficients of the matrix M such that all the geometry edges (e) have unit lenght. The eigenvalues of the metric tensor are also computed in order to obtain the lenghts of the Steiner inertia ellipsis semiaxes. This allows computing the reference element size (as the average of the semiaxes lengths) and the infimum and supremum norms of M.

Template Parameters
TDimGeometry working dimension
TNumNodesGeometry number of nodes
Parameters
rGeometryReference to the geometry of interest
rMetricTensorReference to the metric tensor
rReferenceElementSizeReference to the reference element size
rMetricInfimumReference to the metric infimum
rMetricSupremumReference to the metric supremum

◆ CalculateMetricTensorDimensionless()

template<std::size_t TDim, std::size_t TNumNodes>
void Kratos::GeometryMetricCalculator< TDim, TNumNodes >::CalculateMetricTensorDimensionless ( const GeometryType rGeometry,
BoundedMatrix< double, TDim, TDim > &  rMetricTensorDimensionless,
double rReferenceElementSize,
double rMetricInfimum,
double rMetricSupremum 
)
static

Calculate the metric tensor of a given geometry This function calculates the metric tensor and its data for a given geometry. The metric tensor M is computed by solving the problem trans(e)*M*e = 1, that means find the coefficients of the matrix M such that all the geometry edges (e) have unit lenght. The eigenvalues of the metric tensor are also computed in order to obtain the lenghts of the Steiner inertia ellipsis semiaxes. This allows computing the reference element size (as the average of the semiaxes lengths) and the infimum and supremum norms of M. Note that this methods returns the dimensionless metric that is the metric tensor multiplied by the square of the reference element size.

Template Parameters
TDimGeometry working dimension
TNumNodesGeometry number of nodes
Parameters
rGeometryReference to the geometry of interest
rMetricTensorReference to the metric tensor
rReferenceElementSizeReference to the reference element size
rMetricInfimumReference to the metric infimum
rMetricSupremumReference to the metric supremum

◆ KRATOS_CLASS_POINTER_DEFINITION()

template<std::size_t TDim, std::size_t TNumNodes>
Kratos::GeometryMetricCalculator< TDim, TNumNodes >::KRATOS_CLASS_POINTER_DEFINITION ( GeometryMetricCalculator< TDim, TNumNodes >  )

Pointer definition of GeometryMetricCalculator.

◆ operator=()

template<std::size_t TDim, std::size_t TNumNodes>
GeometryMetricCalculator& Kratos::GeometryMetricCalculator< TDim, TNumNodes >::operator= ( GeometryMetricCalculator< TDim, TNumNodes > const &  rOther)
delete

Deleted assignment operator.


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