This is a special 19-point stencil that supports optimal fifth-order WENO upwinding, second-order central differencing, Laplacian, and zero-crossing test.
More...
#include <Stencils.h>
Inherits BaseStencil< WenoStencil< GridT, IsSafe >, GridT, IsSafe >.
|
| WenoStencil (const GridType &grid) |
|
| WenoStencil (const GridType &grid, Real dx) |
|
ValueType | normSqGrad (const ValueType &isoValue=zeroVal< ValueType >()) const |
| Return the norm-square of the WENO upwind gradient (computed via WENO upwinding and Godunov's scheme) at the previously buffered location. More...
|
|
math::Vec3< ValueType > | gradient (const math::Vec3< ValueType > &V) const |
|
math::Vec3< ValueType > | gradient () const |
|
ValueType | laplacian () const |
|
bool | zeroCrossing () const |
|
void | moveTo (const Coord &ijk) |
| Initialize the stencil buffer with the values of voxel (i, j, k) and its neighbors. More...
|
|
void | moveTo (const Coord &ijk, const ValueType ¢erValue) |
| Initialize the stencil buffer with the values of voxel (i, j, k) and its neighbors. The method also takes a value of the center element of the stencil, assuming it is already known. More...
|
|
void | moveTo (const IterType &iter) |
| Initialize the stencil buffer with the values of voxel (x, y, z) and its neighbors. More...
|
|
void | moveTo (const Vec3< RealType > &xyz) |
| Initialize the stencil buffer with the values of voxel (x, y, z) and its neighbors. More...
|
|
const ValueType & | getValue (unsigned int pos=0) const |
| Return the value from the stencil buffer with linear offset pos. More...
|
|
const ValueType & | getValue () const |
| Return the value at the specified location relative to the center of the stencil. More...
|
|
void | setValue (const ValueType &value) |
| Set the value at the specified location relative to the center of the stencil. More...
|
|
int | size () |
| Return the size of the stencil buffer. More...
|
|
ValueType | median () const |
| Return the median value of the current stencil. More...
|
|
ValueType | mean () const |
| Return the mean value of the current stencil. More...
|
|
ValueType | min () const |
| Return the smallest value in the stencil buffer. More...
|
|
ValueType | max () const |
| Return the largest value in the stencil buffer. More...
|
|
const Coord & | getCenterCoord () const |
| Return the coordinates of the center point of the stencil. More...
|
|
const ValueType & | getCenterValue () const |
| Return the value at the center of the stencil. More...
|
|
bool | intersects (const ValueType &isoValue=zeroVal< ValueType >()) const |
| Return true if the center of the stencil intersects the iso-contour specified by the isoValue. More...
|
|
const GridType & | grid () const |
| Return a const reference to the grid from which this stencil was constructed. More...
|
|
const AccessorType & | accessor () const |
| Return a const reference to the ValueAccessor associated with this Stencil. More...
|
|
|
static const int | SIZE = 19 |
|
|
template<typename , typename , bool > |
class | BaseStencil |
|
template<typename GridT, bool IsSafe = true>
class openvdb::v5_2::math::WenoStencil< GridT, IsSafe >
This is a special 19-point stencil that supports optimal fifth-order WENO upwinding, second-order central differencing, Laplacian, and zero-crossing test.
- Note
- For optimal random access performance this class includes its own grid accessor.
◆ AccessorType
◆ BufferType
◆ GridType
◆ IterType
◆ TreeType
◆ ValueType
◆ WenoStencil() [1/2]
◆ WenoStencil() [2/2]
◆ accessor()
Return a const reference to the ValueAccessor associated with this Stencil.
◆ getCenterCoord()
const Coord& getCenterCoord |
( |
| ) |
const |
|
inlineinherited |
Return the coordinates of the center point of the stencil.
◆ getCenterValue()
Return the value at the center of the stencil.
◆ getValue() [1/2]
const ValueType& getValue |
( |
unsigned int |
pos = 0 | ) |
const |
|
inlineinherited |
Return the value from the stencil buffer with linear offset pos.
- Note
- The default (pos = 0) corresponds to the first element which is typically the center point of the stencil.
◆ getValue() [2/2]
Return the value at the specified location relative to the center of the stencil.
◆ gradient() [1/2]
Return the optimal fifth-order upwind gradient corresponding to the direction V.
- Note
- This method should not be called until the stencil buffer has been populated via a call to moveTo(ijk).
◆ gradient() [2/2]
Return the gradient computed at the previously buffered location by second-order central differencing.
- Note
- This method should not be called until the stencil buffer has been populated via a call to moveTo(ijk).
◆ grid()
Return a const reference to the grid from which this stencil was constructed.
◆ intersects()
Return true if the center of the stencil intersects the iso-contour specified by the isoValue.
◆ laplacian()
Return the Laplacian computed at the previously buffered location by second-order central differencing.
- Note
- This method should not be called until the stencil buffer has been populated via a call to moveTo(ijk).
◆ max()
Return the largest value in the stencil buffer.
◆ mean()
Return the mean value of the current stencil.
◆ median()
Return the median value of the current stencil.
◆ min()
Return the smallest value in the stencil buffer.
◆ moveTo() [1/4]
void moveTo |
( |
const Coord & |
ijk | ) |
|
|
inlineinherited |
Initialize the stencil buffer with the values of voxel (i, j, k) and its neighbors.
- Parameters
-
ijk | Index coordinates of stencil center |
◆ moveTo() [2/4]
Initialize the stencil buffer with the values of voxel (i, j, k) and its neighbors. The method also takes a value of the center element of the stencil, assuming it is already known.
- Parameters
-
ijk | Index coordinates of stnecil center |
centerValue | Value of the center element of the stencil |
◆ moveTo() [3/4]
Initialize the stencil buffer with the values of voxel (x, y, z) and its neighbors.
- Note
- This version is slightly faster than the one above, since the center voxel's value is read directly from the iterator.
◆ moveTo() [4/4]
void moveTo |
( |
const Vec3< RealType > & |
xyz | ) |
|
|
inlineinherited |
Initialize the stencil buffer with the values of voxel (x, y, z) and its neighbors.
- Parameters
-
xyz | Floating point voxel coordinates of stencil center |
This method will check to see if it is necessary to update the stencil based on the cached index coordinates of the center point.
◆ normSqGrad()
Return the norm-square of the WENO upwind gradient (computed via WENO upwinding and Godunov's scheme) at the previously buffered location.
- Note
- This method should not be called until the stencil buffer has been populated via a call to moveTo(ijk).
◆ setValue()
Set the value at the specified location relative to the center of the stencil.
◆ size()
Return the size of the stencil buffer.
◆ zeroCrossing()
bool zeroCrossing |
( |
| ) |
const |
|
inline |
Return true
if the sign of the value at the center point of the stencil differs from the sign of any of its six nearest neighbors
◆ BaseStencil
◆ mCache
◆ mCenter
◆ mGrid
◆ mStencil
◆ SIZE
The documentation for this class was generated from the following file: