HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
PotentialFlow.h File Reference

Tools for creating potential flow fields through solving Laplace's equation. More...

#include <openvdb/openvdb.h>
#include "GridOperators.h"
#include "GridTransformer.h"
#include "Mask.h"
#include "Morphology.h"
#include "PoissonSolver.h"
+ Include dependency graph for PotentialFlow.h:

Go to the source code of this file.

Classes

struct  openvdb::OPENVDB_VERSION_NAME::tools::VectorToScalarGrid< VecGridT >
 Metafunction to convert a vector-valued grid type to a scalar grid type. More...
 
struct  openvdb::OPENVDB_VERSION_NAME::tools::potential_flow_internal::ComputeNeumannVelocityOp< Vec3GridT, GradientT >
 
struct  openvdb::OPENVDB_VERSION_NAME::tools::potential_flow_internal::SolveBoundaryOp< Vec3GridT, MaskT >
 

Namespaces

 openvdb
 
 openvdb::OPENVDB_VERSION_NAME
 
 openvdb::OPENVDB_VERSION_NAME::tools
 
 openvdb::OPENVDB_VERSION_NAME::tools::potential_flow_internal
 

Functions

template<typename GridT , typename MaskT = typename GridT::template ValueConverter<ValueMask>::Type>
MaskT::Ptr openvdb::OPENVDB_VERSION_NAME::tools::createPotentialFlowMask (const GridT &grid, int dilation=5)
 Construct a mask for the Potential Flow domain. More...
 
template<typename Vec3T , typename GridT , typename MaskT >
GridT::template ValueConverter
< Vec3T >::Type::Ptr 
openvdb::OPENVDB_VERSION_NAME::tools::createPotentialFlowNeumannVelocities (const GridT &collider, const MaskT &domain, const typename GridT::template ValueConverter< Vec3T >::Type::ConstPtr boundaryVelocity, const Vec3T &backgroundVelocity)
 Create a Potential Flow velocities grid for the Neumann boundary. More...
 
template<typename Vec3GridT , typename MaskT , typename InterrupterT = util::NullInterrupter>
VectorToScalarGrid< Vec3GridT >
::Ptr 
openvdb::OPENVDB_VERSION_NAME::tools::computeScalarPotential (const MaskT &domain, const Vec3GridT &neumann, math::pcg::State &state, InterrupterT *interrupter=nullptr)
 Compute the Potential on the domain using the Neumann boundary conditions on solid boundaries. More...
 
template<typename Vec3GridT >
Vec3GridT::Ptr openvdb::OPENVDB_VERSION_NAME::tools::computePotentialFlow (const typename VectorToScalarGrid< Vec3GridT >::Type &potential, const Vec3GridT &neumann, const typename Vec3GridT::ValueType backgroundVelocity=zeroVal< typename Vec3GridT::TreeType::ValueType >())
 Compute a vector Flow Field comprising the gradient of the potential with Neumann boundary conditions applied. More...
 

Detailed Description

Tools for creating potential flow fields through solving Laplace's equation.

Authors
Todd Keeler, Dan Bailey

Definition in file PotentialFlow.h.