mantaflow  0.10
A framework for fluid simulation
Functions
flip.cpp File Reference
#include "particle.h"
#include "grid.h"
#include "commonkernels.h"
#include "randomstream.h"
#include "levelset.h"
#include "shapes.h"

Functions

PYTHON void Manta::sampleFlagsWithParticles (const FlagGrid &flags, BasicParticleSystem &parts, const int discretization, const Real randomness)
 
PYTHON void Manta::sampleLevelsetWithParticles (const LevelsetGrid &phi, const FlagGrid &flags, BasicParticleSystem &parts, const int discretization, const Real randomness, const bool reset=false, const bool refillEmpty=false)
 
PYTHON void Manta::sampleShapeWithParticles (const Shape &shape, const FlagGrid &flags, BasicParticleSystem &parts, const int discretization, const Real randomness, const bool reset=false, const bool refillEmpty=false, const LevelsetGrid *exclude=NULL)
 
void Manta::knClearFluidFlags (FlagGrid &flags, int dummy=0)
 
void Manta::knSetNbObstacle (FlagGrid &nflags, const FlagGrid &flags, const Grid< Real > &phiObs)
 
PYTHON void Manta::markFluidCells (const BasicParticleSystem &parts, FlagGrid &flags, const Grid< Real > *phiObs=NULL, const ParticleDataImpl< int > *ptype=NULL, const int exclude=0)
 
PYTHON void Manta::testInitGridWithPos (Grid< Real > &grid)
 
Real Manta::calculateRadiusFactor (Grid< Real > &grid, Real factor)
 helper to calculate particle radius factor to cover the diagonal of a cell in 2d/3d
 
PYTHON void Manta::adjustNumber (BasicParticleSystem &parts, MACGrid &vel, FlagGrid &flags, int minParticles, int maxParticles, LevelsetGrid &phi, Real radiusFactor=1., Real narrowBand=-1., Grid< Real > *exclude=NULL)
 re-sample particles based on an input levelset More...
 
PYTHON void Manta::debugIntToReal (Grid< int > &source, Grid< Real > &dest, Real factor=1.)
 
PYTHON void Manta::gridParticleIndex (BasicParticleSystem &parts, ParticleIndexSystem &indexSys, FlagGrid &flags, Grid< int > &index, Grid< int > *counter=NULL)
 
void Manta::ComputeUnionLevelsetPindex (const Grid< int > &index, const BasicParticleSystem &parts, const ParticleIndexSystem &indexSys, LevelsetGrid &phi, const Real radius, const ParticleDataImpl< int > *ptype, const int exclude)
 
PYTHON void Manta::unionParticleLevelset (const BasicParticleSystem &parts, const ParticleIndexSystem &indexSys, const FlagGrid &flags, const Grid< int > &index, LevelsetGrid &phi, const Real radiusFactor=1., const ParticleDataImpl< int > *ptype=NULL, const int exclude=0)
 
void Manta::ComputeAveragedLevelsetWeight (const BasicParticleSystem &parts, const Grid< int > &index, const ParticleIndexSystem &indexSys, LevelsetGrid &phi, const Real radius, const ParticleDataImpl< int > *ptype, const int exclude)
 
template<class T >
Manta::smoothingValue (Grid< T > val, int i, int j, int k, T center)
 
void Manta::knSmoothGrid (Grid< T > &me, Grid< T > &tmp, Real factor)
 
void Manta::knSmoothGridNeg (Grid< T > &me, Grid< T > &tmp, Real factor)
 
PYTHON void Manta::averagedParticleLevelset (const BasicParticleSystem &parts, const ParticleIndexSystem &indexSys, const FlagGrid &flags, const Grid< int > &index, LevelsetGrid &phi, const Real radiusFactor=1., const int smoothen=1, const int smoothenNeg=1, const ParticleDataImpl< int > *ptype=NULL, const int exclude=0)
 
void Manta::knPushOutofObs (BasicParticleSystem &parts, const FlagGrid &flags, const Grid< Real > &phiObs, const Real shift, const Real thresh, const ParticleDataImpl< int > *ptype, const int exclude)
 
