Represents the shape functions used in the interpolation process.
More...
#include <Shape.h>
|
| Shape () |
| Default constructor.
|
|
virtual | ~Shape () |
| Default destructor.
|
|
virtual void | update (const Vector3d &particle_position, const Vector3d &nodal_position, const Vector3d &cell_dimension, const Vector3d &particle_size)=0 |
| Update the shape functions and its gradients.
|
|
const Vector3d & | getShape () const |
| Return the shape function values.
|
|
const Vector3d & | getDerivate () const |
| Returns the derivates values.
|
|
void | setShape (double sx, double sy, double sz) |
| Configure the shape function values.
|
|
void | setDerivate (double gx, double gy, double gz) |
| Configure the nodal shape function derivates.
|
|
|
virtual double | computeGradient (double pI_position, double cell_dimension, double lp)=0 |
| Returns the gradient of the shape function.
|
|
virtual double | computeShape (double pI_position, double cell_dimension, double lp)=0 |
| Returns the shape function value.
|
|
|
Vector3d | shape |
| shape function values
|
|
Vector3d | derivate |
| shape function gradient values
|
|
Represents the shape functions used in the interpolation process.
◆ Shape()
◆ ~Shape()
◆ computeGradient()
virtual double Shape::computeGradient |
( |
double | pI_position, |
|
|
double | cell_dimension, |
|
|
double | lp ) |
|
privatepure virtual |
Returns the gradient of the shape function.
- Parameters
-
[in] | pI_position | Relative position of the particle \(p\) respect to the node: \(x_p-x_I\) |
[in] | cell_dimension | Cell dimension in the direction |
[in] | lp | Half current particle size |
- Returns
- The gradient of the shape function: \(dS_{Ip}/di\)
Implemented in ShapeGimp, and ShapeLinear.
◆ computeShape()
virtual double Shape::computeShape |
( |
double | pI_position, |
|
|
double | cell_dimension, |
|
|
double | lp ) |
|
privatepure virtual |
Returns the shape function value.
- Parameters
-
[in] | pI_position | Relative position of the particle \(p\) respect to the node: \(x_p-x_I\) |
[in] | cell_dimension | Cell dimension in the direction |
[in] | lp | Half current particle size |
- Returns
- The shape function value \(S_{Ip}\)
Implemented in ShapeGimp, and ShapeLinear.
◆ getDerivate()
const Vector3d & Shape::getDerivate |
( |
| ) |
const |
|
inline |
Returns the derivates values.
- Returns
- The derivates of the nodal shape function \(dS_{Ip}/dx, dS_{Ip}/dy, dS_{Ip}/dz\)
◆ getShape()
const Vector3d & Shape::getShape |
( |
| ) |
const |
|
inline |
Return the shape function values.
- Returns
- The nodal shape function value \(S_{Ipx}, S_{Ipy}, S_{Ipy}\)
◆ setDerivate()
void Shape::setDerivate |
( |
double | gx, |
|
|
double | gy, |
|
|
double | gz ) |
|
inline |
Configure the nodal shape function derivates.
The nodal derivate shape function values: \(dS_{Ip}/dx, dS_{Ip}/dy, dS_{Ip}/dz\)
- Parameters
-
[in] | gx | The nodal derivate shape function value in X |
[in] | gy | The nodal derivate shape function value in Y |
[in] | gz | The nodal derivate shape function value in Z |
◆ setShape()
void Shape::setShape |
( |
double | sx, |
|
|
double | sy, |
|
|
double | sz ) |
|
inline |
Configure the shape function values.
Nodal shape function values: \(S_{Ipx}, S_{Ipy}, S_{Ipy}\)
- Parameters
-
[in] | sx | The nodal shape function value in X |
[in] | sy | The nodal shape function value in Y |
[in] | sz | The nodal shape function value in Z |
◆ update()
virtual void Shape::update |
( |
const Vector3d & | particle_position, |
|
|
const Vector3d & | nodal_position, |
|
|
const Vector3d & | cell_dimension, |
|
|
const Vector3d & | particle_size ) |
|
pure virtual |
Update the shape functions and its gradients.
- Parameters
-
[in] | particle_position | Particle position |
[in] | nodal_position | Nodal position |
[in] | cell_dimension | Cell dimension |
[in] | particle_size | Particle size |
Implemented in ShapeGimp, and ShapeLinear.
◆ derivate
shape function gradient values
◆ shape
The documentation for this class was generated from the following file: