![]() |
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 |