mantaflow  0.10
A framework for fluid simulation
Enumerations | Functions
pressure.cpp File Reference
#include "vectorbase.h"
#include "kernel.h"
#include "conjugategrad.h"
#include "multigrid.h"

Enumerations

enum  Manta::Preconditioner { PcNone = 0, PcMIC = 1, PcMGDynamic = 2, PcMGStatic = 3 }
 Preconditioner for CG solver.
 

Functions

void Manta::MakeRhs (FlagGrid &flags, Grid< Real > &rhs, MACGrid &vel, Grid< Real > *perCellCorr, MACGrid *fractions, const Grid< Real > *phi, const Grid< Real > *curv, const Real surfTens, const Real gfClamp)
 
void Manta::CorrectVelocity (FlagGrid &flags, MACGrid &vel, Grid< Real > &pressure)
 
void Manta::ApplyGhostFluidDiagonal (Grid< Real > &A0, const FlagGrid &flags, const Grid< Real > &phi, Real gfClamp)
 
void Manta::CorrectVelocityGhostFluid (MACGrid &vel, const FlagGrid &flags, const Grid< Real > &pressure, const Grid< Real > &phi, Real gfClamp, const Grid< Real > *curv, const Real surfTens)
 
void Manta::ReplaceClampedGhostFluidVels (MACGrid &vel, FlagGrid &flags, const Grid< Real > &pressure, const Grid< Real > &phi, Real gfClamp)
 
int Manta::CountEmptyCells (FlagGrid &flags)
 
void Manta::fixPressure (int fixPidx, Real value, Grid< Real > &rhs, Grid< Real > &A0, Grid< Real > &Ai, Grid< Real > &Aj, Grid< Real > &Ak)
 Change 'A' and 'rhs' such that pressure at 'fixPidx' is fixed to 'value'.
 
PYTHON void Manta::releaseMG (FluidSolver *solver=nullptr)
 
void Manta::solvePressure (MACGrid &vel, Grid< Real > &pressure, FlagGrid &flags, Real cgAccuracy=1e-3, Grid< Real > *phi=0, Grid< Real > *perCellCorr=0, MACGrid *fractions=0, Real gfClamp=1e-04, Real cgMaxIterFac=1.5, bool precondition=true, int preconditioner=1, bool enforceCompatibility=false, bool useL2Norm=false, bool zeroPressureFixing=false, const Grid< Real > *curv=NULL, const Real surfTens=0.0, Grid< Real > *retRhs=NULL)