HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
FiniteDifference.h File Reference
#include <openvdb/Types.h>
#include <openvdb/util/Name.h>
#include "Math.h"
#include "Coord.h"
#include "Vec3.h"
#include <string>
+ Include dependency graph for FiniteDifference.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  openvdb::OPENVDB_VERSION_NAME::math::D1< DiffScheme >
 
struct  openvdb::OPENVDB_VERSION_NAME::math::D1< CD_2NDT >
 
struct  openvdb::OPENVDB_VERSION_NAME::math::D1< CD_2ND >
 
struct  openvdb::OPENVDB_VERSION_NAME::math::D1< CD_4TH >
 
struct  openvdb::OPENVDB_VERSION_NAME::math::D1< CD_6TH >
 
struct  openvdb::OPENVDB_VERSION_NAME::math::D1< FD_1ST >
 
struct  openvdb::OPENVDB_VERSION_NAME::math::D1< FD_2ND >
 
struct  openvdb::OPENVDB_VERSION_NAME::math::D1< FD_3RD >
 
struct  openvdb::OPENVDB_VERSION_NAME::math::D1< BD_1ST >
 
struct  openvdb::OPENVDB_VERSION_NAME::math::D1< BD_2ND >
 
struct  openvdb::OPENVDB_VERSION_NAME::math::D1< BD_3RD >
 
struct  openvdb::OPENVDB_VERSION_NAME::math::D1< FD_WENO5 >
 
struct  openvdb::OPENVDB_VERSION_NAME::math::D1< FD_HJWENO5 >
 
struct  openvdb::OPENVDB_VERSION_NAME::math::D1< BD_WENO5 >
 
struct  openvdb::OPENVDB_VERSION_NAME::math::D1< BD_HJWENO5 >
 
struct  openvdb::OPENVDB_VERSION_NAME::math::D1Vec< DiffScheme >
 
struct  openvdb::OPENVDB_VERSION_NAME::math::D1Vec< CD_2NDT >
 
struct  openvdb::OPENVDB_VERSION_NAME::math::D1Vec< CD_2ND >
 
struct  openvdb::OPENVDB_VERSION_NAME::math::D1Vec< CD_4TH >
 
struct  openvdb::OPENVDB_VERSION_NAME::math::D1Vec< CD_6TH >
 
struct  openvdb::OPENVDB_VERSION_NAME::math::D2< DiffScheme >
 
struct  openvdb::OPENVDB_VERSION_NAME::math::D2< CD_SECOND >
 
struct  openvdb::OPENVDB_VERSION_NAME::math::D2< CD_FOURTH >
 
struct  openvdb::OPENVDB_VERSION_NAME::math::D2< CD_SIXTH >
 

Namespaces

 openvdb
 
 openvdb::OPENVDB_VERSION_NAME
 
 openvdb::OPENVDB_VERSION_NAME::math
 

Enumerations

enum  openvdb::OPENVDB_VERSION_NAME::math::DScheme {
  openvdb::OPENVDB_VERSION_NAME::math::UNKNOWN_DS = -1, openvdb::OPENVDB_VERSION_NAME::math::CD_2NDT = 0, openvdb::OPENVDB_VERSION_NAME::math::CD_2ND, openvdb::OPENVDB_VERSION_NAME::math::CD_4TH,
  openvdb::OPENVDB_VERSION_NAME::math::CD_6TH, openvdb::OPENVDB_VERSION_NAME::math::FD_1ST, openvdb::OPENVDB_VERSION_NAME::math::FD_2ND, openvdb::OPENVDB_VERSION_NAME::math::FD_3RD,
  openvdb::OPENVDB_VERSION_NAME::math::BD_1ST, openvdb::OPENVDB_VERSION_NAME::math::BD_2ND, openvdb::OPENVDB_VERSION_NAME::math::BD_3RD, openvdb::OPENVDB_VERSION_NAME::math::FD_WENO5,
  openvdb::OPENVDB_VERSION_NAME::math::BD_WENO5, openvdb::OPENVDB_VERSION_NAME::math::FD_HJWENO5, openvdb::OPENVDB_VERSION_NAME::math::BD_HJWENO5
}
 Different discrete schemes used in the first derivatives. More...
 
enum  { openvdb::OPENVDB_VERSION_NAME::math::NUM_DS_SCHEMES = BD_HJWENO5 + 1 }
 
enum  openvdb::OPENVDB_VERSION_NAME::math::DDScheme { openvdb::OPENVDB_VERSION_NAME::math::UNKNOWN_DD = -1, openvdb::OPENVDB_VERSION_NAME::math::CD_SECOND = 0, openvdb::OPENVDB_VERSION_NAME::math::CD_FOURTH, openvdb::OPENVDB_VERSION_NAME::math::CD_SIXTH }
 Different discrete schemes used in the second derivatives. More...
 
enum  { openvdb::OPENVDB_VERSION_NAME::math::NUM_DD_SCHEMES = CD_SIXTH + 1 }
 
enum  openvdb::OPENVDB_VERSION_NAME::math::BiasedGradientScheme {
  openvdb::OPENVDB_VERSION_NAME::math::UNKNOWN_BIAS = -1, openvdb::OPENVDB_VERSION_NAME::math::FIRST_BIAS = 0, openvdb::OPENVDB_VERSION_NAME::math::SECOND_BIAS, openvdb::OPENVDB_VERSION_NAME::math::THIRD_BIAS,
  openvdb::OPENVDB_VERSION_NAME::math::WENO5_BIAS, openvdb::OPENVDB_VERSION_NAME::math::HJWENO5_BIAS
}
 Biased Gradients are limited to non-centered differences. More...
 
enum  { openvdb::OPENVDB_VERSION_NAME::math::NUM_BIAS_SCHEMES = HJWENO5_BIAS + 1 }
 
enum  openvdb::OPENVDB_VERSION_NAME::math::TemporalIntegrationScheme { openvdb::OPENVDB_VERSION_NAME::math::UNKNOWN_TIS = -1, openvdb::OPENVDB_VERSION_NAME::math::TVD_RK1, openvdb::OPENVDB_VERSION_NAME::math::TVD_RK2, openvdb::OPENVDB_VERSION_NAME::math::TVD_RK3 }
 Temporal integration schemes. More...
 
enum  { openvdb::OPENVDB_VERSION_NAME::math::NUM_TEMPORAL_SCHEMES = TVD_RK3 + 1 }
 

Functions

std::string openvdb::OPENVDB_VERSION_NAME::math::dsSchemeToString (DScheme dss)
 
DScheme openvdb::OPENVDB_VERSION_NAME::math::stringToDScheme (const std::string &s)
 
std::string openvdb::OPENVDB_VERSION_NAME::math::dsSchemeToMenuName (DScheme dss)
 
std::string openvdb::OPENVDB_VERSION_NAME::math::biasedGradientSchemeToString (BiasedGradientScheme bgs)
 
BiasedGradientScheme openvdb::OPENVDB_VERSION_NAME::math::stringToBiasedGradientScheme (const std::string &s)
 
std::string openvdb::OPENVDB_VERSION_NAME::math::biasedGradientSchemeToMenuName (BiasedGradientScheme bgs)
 
std::string openvdb::OPENVDB_VERSION_NAME::math::temporalIntegrationSchemeToString (TemporalIntegrationScheme tis)
 
TemporalIntegrationScheme openvdb::OPENVDB_VERSION_NAME::math::stringToTemporalIntegrationScheme (const std::string &s)
 
std::string openvdb::OPENVDB_VERSION_NAME::math::temporalIntegrationSchemeToMenuName (TemporalIntegrationScheme tis)
 
template<typename ValueType >
ValueType openvdb::OPENVDB_VERSION_NAME::math::WENO5 (const ValueType &v1, const ValueType &v2, const ValueType &v3, const ValueType &v4, const ValueType &v5, float scale2=0.01f)
 Implementation of nominally fifth-order finite-difference WENO. More...
 
template<typename Real >
Real openvdb::OPENVDB_VERSION_NAME::math::GodunovsNormSqrd (bool isOutside, Real dP_xm, Real dP_xp, Real dP_ym, Real dP_yp, Real dP_zm, Real dP_zp)
 
template<typename Real >
Real openvdb::OPENVDB_VERSION_NAME::math::GodunovsNormSqrd (bool isOutside, const Vec3< Real > &gradient_m, const Vec3< Real > &gradient_p)