![]() |
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.
|
Moving Least-Squares utility to calculate shape function values This class uses a linear polynomial basis and an exponential kernel to calculate the shape function values and gradients in a given point using a Moving Least-Squares minimization. More...
#include <mls_shape_functions_utility.h>
Static Public Member Functions | |
static double | CalculateKernel (const array_1d< double, 3 > &rRadVect, const double h) |
Calculate the kernel value This function calculates the exponential kernel value in one point. More... | |
template<std::size_t TDim> | |
static void | CalculateKernelDerivative (const array_1d< double, 3 > &rRadVect, const double h, array_1d< double, TDim > &rKernelDerivative) |
Calculate the kernel derivative values This function calculates the exponential kernel derivatives in one point. More... | |
static void | EvaluatePolynomialBasis (const array_1d< double, 3 > &rX, array_1d< double, 3 > &rBasis) |
Evaluates the linear polynomial basis This method evaluates the 2D linear polynommial basis in one point. More... | |
static void | EvaluatePolynomialBasis (const array_1d< double, 3 > &rX, array_1d< double, 4 > &rBasis) |
Evaluates the linear polynomial basis This method evaluates the 3D linear polynommial basis in one point. More... | |
static void | EvaluatePolynomialBasis (const array_1d< double, 3 > &rX, array_1d< double, 6 > &rBasis) |
Evaluates the quadratic polynomial basis This method evaluates the 2D quadratic polynommial basis in one point. More... | |
static void | EvaluatePolynomialBasis (const array_1d< double, 3 > &rX, array_1d< double, 10 > &rBasis) |
Evaluates the quadratic polynomial basis This method evaluates the 3D quadratic polynommial basis in one point. More... | |
static void | EvaluatePolynomialBasisDerivatives (const array_1d< double, 3 > &rX, BoundedMatrix< double, 2, 3 > &rBasisDerivatives) |
Evaluates the linear polynomial basis derivatives This method evaluates the 2D linear polynommial basis derivatives in one point. More... | |
static void | EvaluatePolynomialBasisDerivatives (const array_1d< double, 3 > &rX, BoundedMatrix< double, 3, 4 > &rBasisDerivatives) |
Evaluates the linear polynomial basis derivatives This method evaluates the 3D linear polynommial basis derivatives in one point. More... | |
static void | EvaluatePolynomialBasisDerivatives (const array_1d< double, 3 > &rX, BoundedMatrix< double, 2, 6 > &rBasisDerivatives) |
Evaluates the quadratic polynomial basis derivatives This method evaluates the 2D quadratic polynommial basis derivatives in one point. More... | |
static void | EvaluatePolynomialBasisDerivatives (const array_1d< double, 3 > &rX, BoundedMatrix< double, 3, 10 > &rBasisDerivatives) |
Evaluates the quadratic polynomial basis derivatives This method evaluates the 3D quadratic polynommial basis derivatives in one point. More... | |
template<std::size_t TDim, std::size_t TOrder> | |
static void | CalculateShapeFunctions (const Matrix &rPoints, const array_1d< double, 3 > &rX, const double h, Vector &rN) |
Calculates the MLS shape function values This method calculates the shape function values in one point using as support the given cloud of points. More... | |
template<std::size_t TDim, std::size_t TOrder> | |
static void | CalculateShapeFunctionsAndGradients (const Matrix &rPoints, const array_1d< double, 3 > &rX, const double h, Vector &rN, Matrix &rDNDX) |
Calculates the MLS shape function values This method calculates the shape function values and their gradients in one point using as support the given cloud of points. More... | |
template<> | |
void | CalculateShapeFunctionsAndGradients (const Matrix &rPoints, const array_1d< double, 3 > &rX, const double h, Vector &rN, Matrix &rDNDX) |
template<> | |
void | CalculateShapeFunctionsAndGradients (const Matrix &rPoints, const array_1d< double, 3 > &rX, const double h, Vector &rN, Matrix &rDNDX) |
template<> | |
void | CalculateShapeFunctionsAndGradients (const Matrix &rPoints, const array_1d< double, 3 > &rX, const double h, Vector &rN, Matrix &rDNDX) |
template<> | |
void | CalculateShapeFunctionsAndGradients (const Matrix &rPoints, const array_1d< double, 3 > &rX, const double h, Vector &rN, Matrix &rDNDX) |
Moving Least-Squares utility to calculate shape function values This class uses a linear polynomial basis and an exponential kernel to calculate the shape function values and gradients in a given point using a Moving Least-Squares minimization.
|
static |
Calculate the kernel value This function calculates the exponential kernel value in one point.
rRadVect | Vector from the current point to the point of interest |
h | Kernel radius |
|
static |
Calculate the kernel derivative values This function calculates the exponential kernel derivatives in one point.
TDim | Dimension (2 in 2D and 3 in 3D) |
rRadVect | Vector from the current point to the point of interest |
h | Kernel radius |
rKernelDerivative | The kernel derivative value |
|
static |
Calculates the MLS shape function values This method calculates the shape function values in one point using as support the given cloud of points.
TDim | Dimension (2 in 2D and 3 in 3D) |
rPoints | Matrix containing the coordinates of the support cloud of points |
rX | Coordinates where the shape functions are to be computed |
h | Kernel radius |
rN | Shape functions container |
|
static |
|
static |
|
static |
|
static |
|
static |
Calculates the MLS shape function values This method calculates the shape function values and their gradients in one point using as support the given cloud of points.
TDim | Dimension (2 in 2D and 3 in 3D) |
rPoints | Matrix containing the coordinates of the support cloud of points |
rX | Coordinates where the shape functions are to be computed |
h | Kernel radius |
rN | Shape functions container |
rDNDX | Shape functions gradients container |
|
static |
Evaluates the quadratic polynomial basis This method evaluates the 3D quadratic polynommial basis in one point.
rX | Coordinates where the basis is evaluated |
rBasis | 3D quadratic polynomial basis values |
|
static |
Evaluates the linear polynomial basis This method evaluates the 2D linear polynommial basis in one point.
rX | Coordinates where the basis is evaluated |
rBasis | 2D linear polynomial basis values |
|
static |
Evaluates the linear polynomial basis This method evaluates the 3D linear polynommial basis in one point.
rX | Coordinates where the basis is evaluated |
rBasis | 3D linear polynomial basis values |
|
static |
Evaluates the quadratic polynomial basis This method evaluates the 2D quadratic polynommial basis in one point.
rX | Coordinates where the basis is evaluated |
rBasis | 2D linear polynomial basis values |
|
static |
Evaluates the linear polynomial basis derivatives This method evaluates the 2D linear polynommial basis derivatives in one point.
rX | Coordinates where the basis is evaluated |
rBasis | 2D linear polynomial basis derivatives values |
|
static |
Evaluates the quadratic polynomial basis derivatives This method evaluates the 2D quadratic polynommial basis derivatives in one point.
rX | Coordinates where the basis is evaluated |
rBasis | 2D quadratic polynomial basis derivatives values |
|
static |
Evaluates the quadratic polynomial basis derivatives This method evaluates the 3D quadratic polynommial basis derivatives in one point.
rX | Coordinates where the basis is evaluated |
rBasis | 3D quadratic polynomial basis derivatives values |
|
static |
Evaluates the linear polynomial basis derivatives This method evaluates the 3D linear polynommial basis derivatives in one point.
rX | Coordinates where the basis is evaluated |
rBasis | 3D linear polynomial basis derivatives values |