PYTHON void Manta::pushOutofObs (BasicParticleSystem &parts, const FlagGrid &flags, const Grid< Real > &phiObs, const Real shift=0, const Real thresh=0, const ParticleDataImpl< int > *ptype=NULL, const int exclude=0)
 
void Manta::knSafeDivReal (Grid< T > &me, const Grid< Real > &other, Real cutoff=VECTOR_EPSILON)
 
void Manta::knMapLinearVec3ToMACGrid (const BasicParticleSystem &p, const FlagGrid &flags, MACGrid &vel, Grid< Vec3 > &tmp, const ParticleDataImpl< Vec3 > &pvel, const ParticleDataImpl< int > *ptype, const int exclude)
 
PYTHON void Manta::mapPartsToMAC (const FlagGrid &flags, MACGrid &vel, MACGrid &velOld, const BasicParticleSystem &parts, const ParticleDataImpl< Vec3 > &partVel, Grid< Vec3 > *weight=NULL, const ParticleDataImpl< int > *ptype=NULL, const int exclude=0)
 
void Manta::knMapLinear (BasicParticleSystem &p, FlagGrid &flags, Grid< T > &target, Grid< Real > &gtmp, ParticleDataImpl< T > &psource)
 
template<class T >
void Manta::mapLinearRealHelper (FlagGrid &flags, Grid< T > &target, BasicParticleSystem &parts, ParticleDataImpl< T > &source)
 
PYTHON void Manta::mapPartsToGrid (FlagGrid &flags, Grid< Real > &target, BasicParticleSystem &parts, ParticleDataImpl< Real > &source)
 
PYTHON void Manta::mapPartsToGridVec3 (FlagGrid &flags, Grid< Vec3 > &target, BasicParticleSystem &parts, ParticleDataImpl< Vec3 > &source)
 
void Manta::knMapFromGrid (BasicParticleSystem &p, Grid< T > &gsrc, ParticleDataImpl< T > &target)
 
PYTHON void Manta::mapGridToParts (Grid< Real > &source, BasicParticleSystem &parts, ParticleDataImpl< Real > &target)
 
PYTHON void Manta::mapGridToPartsVec3 (Grid< Vec3 > &source, BasicParticleSystem &parts, ParticleDataImpl< Vec3 > &target)
 
void Manta::knMapLinearMACGridToVec3_PIC (BasicParticleSystem &p, FlagGrid &flags, MACGrid &vel, ParticleDataImpl< Vec3 > &pvel, const ParticleDataImpl< int > *ptype, const int exclude)
 
PYTHON void Manta::mapMACToParts (FlagGrid &flags, MACGrid &vel, BasicParticleSystem &parts, ParticleDataImpl< Vec3 > &partVel, const ParticleDataImpl< int > *ptype=NULL, const int exclude=0)
 
void Manta::knMapLinearMACGridToVec3_FLIP (const BasicParticleSystem &p, const FlagGrid &flags, const MACGrid &vel, const MACGrid &oldVel, ParticleDataImpl< Vec3 > &pvel, const Real flipRatio, const ParticleDataImpl< int > *ptype, const int exclude)
 
PYTHON void Manta::flipVelocityUpdate (const FlagGrid &flags, const MACGrid &vel, const MACGrid &velOld, const BasicParticleSystem &parts, ParticleDataImpl< Vec3 > &partVel, const Real flipRatio, const ParticleDataImpl< int > *ptype=NULL, const int exclude=0)
 
void Manta::knCombineVels (MACGrid &vel, Grid< Vec3 > &w, MACGrid &combineVel, LevelsetGrid *phi, Real narrowBand, Real thresh)
 
PYTHON void Manta::combineGridVel (MACGrid &vel, Grid< Vec3 > &weight, MACGrid &combineVel, LevelsetGrid *phi=NULL, Real narrowBand=0.0, Real thresh=0.0)
 
PYTHON void Manta::getLaplacian (Grid< Real > &laplacian, const Grid< Real > &grid)