33 virtual void update(
const Vector3d& particle_position,
const Vector3d& nodal_position,
const Vector3d& cell_dimension,
const Vector3d& particle_size) = 0;
51 inline void setShape(
double sx,
double sy,
double sz) { this->
shape=Vector3d(sx,sy,sz); }
69 virtual double computeGradient(
double pI_position,
double cell_dimension,
double lp) = 0;
77 virtual double computeShape(
double pI_position,
double cell_dimension,
double lp) = 0;
86 this->
shape.setZero();
Represents the shape functions used in the interpolation process.
Definition Shape.h:16
const Vector3d & getDerivate() const
Returns the derivates values.
Definition Shape.h:43
const Vector3d & getShape() const
Return the shape function values.
Definition Shape.h:38
void setShape(double sx, double sy, double sz)
Configure the shape function values.
Definition Shape.h:51
Vector3d derivate
shape function gradient values
Definition Shape.h:81
virtual double computeShape(double pI_position, double cell_dimension, double lp)=0
Returns the shape function value.
virtual ~Shape()
Default destructor.
Definition Shape.h:90
Shape()
Default constructor.
Definition Shape.h:84
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.
virtual double computeGradient(double pI_position, double cell_dimension, double lp)=0
Returns the gradient of the shape function.
void setDerivate(double gx, double gy, double gz)
Configure the nodal shape function derivates.
Definition Shape.h:59
Vector3d shape
shape function values
Definition Shape.h:79