OpenVDB  1.1.0
Classes | Namespaces | Enumerations | Functions
FiniteDifference.h File Reference
#include <openvdb/Types.h>
#include "Math.h"
#include "Coord.h"
#include "Vec3.h"
#include <boost/algorithm/string/case_conv.hpp>
#include <boost/algorithm/string/trim.hpp>

Go to the source code of this file.

Classes

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

Namespaces

namespace  openvdb
 
namespace  openvdb::v1_1_0
 
namespace  openvdb::v1_1_0::math
 

Enumerations

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

Functions

std::string dsSchemeToString (DScheme dss)
 
DScheme stringToDScheme (const std::string &s)
 
std::string dsSchemeToMenuName (DScheme dss)
 
std::string biasedGradientSchemeToString (BiasedGradientScheme bgs)
 
BiasedGradientScheme stringToBiasedGradientScheme (const std::string &s)
 
std::string biasedGradientSchemeToMenuName (BiasedGradientScheme bgs)
 
std::string temporalIntegrationSchemeToString (TemporalIntegrationScheme tis)
 
TemporalIntegrationScheme stringToTemporalIntegrationScheme (const std::string &s)
 
std::string temporalIntegrationSchemeToMenuName (TemporalIntegrationScheme tis)
 
template<typename ValueType >
ValueType WENO5 (const ValueType &v1, const ValueType &v2, const ValueType &v3, const ValueType &v4, const ValueType &v5, float scale2=0.01)
 implimentation of nonimally fith-order finite-difference WENO. This function returns the numerical flux. See "High Order Finite Difference and Finite Volume WENO Schemes and Discontinuous Galerkin Methods for CFD" - Chi-Wang Shu ICASE Report No 2001-11 (page 6). Also see ICASE No 97-65 for a more complete reference (Shu, 1997) Given v1 = f(x-2dx), v2 = f(x-dx), v3 = f(x), v4 = f(x+dx), v5 = f(x+2dx), the returns and interpolated value f(x+dx/2) with the special property that ( f(x+dx/2) - f(x-dx/2) ) / dx = df/dx (x) + error, where the error is 5-order in smooth regions: O(dx) <= error <=O(dx^5) More...
 
template<typename Real >
Real GudonovsNormSqrd (bool isOutside, Real dP_xm, Real dP_xp, Real dP_ym, Real dP_yp, Real dP_zm, Real dP_zp)
 
template<typename Real >
Real GudonovsNormSqrd (bool isOutside, const Vec3< Real > &gradient_m, const Vec3< Real > &gradient_p)