SPH
|
Object for computing interpolated values of quantities. More...
#include <Interpolation.h>
Public Member Functions | |
SphInterpolant (const Storage &storage, const QuantityId id, const OrderEnum deriv, const RunSettings &settings=RunSettings::getDefaults()) | |
Constructs the interpolation object from settings. More... | |
SphInterpolant (const Storage &storage, const QuantityId id, const OrderEnum deriv, AutoPtr< IBasicFinder > &&finder, LutKernel< 3 > &&kernel) | |
Constructs the interpolation object given a neighbour finding object and a SPH kernel. More... | |
virtual Type | interpolate (const Vector &pos) const override |
Compute quantity value at given position. More... | |
![]() | |
Noncopyable ()=default | |
Noncopyable (const Noncopyable &)=delete | |
Noncopyable (Noncopyable &&)=default | |
Noncopyable & | operator= (const Noncopyable &)=delete |
Noncopyable & | operator= (Noncopyable &&)=default |
Protected Attributes | |
ArrayView< const Vector > | r |
ArrayView< const Float > | m |
ArrayView< const Float > | rho |
ArrayView< const Type > | quantity |
AutoPtr< IBasicFinder > | finder |
LutKernel< 3 > | kernel |
Float | searchRadius = 0._f |
Object for computing interpolated values of quantities.
Quantity values or derivatives are interpolated using SPH kernel. If the point of interpolation lies outside of support of all SPH particles, the interpolated value is zero.
Type | Value type of the quantity being interpolated. |
Definition at line 35 of file Interpolation.h.
|
inline |
Constructs the interpolation object from settings.
Definition at line 47 of file Interpolation.h.
|
inline |
Constructs the interpolation object given a neighbour finding object and a SPH kernel.
finder | Object for finding neighbours. Overload of INeighbourFinder::findNeighbours taking a vector must be implemented. Parameter must not be nullptr. |
kernel | SPH kernel used for interpolation. |
id | Quantity values of which we wish to interpolate. The quantity must be stored in the storage. |
deriv | Specifies whether to interpolate quantity values or its derivatives. For values, use OrderEnum::ZERO. If the first or second derivative is being interpolated, the quantity must be of corresponding order, checked by assert. |
Definition at line 61 of file Interpolation.h.
|
inlineoverridevirtual |
Compute quantity value at given position.
pos | Position where the interpolated value is computed. |
Implements IInterpolant< Type >.
Reimplemented in CorrectedSphInterpolant< Type >.
Definition at line 75 of file Interpolation.h.
|
protected |
Definition at line 41 of file Interpolation.h.
|
protected |
Definition at line 42 of file Interpolation.h.
|
protected |
Definition at line 38 of file Interpolation.h.
|
protected |
Definition at line 39 of file Interpolation.h.
|
protected |
Definition at line 37 of file Interpolation.h.
|
protected |
Definition at line 38 of file Interpolation.h.
|
protected |
Definition at line 43 of file Interpolation.h.