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.
mls_shape_functions_utility.h
Go to the documentation of this file.
1 // | / |
2 // ' / __| _` | __| _ \ __|
3 // . \ | ( | | ( |\__ `
4 // _|\_\_| \__,_|\__|\___/ ____/
5 // Multi-Physics
6 //
7 // License: BSD License
8 // Kratos default license: kratos/license.txt
9 //
10 // Main authors: Riccardo Rossi
11 // Ruben Zorrilla
12 // Zhiming Guo
13 //
14 
15 #pragma once
16 
17 // System includes
18 
19 // External includes
20 
21 // Project includes
22 #include "containers/array_1d.h"
23 #include "includes/define.h"
25 
26 namespace Kratos
27 {
28 
35 {
36 
37 public:
38 
46  static double CalculateKernel(
47  const array_1d<double,3>& rRadVect,
48  const double h);
49 
58  template<std::size_t TDim>
59  static void CalculateKernelDerivative(
60  const array_1d<double,3>& rRadVect,
61  const double h,
62  array_1d<double,TDim>& rKernelDerivative);
63 
70  static void EvaluatePolynomialBasis(
71  const array_1d<double,3>& rX,
72  array_1d<double, 3>& rBasis);
73 
80  static void EvaluatePolynomialBasis(
81  const array_1d<double,3>& rX,
82  array_1d<double, 4>& rBasis);
83 
90  static void EvaluatePolynomialBasis(
91  const array_1d<double,3>& rX,
92  array_1d<double, 6>& rBasis);
93 
100  static void EvaluatePolynomialBasis(
101  const array_1d<double,3>& rX,
102  array_1d<double, 10>& rBasis);
103 
111  const array_1d<double,3>& rX,
112  BoundedMatrix<double, 2, 3>& rBasisDerivatives);
113 
121  const array_1d<double,3>& rX,
122  BoundedMatrix<double, 3, 4>& rBasisDerivatives);
123 
131  const array_1d<double,3>& rX,
132  BoundedMatrix<double, 2, 6>& rBasisDerivatives);
133 
141  const array_1d<double,3>& rX,
142  BoundedMatrix<double, 3, 10>& rBasisDerivatives);
143 
154  template<std::size_t TDim, std::size_t TOrder>
155  static void CalculateShapeFunctions(
156  const Matrix& rPoints,
157  const array_1d<double,3>& rX,
158  const double h,
159  Vector& rN);
160 
172  template<std::size_t TDim, std::size_t TOrder>
174  const Matrix& rPoints,
175  const array_1d<double,3>& rX,
176  const double h,
177  Vector& rN,
178  Matrix& rDNDX);
179 };
180 
181 } // namespace Kratos.
Definition: amatrix_interface.h:41
Moving Least-Squares utility to calculate shape function values This class uses a linear polynomial b...
Definition: mls_shape_functions_utility.h:35
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 po...
Definition: mls_shape_functions_utility.cpp:66
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...
Definition: mls_shape_functions_utility.cpp:43
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 poin...
Definition: mls_shape_functions_utility.cpp:148
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 g...
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.
Definition: mls_shape_functions_utility.cpp:33
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 bas...
Definition: mls_shape_functions_utility.cpp:113
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
h
Definition: generate_droplet_dynamics.py:91