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

#include <structural_mechanics_math_utilities.hpp>

Collaboration diagram for Kratos::StructuralMechanicsMathUtilities:

Public Types

Type definitions
typedef long double RealType
 
typedef Node NodeType
 
typedef Geometry< NodeTypeGeometryType
 

Static Public Member Functions

Operations
static void Comp_Orthonor_Vect (array_1d< double, 3 > &t1g, array_1d< double, 3 > &t2g, array_1d< double, 3 > &t3g, const array_1d< double, 3 > &vxe, const array_1d< double, 3 > &vye)
 
static void Comp_Orthonor_Base (array_1d< double, 3 > &t1g, array_1d< double, 3 > &t2g, array_1d< double, 3 > &t3g, const array_1d< double, 3 > &vxe, const array_1d< double, 3 > &Xdxi, const array_1d< double, 3 > &Xdeta)
 
static void Comp_Orthonor_Base (BoundedMatrix< double, 3, 3 > &t, const array_1d< double, 3 > &vxe, const array_1d< double, 3 > &Xdxi, const array_1d< double, 3 > &Xdeta)
 
static Matrix InterpolPrismGiD (const int nG)
 
static bool SolveSecondOrderEquation (const RealType &a, const RealType &b, const RealType &c, std::vector< RealType > &solution)
 
static double CalculateRadius (const Vector &N, const GeometryType &Geom, const Configuration ThisConfiguration=Current)
 
static double CalculateRadiusPoint (const GeometryType &Geom, const Configuration ThisConfiguration=Current)
 
template<int TDim>
static void TensorTransformation (BoundedMatrix< double, TDim, TDim > &rOriginLeft, BoundedMatrix< double, TDim, TDim > &rOriginRight, BoundedMatrix< double, TDim, TDim > &rTargetLeft, BoundedMatrix< double, TDim, TDim > &rTargetRight, BoundedMatrix< double, TDim, TDim > &rTensor)
 

Member Typedef Documentation

◆ GeometryType

◆ NodeType

◆ RealType

Member Function Documentation

◆ CalculateRadius()

static double Kratos::StructuralMechanicsMathUtilities::CalculateRadius ( const Vector N,
const GeometryType Geom,
const Configuration  ThisConfiguration = Current 
)
inlinestatic

Calculates the radius of axisymmetry

Parameters
NThe Gauss Point shape function
GeomThe geometry studied
Returns
Radius: The radius of axisymmetry

◆ CalculateRadiusPoint()

static double Kratos::StructuralMechanicsMathUtilities::CalculateRadiusPoint ( const GeometryType Geom,
const Configuration  ThisConfiguration = Current 
)
inlinestatic

Calculates the radius of axisymmetry for a point

Parameters
GeomThe geometry studied
Returns
The radius of axisymmetry

◆ Comp_Orthonor_Base() [1/2]

static void Kratos::StructuralMechanicsMathUtilities::Comp_Orthonor_Base ( array_1d< double, 3 > &  t1g,
array_1d< double, 3 > &  t2g,
array_1d< double, 3 > &  t3g,
const array_1d< double, 3 > &  vxe,
const array_1d< double, 3 > &  Xdxi,
const array_1d< double, 3 > &  Xdeta 
)
inlinestatic

It gives the orthonormal base based in the cartesian derivatives

Returns
tig: The orthonormal base
Parameters
vxeX direction vector
Xdxiand Xeta: Cartesian derivatives in xi and eta

◆ Comp_Orthonor_Base() [2/2]

static void Kratos::StructuralMechanicsMathUtilities::Comp_Orthonor_Base ( BoundedMatrix< double, 3, 3 > &  t,
const array_1d< double, 3 > &  vxe,
const array_1d< double, 3 > &  Xdxi,
const array_1d< double, 3 > &  Xdeta 
)
inlinestatic

◆ Comp_Orthonor_Vect()

static void Kratos::StructuralMechanicsMathUtilities::Comp_Orthonor_Vect ( array_1d< double, 3 > &  t1g,
array_1d< double, 3 > &  t2g,
array_1d< double, 3 > &  t3g,
const array_1d< double, 3 > &  vxe,
const array_1d< double, 3 > &  vye 
)
inlinestatic

It gives the orthonormal base based in a orthogonal base

Returns
tig: The orthonormal base
Parameters
vxeand vye: X and Y direction vector

◆ InterpolPrismGiD()

static Matrix Kratos::StructuralMechanicsMathUtilities::InterpolPrismGiD ( const int  nG)
inlinestatic

Gives the interpolation of two Gauss Points (to introduce in GiD the result)

Parameters
nGNumber of Gauss Points
Returns
Matrix of interpolations

◆ SolveSecondOrderEquation()

static bool Kratos::StructuralMechanicsMathUtilities::SolveSecondOrderEquation ( const RealType a,
const RealType b,
const RealType c,
std::vector< RealType > &  solution 
)
inlinestatic

Calculates the solutions for a given second order polynomial equation 0 = a*x^2 + b*x + c

Parameters
acoefficient
bcoefficient
ccoefficient
ZeroTolnumber treated as zero
Returns
Vector of solutions

◆ TensorTransformation()

template<int TDim>
static void Kratos::StructuralMechanicsMathUtilities::TensorTransformation ( BoundedMatrix< double, TDim, TDim > &  rOriginLeft,
BoundedMatrix< double, TDim, TDim > &  rOriginRight,
BoundedMatrix< double, TDim, TDim > &  rTargetLeft,
BoundedMatrix< double, TDim, TDim > &  rTargetRight,
BoundedMatrix< double, TDim, TDim > &  rTensor 
)
inlinestatic

Transforms a 2-point tensor from an origin system to a target system M=M_ij origin_left x origin_right = M_lk target_left X target_right

Returns
rOriginLeft: matrix with the basis vectors of basis origin left as columns
rOriginRight: matrix with the basis vectors of basis origin right as columns
rTargetLeft: matrix with the basis vectors of basis target left as columns
rTsargetRight: matrix with the basis vectors of basis target right as columns
rTensor: the tensor to be tranformed

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