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 <particle_mechanics_math_utilities.h>
type definitions | |
typedef Matrix | MatrixType |
typedef Vector | VectorType |
typedef unsigned int | IndexType |
typedef unsigned int | SizeType |
typedef MathUtils< TDataType > | MathUtilsType |
typedef Node | NodeType |
typedef Geometry< Node > | GeometryType |
typedef DenseVector< Vector > | Second_Order_Tensor |
typedef DenseVector< Second_Order_Tensor > | Third_Order_Tensor |
typedef DenseVector< DenseVector< Matrix > > | Fourth_Order_Tensor |
typedef DenseMatrix< Second_Order_Tensor > | Matrix_Second_Tensor |
static void | GetRotationMatrix (MatrixType &rRotationMatrix, const VectorType &rNormalVector, const unsigned int Dimension) |
static double | CalculateRadius (const Matrix &rN, GeometryType &Geom, const Configuration ThisConfiguration=Current, const IndexType IntegrationPointIndex=0) |
static double | CalculateRadiusPoint (GeometryType &Geom, const Configuration ThisConfiguration=Current) |
static void | QRFactorization (const MatrixType &A, MatrixType &Q, MatrixType &R) |
Calculates the QR Factorization of given square matrix A=QR. The Factorization is performed using the householder algorithm. More... | |
static Vector | EigenValues (const Matrix &A, const double rTolerance=1e-9, const double rZeroTolerance=1e-9) |
Calculates Eigenvalues of given square matrix A. The QR Algorithm with shifts is used. More... | |
static Vector | EigenValuesDirectMethod (const Matrix &A) |
Calculates the Eigenvalues using a direct method. More... | |
static void | EigenVectors (const MatrixType &A, MatrixType &rEigenVectors, VectorType &rEigenValues, const double rZeroTolerance=1e-9, const unsigned int rMaxIteration=10) |
Calculates the Eigenvectors and Eigenvalues of given symmetric matrix A. The eigenvectors and eigenvalues are calculated using the iterative Gauss-Seidel-method. More... | |
template<class TVectorType > | |
static void | Normalize (TVectorType &v) |
Normalises a vector. Vector is scaled by \( V_{norm} = \frac{V}{|V|} \). More... | |
static double | NormTensor (Matrix &rTensor) |
Builds the norm of a given second order tensor. More... | |
static void | TensorToMatrix (const Fourth_Order_Tensor &rTensor, Matrix &rMatrix) |
Transforms a given fourth order tensor to a corresponing Matrix. More... | |
static void | MatrixToTensor (const MatrixType &A, std::vector< std::vector< Matrix > > &rTensor) |
Transforms a given 6*6 Matrix to a corresponing 4th order tensor. More... | |
static void | MatrixToTensor (const MatrixType &A, array_1d< double, 81 > &rTensor) |
Transforms a given 6*6 Matrix to a corresponing 4th order tensor. More... | |
static void | TensorToMatrix (const std::vector< std::vector< Matrix > > &rTensor, Matrix &rMatrix) |
Transforms a given 4th order tensor to a corresponing 6*6 Matrix. More... | |
static void | TensorToMatrix (const array_1d< double, 81 > &rTensor, Matrix &rMatrix) |
Transforms a given 4th order Tensor to a corresponing 6*6 Matrix. More... | |
typedef DenseVector<DenseVector<Matrix> > Kratos::ParticleMechanicsMathUtilities< TDataType >::Fourth_Order_Tensor |
typedef Geometry< Node > Kratos::ParticleMechanicsMathUtilities< TDataType >::GeometryType |
typedef unsigned int Kratos::ParticleMechanicsMathUtilities< TDataType >::IndexType |
typedef MathUtils<TDataType> Kratos::ParticleMechanicsMathUtilities< TDataType >::MathUtilsType |
typedef DenseMatrix<Second_Order_Tensor> Kratos::ParticleMechanicsMathUtilities< TDataType >::Matrix_Second_Tensor |
typedef Matrix Kratos::ParticleMechanicsMathUtilities< TDataType >::MatrixType |
typedef Node Kratos::ParticleMechanicsMathUtilities< TDataType >::NodeType |
typedef DenseVector<Vector> Kratos::ParticleMechanicsMathUtilities< TDataType >::Second_Order_Tensor |
typedef unsigned int Kratos::ParticleMechanicsMathUtilities< TDataType >::SizeType |
typedef DenseVector<Second_Order_Tensor> Kratos::ParticleMechanicsMathUtilities< TDataType >::Third_Order_Tensor |
typedef Vector Kratos::ParticleMechanicsMathUtilities< TDataType >::VectorType |
|
inlinestatic |
Calculates the radius of axisymmetry
N | The Gauss Point shape function |
Geom | The geometry studied |
|
inlinestatic |
Calculates the radius of axisymmetry for a point
Geom | The geometry studied |
|
inlinestatic |
Calculates Eigenvalues of given square matrix A. The QR Algorithm with shifts is used.
[in] | A | the given square matrix the eigenvalues are to be calculated. |
[in] | rTolerance | convergence criteria. |
[in] | rZeroTolerance | number treated as zero. |
|
inlinestatic |
Calculates the Eigenvalues using a direct method.
A | the given square matrix the eigenvalues are to be calculated. |
|
inlinestatic |
Calculates the Eigenvectors and Eigenvalues of given symmetric matrix A. The eigenvectors and eigenvalues are calculated using the iterative Gauss-Seidel-method.
[in] | A | the given symmetric matrix where the eigenvectors have to be calculated. |
[out] | rEigenVectors | Where the eigenvectors will be stored. |
[out] | rEigenValues | Where the eigenvalues will be stored. |
[in] | rZeroTolerance | The largest value considered to be zero. |
[in] | rMaxIteration | Maximum number of iteration allowed. |
|
inlinestatic |
This function returns rotation matrix from given normal vector and dimension
rRotationMatrix | Rotation Matrix |
rNormalVector | Normal Vector at the material point condition |
Dimension | given dimension |
|
inlinestatic |
Transforms a given 6*6 Matrix to a corresponing 4th order tensor.
[in] | rTensor | the given Matrix |
[out] | rTensor | the rTensor |
|
inlinestatic |
Transforms a given 6*6 Matrix to a corresponing 4th order tensor.
[in] | rTensor | the given Matrix |
[out] | rTensor | the rTensor |
|
inlinestatic |
Normalises a vector. Vector is scaled by \( V_{norm} = \frac{V}{|V|} \).
[in/out] | v Vector to be normalized |
|
inlinestatic |
Builds the norm of a given second order tensor.
[in] | rTensor | the given second order tensor |
|
inlinestatic |
Calculates the QR Factorization of given square matrix A=QR. The Factorization is performed using the householder algorithm.
[in] | A | The given square matrix the factorization is to be calculated. |
[out] | Q | The result matrix Q. |
[out] | R | The result matrix R. |
|
inlinestatic |
Transforms a given 4th order Tensor to a corresponing 6*6 Matrix.
[in] | rTensor | the given Tensor |
[out] | Matrix | the Matrix |
|
inlinestatic |
Transforms a given fourth order tensor to a corresponing Matrix.
[in] | rTensor | the given symmetric second order tensor |
[out] | rVector | the vector |
|
inlinestatic |
Transforms a given 4th order tensor to a corresponing 6*6 Matrix.
[in] | rTensor | the given Tensor |
[out] | rMatrix | the Matrix |