OpenVDB 11.0.0
Loading...
Searching...
No Matches
VelocityIntegrator< GridT, Staggered, SampleOrder > Class Template Reference

Performs Runge-Kutta time integration of variable order in a static velocity field. More...

#include <openvdb/tools/VelocityFields.h>

Public Types

typedef GridT::ValueType VecType
 
typedef VecType::ValueType ElementType
 

Public Member Functions

 VelocityIntegrator (const GridT &velGrid)
 
template<size_t OrderRK, typename LocationType >
void rungeKutta (const ElementType dt, LocationType &world) const
 Variable order Runge-Kutta time integration for a single time step.
 

Detailed Description

template<typename GridT = Vec3fGrid, bool Staggered = false, size_t SampleOrder = 1>
class openvdb::v11_0::tools::VelocityIntegrator< GridT, Staggered, SampleOrder >

Performs Runge-Kutta time integration of variable order in a static velocity field.

Note
Note that the order of the velocity sampling is controlled with the SampleOrder template parameter, which defaults to one, i.e. a tri-linear interpolation kernel.

Member Typedef Documentation

◆ ElementType

template<typename GridT = Vec3fGrid, bool Staggered = false, size_t SampleOrder = 1>
typedef VecType::ValueType ElementType

◆ VecType

template<typename GridT = Vec3fGrid, bool Staggered = false, size_t SampleOrder = 1>
typedef GridT::ValueType VecType

Constructor & Destructor Documentation

◆ VelocityIntegrator()

template<typename GridT = Vec3fGrid, bool Staggered = false, size_t SampleOrder = 1>
VelocityIntegrator ( const GridT & velGrid)
inline

Member Function Documentation

◆ rungeKutta()

template<typename GridT = Vec3fGrid, bool Staggered = false, size_t SampleOrder = 1>
template<size_t OrderRK, typename LocationType >
void rungeKutta ( const ElementType dt,
LocationType & world ) const
inline

Variable order Runge-Kutta time integration for a single time step.

Parameters
dtTime sub-step for the Runge-Kutte integrator of order OrderRK
worldLocation in world space coordinates (both input and output)