mantaflow
0.10
A framework for fluid simulation
|
#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 > | |
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 > >mp, 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) |