Blender V2.61 - r43446
|
#include <solver_class.h>
Classes | |
class | lbmFloatSet |
class for handling redist weights in reinit flag function More... | |
Public Types | |
typedef UniformFsgrCellIdentifier | stdCellId |
Public Member Functions | |
LbmFsgrSolver () | |
Constructor. | |
virtual | ~LbmFsgrSolver () |
Destructor. | |
virtual void | parseAttrList () |
initilize variables fom attribute list | |
void | initLevelOmegas () |
Initialize omegas and forces on all levels (for init/timestep change) | |
virtual bool | initializeSolverMemory () |
virtual bool | initializeSolverGrids () |
virtual bool | initializeSolverPostinit () |
virtual void | notifySolverOfDump (int dumptype, int frameNr, char *frameNrStr, string outfilename) |
notify object that dump is in progress (e.g. for field dump) | |
virtual void | debugDisplay (int set) |
show simulation info (implement LbmSolverInterface pure virtual func) | |
virtual CellIdentifierInterface * | getFirstCell () |
cell iteration methods | |
virtual void | advanceCell (CellIdentifierInterface *) |
virtual bool | noEndCell (CellIdentifierInterface *) |
virtual void | deleteCellIterator (CellIdentifierInterface **) |
clean up iteration, this should be called, when the iteration is not completely finished | |
virtual CellIdentifierInterface * | getCellAt (ntlVec3Gfx pos) |
find cell at a given position (returns NULL if not in domain) | |
virtual int | getCellSet (CellIdentifierInterface *) |
return node information | |
virtual ntlVec3Gfx | getCellOrigin (CellIdentifierInterface *) |
virtual ntlVec3Gfx | getCellSize (CellIdentifierInterface *) |
virtual int | getCellLevel (CellIdentifierInterface *) |
virtual LbmFloat | getCellDensity (CellIdentifierInterface *, int set) |
virtual LbmVec | getCellVelocity (CellIdentifierInterface *, int set) |
virtual LbmFloat | getCellDf (CellIdentifierInterface *, int set, int dir) |
virtual LbmFloat | getCellMass (CellIdentifierInterface *, int set) |
virtual LbmFloat | getCellFill (CellIdentifierInterface *, int set) |
virtual CellFlagType | getCellFlag (CellIdentifierInterface *, int set) |
virtual LbmFloat | getEquilDf (int) |
virtual ntlVec3Gfx | getVelocityAt (float x, float y, float z) |
stdCellId * | convertBaseCidToStdCid (CellIdentifierInterface *basecid) |
bool | initGeometryFlags () |
perform geometry init (if switched on) | |
void | initFreeSurfaces () |
init part for all freesurface testcases | |
void | initStandingFluidGradient () |
init density gradient if enabled | |
LBM_INLINED void | initEmptyCell (int level, int i, int j, int k, CellFlagType flag, LbmFloat rho, LbmFloat mass) |
LBM_INLINED void | initVelocityCell (int level, int i, int j, int k, CellFlagType flag, LbmFloat rho, LbmFloat mass, LbmVec vel) |
LBM_INLINED void | changeFlag (int level, int xx, int yy, int zz, int set, CellFlagType newflag) |
LBM_INLINED void | forceChangeFlag (int level, int xx, int yy, int zz, int set, CellFlagType newflag) |
LBM_INLINED void | initInterfaceVars (int level, int i, int j, int k, int workSet, bool initMass) |
void | interpolateCellValues (int level, int ei, int ej, int ek, int workSet, LbmFloat &retrho, LbmFloat &retux, LbmFloat &retuy, LbmFloat &retuz) |
interpolate velocity and density at a given position | |
void | stepMain () |
void | fineAdvance () |
advance fine grid | |
void | coarseAdvance (int lev) |
advance coarse grid | |
void | coarseCalculateFluxareas (int lev) |
update flux area values on coarse grids | |
bool | adaptGrid (int lev) |
void | coarseRestrictFromFine (int lev) |
multi level functions | |
virtual void | step () |
virtual int | initParticles () |
virtual void | advanceParticles () |
void | handleObstacleParticle (ParticleObject *p) |
virtual vector < ntlGeometryObject * > | getDebugObjects () |
virtual void | debugDisplayNode (int dispset, CellIdentifierInterface *cell) |
display a single node | |
virtual void | lbmDebugDisplay (int dispset) |
debug display function | |
virtual void | lbmMarkedCellDisplay () |
debug display function | |
virtual void | debugPrintNodeInfo (CellIdentifierInterface *cell, int forceSet=-1) |
display a single node | |
void | prepareVisualization (void) |
for raytracing, preprocess | |
virtual void | setSurfGenSettings (short value) |
Protected Types | |
enum | fsSurfaceGen { fssgNormal = 0, fssgNoNorth = 1, fssgNoSouth = 2, fssgNoEast = 4, fssgNoWest = 8, fssgNoTop = 16, fssgNoBottom = 32, fssgNoObs = 64 } |
surface generation settings, default is all off (=0) More... | |
enum | dfDir { cDirInv = -1, cDirC = 0, cDirN = 1, cDirS = 2, cDirE = 3, cDirW = 4, cDirT = 5, cDirB = 6, cDirNE = 7, cDirNW = 8, cDirSE = 9, cDirSW = 10, cDirNT = 11, cDirNB = 12, cDirST = 13, cDirSB = 14, cDirET = 15, cDirEB = 16, cDirWT = 17, cDirWB = 18 } |
distribution functions directions More... | |
Protected Member Functions | |
void | printLbmCell (int level, int i, int j, int k, int set) |
internal quick print function (for debugging) | |
void | debugMarkCellCall (int level, int vi, int vj, int vk) |
void | mainLoop (int lev) |
fine step function | |
void | adaptTimestep () |
void | recalculateObjectSpeeds () |
init mObjectSpeeds for current parametrization | |
void | initMovingObstacles (bool staticInit) |
init moving obstacles for next sim step sim | |
void | reinitFlags (int workSet) |
flag reinit step - always works on finest grid! | |
LbmFloat | getMassdWeight (bool dirForw, int i, int j, int k, int workSet, int l) |
mass dist weights | |
void | computeFluidSurfaceNormal (LbmFloat *cell, CellFlagType *cellflag, LbmFloat *snret) |
compute surface normals: fluid, fluid more accurate, and for obstacles | |
void | computeFluidSurfaceNormalAcc (LbmFloat *cell, CellFlagType *cellflag, LbmFloat *snret) |
void | computeObstacleSurfaceNormal (LbmFloat *cell, CellFlagType *cellflag, LbmFloat *snret) |
void | computeObstacleSurfaceNormalAcc (int i, int j, int k, LbmFloat *snret) |
LBM_INLINED void | addToNewInterList (int ni, int nj, int nk) |
add point to mListNewInter list | |
void | interpolateCellFromCoarse (int lev, int i, int j, int k, int dstSet, LbmFloat t, CellFlagType flagSet, bool markNbs) |
cell is interpolated from coarse level (inited into set, source sets are determined by t) | |
void | coarseRestrictCell (int lev, int i, int j, int k, int srcSet, int dstSet) |
cell restriction and prolongation | |
LBM_INLINED int | getForZMinBnd () |
minimal and maximal z-coords (for 2D/3D loops) | |
LBM_INLINED int | getForZMin1 () |
LBM_INLINED int | getForZMaxBnd (int lev) |
LBM_INLINED int | getForZMax1 (int lev) |
LBM_INLINED bool | checkDomainBounds (int lev, int i, int j, int k) |
LBM_INLINED bool | checkDomainBoundsPos (int lev, LbmVec pos) |
void | preinitGrids () |
void | standingFluidPreinit () |
bool | checkSymmetry (string idstring) |
debugging | |
void | initCpdata () |
void | handleCpdata () |
void | cpDebugDisplay (int dispset) |
LbmFloat | getLesNoneqTensorCoeff (LbmFloat df[], LbmFloat feq[]) |
LbmFloat | getLesOmega (LbmFloat omega, LbmFloat csmago, LbmFloat Qo) |
void | collideArrays (int lev, int i, int j, int k, LbmFloat df[], LbmFloat &outrho, LbmFloat &mux, LbmFloat &muy, LbmFloat &muz, LbmFloat omega, LbmVec gravity, LbmFloat csmago, LbmFloat *newOmegaRet, LbmFloat *newQoRet) |
virtual string | getIdString () |
id string of solver | |
Static Protected Member Functions | |
static LbmFloat | getVelVecLen (int l, LbmFloat ux, LbmFloat uy, LbmFloat uz) |
static LbmFloat | getCollideEq (int l, LbmFloat rho, LbmFloat ux, LbmFloat uy, LbmFloat uz) |
Protected Attributes | |
LbmFloat | mCurrentMass |
mass calculated during streaming step | |
LbmFloat | mCurrentVolume |
LbmFloat | mInitialMass |
int | mNumProblems |
count problematic cases, that occured so far... | |
double | mAvgMLSUPS |
double | mAvgMLSUPSCnt |
IsoSurface * | mpPreviewSurface |
Mcubes object for surface reconstruction. | |
bool | mTimeAdap |
use time adaptivity? | |
bool | mForceTimeStepReduce |
force smaller timestep for next LBM step? (eg for mov obj) | |
LbmFloat | mFVHeight |
fluid vol height | |
LbmFloat | mFVArea |
bool | mUpdateFVHeight |
LbmFloat | mGfxEndTime |
force quit for gfx | |
int | mInitSurfaceSmoothing |
smoother surface initialization? | |
int | mFsSurfGenSetting |
int | mTimestepReduceLock |
lock time step down switching | |
int | mTimeSwitchCounts |
count no. of switches | |
int | mTimeMaxvelStepCnt |
LbmFloat | mSimulationTime |
total simulation time so far | |
LbmFloat | mLastSimTime |
LbmFloat | mMinTimestep |
smallest and largest step size so far | |
LbmFloat | mMaxTimestep |
LbmFloat | mMxvx |
track max. velocity | |
LbmFloat | mMxvy |
LbmFloat | mMxvz |
LbmFloat | mMaxVlen |
vector< LbmPoint > | mListEmpty |
list of the cells to empty at the end of the step | |
vector< LbmPoint > | mListFull |
list of the cells to make fluid at the end of the step | |
vector< LbmPoint > | mListNewInter |
list of new interface cells to init | |
LbmVec | mDvecNrm [27] |
normalized vectors for all neighboring cell directions (for e.g. massdweight calc) | |
int | mMaxNoCells |
kepp track of max/min no. of filled cells | |
int | mMinNoCells |
LONGINT | mAvgNumUsedCells |
vector< LbmVec > | mObjectSpeeds |
precalculated objects speeds for current parametrization | |
vector< LbmFloat > | mObjectPartslips |
partslip bc. values for obstacle boundary conditions | |
vector< LbmFloat > | mObjectMassMovnd |
moving object mass boundary condition values | |
vector< ntlVec3Gfx > | mMOIVertices |
permanent movobj vert storage | |
vector< ntlVec3Gfx > | mMOIVerticesOld |
vector< ntlVec3Gfx > | mMOINormals |
int | mIsoWeightMethod |
get isofield weights | |
float | mIsoWeight [27] |
FsgrLevelData | mLevel [FSGR_MAXNOOFLEVELS] |
int | mMaxRefine |
LbmFloat | mDfScaleUp |
LbmFloat | mDfScaleDown |
LbmFloat | mFsgrCellArea [27] |
LbmFloat | mGaussw [27] |
float | mInitialCsmago |
LbmFloat | mDebugOmegaRet |
LbmFloat | mLastOmega |
LbmVec | mLastGravity |
int | mNumInterdCells |
fluid stats | |
int | mNumInvIfCells |
int | mNumInvIfTotal |
int | mNumFsgrChanges |
int | mDisableStandingFluidInit |
debug function to disable standing f init | |
bool | mInit2dYZ |
init 2d with skipped Y/Z coords | |
int | mForceTadapRefine |
debug function to force tadap syncing | |
int | mCutoff |
border cutoff value | |
LbmControlData * | mpControl |
bool | mUseTestdata |
STCON int | cDimension = 3 |
how many dimensions? UNUSED? replace by LBMDIM? | |
STCON LbmFloat | cCollenZero = (1.0/3.0) |
STCON LbmFloat | cCollenOne = (1.0/18.0) |
STCON LbmFloat | cCollenSqrtTwo = (1.0/36.0) |
STCON LbmFloat | cMagicNr2 = 1.0005 |
threshold value for filled/emptied cells | |
STCON LbmFloat | cMagicNr2Neg = -0.0005 |
STCON LbmFloat | cMagicNr = 1.010001 |
STCON LbmFloat | cMagicNrNeg = -0.010001 |
STCON int | cDfNum = 19 |
size of a single set of distribution functions | |
STCON int | cDirNum = 27 |
direction vector contain vecs for all spatial dirs, even if not used for LBM model | |
STCON char * | dfString [19] |
STCON int | dfNorm [19] |
STCON int | dfInv [19] |
STCON int | dfRefX [19] |
STCON int | dfRefY [19] |
STCON int | dfRefZ [19] |
STCON int | dfVecX [27] |
STCON int | dfVecY [27] |
STCON int | dfVecZ [27] |
STCON LbmFloat | dfDvecX [27] |
STCON LbmFloat | dfDvecY [27] |
STCON LbmFloat | dfDvecZ [27] |
STCON int | princDirX [2 *3] |
STCON int | princDirY [2 *3] |
STCON int | princDirZ [2 *3] |
STCON LbmFloat | dfLength [19] |
Static Protected Attributes | |
static LbmFloat | dfEquil [dTotalNum] |
static LbmFloat | lesCoeffDiag [(3-1)*(3-1)][27] |
static LbmFloat | lesCoeffOffdiag [3][27] |
class for solving a LBM problem
Definition at line 202 of file solver_class.h.
Definition at line 234 of file solver_class.h.
enum LbmFsgrSolver::dfDir [protected] |
distribution functions directions
cDirInv | |
cDirC | |
cDirN | |
cDirS | |
cDirE | |
cDirW | |
cDirT | |
cDirB | |
cDirNE | |
cDirNW | |
cDirSE | |
cDirSW | |
cDirNT | |
cDirNB | |
cDirST | |
cDirSB | |
cDirET | |
cDirEB | |
cDirWT | |
cDirWB |
Definition at line 584 of file solver_class.h.
enum LbmFsgrSolver::fsSurfaceGen [protected] |
surface generation settings, default is all off (=0)
fssgNormal | |
fssgNoNorth | |
fssgNoSouth | |
fssgNoEast | |
fssgNoWest | |
fssgNoTop | |
fssgNoBottom | |
fssgNoObs |
Definition at line 392 of file solver_class.h.
LbmFsgrSolver::LbmFsgrSolver | ( | ) |
Constructor.
Definition at line 307 of file solver_init.cpp.
References cDfNum, cDirNum, simple_enum_gen::d, dfDvecX, dfDvecY, dfDvecZ, dfEquil, dFfrac, dfInv, dFlux, dfVecX, dfVecY, dfVecZ, dMass, errFatal, errMsg, expf, FLUX_INIT, FORDF0, FORDF1, getCollideEq(), getNormalized(), LBMDIM, lesCoeffDiag, lesCoeffOffdiag, mDvecNrm, mGaussw, LbmSolverInterface::mIsoValue, mpControl, LbmSolverInterface::mpIso, norm(), SIMWORLD_GENERICERROR, sqrt(), and simple_enum_gen::w.
Referenced by createSolver().
LbmFsgrSolver::~LbmFsgrSolver | ( | ) | [virtual] |
Destructor.
Definition at line 428 of file solver_init.cpp.
References debMsgStd, DM_MSG, i, mAvgMLSUPS, mAvgMLSUPSCnt, LbmSolverInterface::mInitDone, mLevel, mMaxRefine, mpControl, LbmSolverInterface::mpIso, mpPreviewSurface, FsgrLevelData::mprsCells, FsgrLevelData::mprsFlags, LbmSolverInterface::mSilent, and NULL.
bool LbmFsgrSolver::adaptGrid | ( | int | lev | ) |
Definition at line 239 of file solver_adap.cpp.
References cDirNum, CellFlagType, CFEmpty, CFFluid, CFGrCoarseInited, CFGrFromCoarse, CFGrFromFine, CFGrNorm, CFGrToFine, CFInter, CFNoBndFluid, CFUnused, debugMarkCell, dfVecX, dfVecY, dfVecZ, dMass, errMsg, getForZMax1(), getForZMin1(), i, interpolateCellFromCoarse(), LBMDIM, FsgrLevelData::lSizex, FsgrLevelData::lSizey, LbmSolverInterface::mFixMass, mLevel, mMaxRefine, mNumFsgrChanges, LbmSolverInterface::mSilent, QCELL, RFLAG, RFLAG_NB, FsgrLevelData::setCurr, and FsgrLevelData::setOther.
Referenced by initializeSolverPostinit(), and stepMain().
void LbmFsgrSolver::adaptTimestep | ( | ) | [protected] |
change the size of the LBM time step
Definition at line 939 of file solver_adap.cpp.
References ParticleTracer::adaptPartTimestep(), Parametrizer::calculateAllMissingValues(), Parametrizer::calculateGravity(), cDfNum, CFBndMoving, CFFluid, CFGrFromCoarse, CFGrFromFine, CFGrNorm, CFInter, coarseCalculateFluxareas(), debMsgDirect, debMsgStd, dfDvecX, dfDvecY, dfDvecZ, dFfrac, dFlux, DM_MSG, DM_NOTIFY, dMass, errMsg, fabs(), FSGR_FORIJK1, FSGR_MAXNOOFLEVELS, getCollideEq(), Parametrizer::getCurrentGStar(), getLesNoneqTensorCoeff(), getLesOmega(), Parametrizer::getMaxTimestep(), iTaSC::getMaxTimestep(), Parametrizer::getMinTimestep(), Parametrizer::getSimulationMaxSpeed(), Parametrizer::getTadapMaxSpeed(), Parametrizer::getTimestep(), glob_mpactive, glob_mpindex, glob_mpnum, FsgrLevelData::gravity, i, initLevelOmegas(), LBM_DFNUM, FsgrLevelData::lcellfactor, FsgrLevelData::lSizez, mCurrentMass, mCurrentVolume, mForceTimeStepReduce, mLastGravity, mLastOmega, mLevel, mMaxRefine, mMaxTimestep, mMinTimestep, LbmSolverInterface::mName, LbmSolverInterface::mOmega, LbmSolverInterface::mPanic, LbmSolverInterface::mpParam, LbmSolverInterface::mpParticles, MPTADAP_INTERV, LbmSolverInterface::mSilent, mSimulationTime, LbmSolverInterface::mStepCnt, mTimeMaxvelStepCnt, mTimestepReduceLock, mTimeSwitchCounts, mUseTestdata, norm(), FsgrLevelData::omega, PRINT_IJK, QCELL, recalculateObjectSpeeds(), RFLAG, FsgrLevelData::setCurr, Parametrizer::setDesiredTimestep(), sqrt(), FsgrLevelData::timestep, and vec2L().
Referenced by stepMain().
void LbmFsgrSolver::addToNewInterList | ( | int | ni, |
int | nj, | ||
int | nk | ||
) | [protected] |
add point to mListNewInter list
Definition at line 1351 of file solver_main.cpp.
References LbmPoint::flag, mListNewInter, LbmPoint::x, LbmPoint::y, and LbmPoint::z.
Referenced by reinitFlags().
void LbmFsgrSolver::advanceCell | ( | CellIdentifierInterface * | basecid | ) | [virtual] |
Implements LbmSolverInterface.
Definition at line 1309 of file solver_util.cpp.
References CID_EX, CID_EY, CID_EZ, CID_SX, CID_SY, CID_SZ, convertBaseCidToStdCid(), CellIdentifierInterface::getEnd(), guiRoiMaxLev, guiRoiMinLev, UniformFsgrCellIdentifier::level, CellIdentifierInterface::setEnd(), UniformFsgrCellIdentifier::x, UniformFsgrCellIdentifier::y, and UniformFsgrCellIdentifier::z.
Referenced by lbmDebugDisplay().
void LbmFsgrSolver::advanceParticles | ( | ) | [virtual] |
move all particles
Implements LbmSolverInterface.
Definition at line 604 of file solver_util.cpp.
References ABS, ParticleObject::addToVel(), ParticleObject::advance(), ParticleObject::advanceVec(), ParticleObject::advanceVel(), CellFlagType, CFBnd, CFEmpty, CFFluid, CFInter, CFNoBndFluid, CFNoNbFluid, CFUnused, ParticleTracer::cleanup(), dB, dE, debMsgStd, DEL_PART, dfDvecX, dfDvecY, dfDvecZ, dFfrac, DM_MSG, dMass, dN, dS, dT, dW, credits_svn_gen::e, errMsg, fb(), FFGET_NORM, FLOAT_JITTBNDRAND, FLOAT_JITTER, FORDF0, FORDF1, Parametrizer::getCellSize(), Parametrizer::getGravity(), ParticleObject::getLifeTime(), ParticleObject::getMass(), ParticleTracer::getNumParticles(), ParticleTracer::getParticlesBegin(), ParticleTracer::getParticlesEnd(), ParticleObject::getPos(), ParticleObject::getSize(), ParticleObject::getStatus(), getTime(), Parametrizer::getTimestep(), getTimeString(), ParticleObject::getType(), ParticleObject::getVel(), FsgrLevelData::gravity, handleObstacleParticle(), i, LBMDIM, M_PI, mCutoff, LbmSolverInterface::mFarFieldSize, mLevel, mMaxRefine, LbmSolverInterface::mNumParticlesLost, LbmSolverInterface::mPartDropMassSub, LbmSolverInterface::mPartUsePhysModel, LbmSolverInterface::mpParam, LbmSolverInterface::mpParticles, mSimulationTime, LbmSolverInterface::mSizex, LbmSolverInterface::mSizey, LbmSolverInterface::mSizez, LbmSolverInterface::mStepCnt, norm(), normNoSqrt(), FsgrLevelData::omega, p, P_CHANGETYPE, PART_BUBBLE, PART_DROP, PART_FLOAT, PART_IN, PART_INTER, PART_OUT, PART_TRACER, QCELL, RAC, RACPNT, RFLAG, FsgrLevelData::setCurr, ParticleObject::setInFluid(), ParticleObject::setLifeTime(), ParticleObject::setPos(), ParticleObject::setStatus(), ParticleObject::setVel(), si, size(), sqrtf, FsgrLevelData::timestep, TRACE_RAND, vec2G(), vec2L(), and simple_enum_gen::w.
Referenced by stepMain().
void LbmFsgrSolver::changeFlag | ( | int | level, |
int | xx, | ||
int | yy, | ||
int | zz, | ||
int | set, | ||
CellFlagType | newflag | ||
) |
Definition at line 922 of file solver_class.h.
References CellFlagType, CFPersistMask, and RFLAG.
Referenced by initEmptyCell(), initMovingObstacles(), initVelocityCell(), mainLoop(), and reinitFlags().
bool LbmFsgrSolver::checkDomainBounds | ( | int | lev, |
int | i, | ||
int | j, | ||
int | k | ||
) | [protected] |
Definition at line 979 of file solver_class.h.
References mLevel.
Referenced by handleObstacleParticle().
bool LbmFsgrSolver::checkDomainBoundsPos | ( | int | lev, |
LbmVec | pos | ||
) | [protected] |
Definition at line 988 of file solver_class.h.
bool LbmFsgrSolver::checkSymmetry | ( | string | idstring | ) | [protected] |
debugging
Definition at line 2252 of file solver_init.cpp.
References dC, debugMarkCell, dMass, errMsg, FORDF1, FSGR_FORIJK1, i, LBM_FLOATNEQ, LBMDIM, FsgrLevelData::lSizey, mLevel, mMaxRefine, PRINT_IJK, PRINT_VEC, QCELL, and RFLAG.
Referenced by initializeSolverGrids().
void LbmFsgrSolver::coarseAdvance | ( | int | lev | ) |
advance coarse grid
Definition at line 54 of file solver_adap.cpp.
References CAUSE_PANIC, CellFlagType, CFFluid, CFGrCoarseInited, CFGrFromCoarse, CFGrFromFine, CFGrNorm, CFNoBndFluid, CFUnused, coarseCalculateFluxareas(), debMsgStd, debugMarkCell, dFlux, DM_NOTIFY, errMsg, FORDF0, FORDF1, getForZMax1(), getForZMin1(), i, interpolateCellFromCoarse(), LBM_DFNUM, FsgrLevelData::lcellfactor, FsgrLevelData::lmass, FsgrLevelData::lSizex, FsgrLevelData::lSizey, FsgrLevelData::lsteps, FsgrLevelData::lvolume, mLevel, mMaxRefine, LbmSolverInterface::mNumUsedCells, LbmSolverInterface::mSilent, LbmSolverInterface::mStepCnt, NULL, OPTIMIZED_STREAMCOLLIDE, PRINT_IJK, QCELLSTEP, RAC, RACPNT, RFLAG, RFLAG_NB, FsgrLevelData::setCurr, FsgrLevelData::setOther, SRCS, and TSET.
Referenced by stepMain().
void LbmFsgrSolver::coarseCalculateFluxareas | ( | int | lev | ) |
update flux area values on coarse grids
coarse step functions
Definition at line 25 of file solver_adap.cpp.
References cDirNum, CFEmpty, CFFluid, CFGrFromCoarse, CFUnused, debMsgStd, dFlux, dfVecX, dfVecY, dfVecZ, DM_MSG, FSGR_FORIJK_BOUNDS, i, mFsgrCellArea, mLevel, LbmSolverInterface::mSilent, QCELL, and RFLAG.
Referenced by adaptTimestep(), and coarseAdvance().
void LbmFsgrSolver::coarseRestrictCell | ( | int | lev, |
int | i, | ||
int | j, | ||
int | k, | ||
int | srcSet, | ||
int | dstSet | ||
) | [protected] |
cell restriction and prolongation
Definition at line 698 of file solver_adap.cpp.
References CCELG_B, CCELG_C, CCELG_E, CCELG_EB, CCELG_ET, CCELG_N, CCELG_NB, CCELG_NE, CCELG_NT, CCELG_NW, CCELG_S, CCELG_SB, CCELG_SE, CCELG_ST, CCELG_SW, CCELG_T, CCELG_W, CCELG_WB, CCELG_WT, cDirNum, dB, dC, dE, dEB, dET, dfDvecX, dfDvecY, dfDvecZ, dfVecX, dfVecY, dfVecZ, dN, dNB, dNE, dNT, dNW, dS, dSB, dSE, dST, dSW, dT, dW, dWB, dWT, EQC, errMsg, FORDF0, getCollideEq(), getLesNoneqTensorCoeff(), getLesOmega(), LBM_DFNUM, mDfScaleUp, mGaussw, mLevel, MSRC_B, MSRC_C, MSRC_E, MSRC_EB, MSRC_ET, MSRC_N, MSRC_NB, MSRC_NE, MSRC_NT, MSRC_NW, MSRC_S, MSRC_SB, MSRC_SE, MSRC_ST, MSRC_SW, MSRC_T, MSRC_W, MSRC_WB, MSRC_WT, FsgrLevelData::omega, PRINT_IJK, PRINT_VEC, RAC, RACPNT, and FsgrLevelData::timestep.
Referenced by coarseRestrictFromFine().
void LbmFsgrSolver::coarseRestrictFromFine | ( | int | lev | ) |
multi level functions
Definition at line 185 of file solver_adap.cpp.
References CellFlagType, CFEmpty, CFFluid, CFGrFromCoarse, CFGrFromFine, CFGrNorm, CFGrToFine, CFUnused, coarseRestrictCell(), errMsg, FORDF0, getForZMax1(), getForZMin1(), i, FsgrLevelData::lSizex, FsgrLevelData::lSizey, mLevel, mMaxRefine, mNumInterdCells, LbmSolverInterface::mNumUsedCells, LbmSolverInterface::mSilent, QCELL, RFLAG, and FsgrLevelData::setCurr.
Referenced by initializeSolverPostinit(), and stepMain().
void LbmFsgrSolver::collideArrays | ( | int | lev, |
int | i, | ||
int | j, | ||
int | k, | ||
LbmFloat | df[], | ||
LbmFloat & | outrho, | ||
LbmFloat & | mux, | ||
LbmFloat & | muy, | ||
LbmFloat & | muz, | ||
LbmFloat | omega, | ||
LbmVec | gravity, | ||
LbmFloat | csmago, | ||
LbmFloat * | newOmegaRet, | ||
LbmFloat * | newQoRet | ||
) | [inline, protected] |
Definition at line 1115 of file solver_relax.h.
References cDfNum, dfDvecX, dfDvecY, dfDvecZ, getCollideEq(), getLesNoneqTensorCoeff(), getLesOmega(), and PRECOLLIDE_MODS.
void LbmFsgrSolver::computeFluidSurfaceNormal | ( | LbmFloat * | cell, |
CellFlagType * | cellflag, | ||
LbmFloat * | snret | ||
) | [protected] |
compute surface normals: fluid, fluid more accurate, and for obstacles
Definition at line 1245 of file solver_main.cpp.
References CellFlagType, CFBnd, CFFluid, CFInter, dFfrac, FsgrLevelData::lOffsx, FsgrLevelData::lOffsy, mLevel, mMaxRefine, QCELLSTEP, and RAC.
Referenced by getMassdWeight(), and mainLoop().
void LbmFsgrSolver::computeFluidSurfaceNormalAcc | ( | LbmFloat * | cell, |
CellFlagType * | cellflag, | ||
LbmFloat * | snret | ||
) | [protected] |
Definition at line 1285 of file solver_main.cpp.
References NULL.
void LbmFsgrSolver::computeObstacleSurfaceNormal | ( | LbmFloat * | cell, |
CellFlagType * | cellflag, | ||
LbmFloat * | snret | ||
) | [protected] |
Definition at line 1290 of file solver_main.cpp.
References CellFlagType, CFBnd, FsgrLevelData::lOffsx, FsgrLevelData::lOffsy, mLevel, mMaxRefine, and NULL.
Referenced by computeObstacleSurfaceNormalAcc(), and handleObstacleParticle().
void LbmFsgrSolver::computeObstacleSurfaceNormalAcc | ( | int | i, |
int | j, | ||
int | k, | ||
LbmFloat * | snret | ||
) | [protected] |
Definition at line 1326 of file solver_main.cpp.
References CellFlagType, computeObstacleSurfaceNormal(), mLevel, mMaxRefine, LbmSolverInterface::mSizex, LbmSolverInterface::mSizey, LbmSolverInterface::mSizez, RACPNT, and RFLAG.
Referenced by handleObstacleParticle().
LbmFsgrSolver::stdCellId * LbmFsgrSolver::convertBaseCidToStdCid | ( | CellIdentifierInterface * | basecid | ) |
Definition at line 1303 of file solver_util.cpp.
Referenced by advanceCell(), getCellDensity(), getCellDf(), getCellFill(), getCellFlag(), getCellLevel(), getCellMass(), getCellOrigin(), getCellSet(), getCellSize(), getCellVelocity(), and noEndCell().
void LbmFsgrSolver::cpDebugDisplay | ( | int | dispset | ) | [protected] |
Definition at line 876 of file solver_control.cpp.
References ControlParticle::avgVel, CPF_MAXDINIT, ControlParticle::densityWeight, credits_svn_gen::e, FSGR_FORIJK_BOUNDS, ControlParticles::getParticle(), ControlParticles::getRadiusAtt(), ControlParticles::getSize(), i, ControlParticle::influence, LBMDIM, LbmControlData::mCons, LbmControlData::mDebugAttScale, LbmControlData::mDebugAvgVelScale, LbmControlData::mDebugCompavScale, LbmControlData::mDebugCpscale, LbmControlData::mDebugMaxdScale, LbmControlData::mDebugVelScale, mLevel, mMaxRefine, mpControl, LbmSolverInterface::mvGeoEnd, LbmSolverInterface::mvGeoStart, ControlParticle::pos, ControlParticle::size, TESTGET_FORCE, and vec2G().
Referenced by lbmDebugDisplay().
void LbmFsgrSolver::debugDisplay | ( | int | set | ) | [virtual] |
show simulation info (implement LbmSolverInterface pure virtual func)
show simulation info (implement SimulationObject pure virtual func)
Implements LbmSolverInterface.
Definition at line 1569 of file solver_util.cpp.
References lbmDebugDisplay().
void LbmFsgrSolver::debugDisplayNode | ( | int | dispset, |
CellIdentifierInterface * | cell | ||
) | [virtual] |
display a single node
Definition at line 1684 of file solver_util.cpp.
References ABS, CellFlagType, CFBnd, CFEmpty, CFFluid, CFGrFromCoarse, CFGrFromFine, CFGrToFine, CFInter, CFInvalid, CFNoBndFluid, CFNoDelete, CFPersistMask, CFUnused, DRAWDISPCUBE, FLUIDDISPCellfills, FLUIDDISPCelltypes, FLUIDDISPDensity, FLUIDDISPGrid, FLUIDDISPNothing, FLUIDDISPVelocities, getCellDensity(), getCellFlag(), getCellMass(), getCellOrigin(), getCellSet(), getCellSize(), getCellVelocity(), MIN, and vec2G().
Referenced by lbmDebugDisplay(), and lbmMarkedCellDisplay().
void LbmFsgrSolver::debugMarkCellCall | ( | int | level, |
int | vi, | ||
int | vj, | ||
int | vk | ||
) | [protected] |
Definition at line 1256 of file solver_util.cpp.
References LbmSolverInterface::addCellToMarkedList(), UniformFsgrCellIdentifier::level, UniformFsgrCellIdentifier::x, UniformFsgrCellIdentifier::y, and UniformFsgrCellIdentifier::z.
void LbmFsgrSolver::debugPrintNodeInfo | ( | CellIdentifierInterface * | cell, |
int | forceSet = -1 |
||
) | [virtual] |
display a single node
Definition at line 1896 of file solver_util.cpp.
References CellFlagType, convertCellFlagType2String(), convertFlags2String(), debMsgStd, dFlux, DM_MSG, DM_NOTIFY, errFatal, CellIdentifierInterface::getAsString(), getCellDensity(), getCellDf(), getCellFlag(), getCellMass(), getCellOrigin(), getCellSet(), getCellSize(), getCellVelocity(), LbmSolverInterface::getName(), LbmSolverInterface::getNodeInfoString(), i, LBM_DFNUM, and SIMWORLD_GENERICERROR.
Referenced by printLbmCell().
void LbmFsgrSolver::deleteCellIterator | ( | CellIdentifierInterface ** | ) | [virtual] |
clean up iteration, this should be called, when the iteration is not completely finished
Implements LbmSolverInterface.
Definition at line 1337 of file solver_util.cpp.
References NULL.
void LbmFsgrSolver::fineAdvance | ( | ) |
advance fine grid
Definition at line 258 of file solver_main.cpp.
References cDfNum, CFFluid, CFGrFromCoarse, CFGrFromFine, CFGrNorm, CFInter, dC, debMsgStd, dfDvecX, dfDvecY, dfDvecZ, DM_NOTIFY, errMsg, FSGR_FORIJK1, Parametrizer::getTimestep(), i, FsgrLevelData::lsteps, mainLoop(), mCurrentMass, mFVArea, mFVHeight, mLevel, mMaxRefine, mMaxVlen, LbmSolverInterface::mpParam, LbmSolverInterface::mSilent, mSimulationTime, mUpdateFVHeight, norm(), PRINT_VEC, printLbmCell(), QCELL, reinitFlags(), RFLAG, FsgrLevelData::setCurr, Parametrizer::setFluidVolumeHeight(), FsgrLevelData::setOther, Parametrizer::setSimulationMaxSpeed(), and sqrt().
Referenced by stepMain().
void LbmFsgrSolver::forceChangeFlag | ( | int | level, |
int | xx, | ||
int | yy, | ||
int | zz, | ||
int | set, | ||
CellFlagType | newflag | ||
) |
Definition at line 917 of file solver_class.h.
References RFLAG.
Referenced by initMovingObstacles().
CellIdentifierInterface * LbmFsgrSolver::getCellAt | ( | ntlVec3Gfx | pos | ) | [virtual] |
find cell at a given position (returns NULL if not in domain)
Implements LbmSolverInterface.
Definition at line 1342 of file solver_util.cpp.
References CFEmpty, CFUnused, LBMDIM, UniformFsgrCellIdentifier::level, mLevel, mMaxRefine, LbmSolverInterface::mvGeoStart, FsgrLevelData::nodeSize, NULL, RFLAG, UniformFsgrCellIdentifier::x, UniformFsgrCellIdentifier::y, and UniformFsgrCellIdentifier::z.
LbmFloat LbmFsgrSolver::getCellDensity | ( | CellIdentifierInterface * | basecid, |
int | set | ||
) | [virtual] |
Implements LbmSolverInterface.
Definition at line 1424 of file solver_util.cpp.
References CFFluid, CFInter, convertBaseCidToStdCid(), FORDF0, UniformFsgrCellIdentifier::level, mLevel, QCELL, RFLAG, FsgrLevelData::simCellSize, FsgrLevelData::timestep, UniformFsgrCellIdentifier::x, UniformFsgrCellIdentifier::y, and UniformFsgrCellIdentifier::z.
Referenced by debugDisplayNode(), and debugPrintNodeInfo().
LbmFloat LbmFsgrSolver::getCellDf | ( | CellIdentifierInterface * | , |
int | set, | ||
int | dir | ||
) | [virtual] |
redundant cell functions
Implements LbmSolverInterface.
Definition at line 1485 of file solver_util.cpp.
References convertBaseCidToStdCid(), UniformFsgrCellIdentifier::level, QCELL, UniformFsgrCellIdentifier::x, UniformFsgrCellIdentifier::y, and UniformFsgrCellIdentifier::z.
Referenced by debugPrintNodeInfo().
LbmFloat LbmFsgrSolver::getCellFill | ( | CellIdentifierInterface * | basecid, |
int | set | ||
) | [virtual] |
Implements LbmSolverInterface.
Definition at line 1493 of file solver_util.cpp.
References CFFluid, CFInter, convertBaseCidToStdCid(), dFfrac, UniformFsgrCellIdentifier::level, QCELL, RFLAG, UniformFsgrCellIdentifier::x, UniformFsgrCellIdentifier::y, and UniformFsgrCellIdentifier::z.
CellFlagType LbmFsgrSolver::getCellFlag | ( | CellIdentifierInterface * | basecid, |
int | set | ||
) | [virtual] |
Implements LbmSolverInterface.
Definition at line 1500 of file solver_util.cpp.
References convertBaseCidToStdCid(), UniformFsgrCellIdentifier::level, RFLAG, UniformFsgrCellIdentifier::x, UniformFsgrCellIdentifier::y, and UniformFsgrCellIdentifier::z.
Referenced by debugDisplayNode(), and debugPrintNodeInfo().
int LbmFsgrSolver::getCellLevel | ( | CellIdentifierInterface * | basecid | ) | [virtual] |
Implements LbmSolverInterface.
Definition at line 1392 of file solver_util.cpp.
References convertBaseCidToStdCid(), and UniformFsgrCellIdentifier::level.
LbmFloat LbmFsgrSolver::getCellMass | ( | CellIdentifierInterface * | basecid, |
int | set | ||
) | [virtual] |
Implements LbmSolverInterface.
Definition at line 1489 of file solver_util.cpp.
References convertBaseCidToStdCid(), dMass, UniformFsgrCellIdentifier::level, QCELL, UniformFsgrCellIdentifier::x, UniformFsgrCellIdentifier::y, and UniformFsgrCellIdentifier::z.
Referenced by debugDisplayNode(), and debugPrintNodeInfo().
ntlVec3Gfx LbmFsgrSolver::getCellOrigin | ( | CellIdentifierInterface * | basecid | ) | [virtual] |
Implements LbmSolverInterface.
Definition at line 1397 of file solver_util.cpp.
References convertBaseCidToStdCid(), getCellSize(), LBMDIM, UniformFsgrCellIdentifier::level, mLevel, LbmSolverInterface::mvGeoStart, FsgrLevelData::nodeSize, UniformFsgrCellIdentifier::x, UniformFsgrCellIdentifier::y, and UniformFsgrCellIdentifier::z.
Referenced by debugDisplayNode(), and debugPrintNodeInfo().
int LbmFsgrSolver::getCellSet | ( | CellIdentifierInterface * | ) | [virtual] |
return node information
Implements LbmSolverInterface.
Definition at line 1386 of file solver_util.cpp.
References convertBaseCidToStdCid(), UniformFsgrCellIdentifier::level, mLevel, and FsgrLevelData::setCurr.
Referenced by debugDisplayNode(), and debugPrintNodeInfo().
ntlVec3Gfx LbmFsgrSolver::getCellSize | ( | CellIdentifierInterface * | basecid | ) | [virtual] |
Implements LbmSolverInterface.
Definition at line 1415 of file solver_util.cpp.
References convertBaseCidToStdCid(), LBMDIM, UniformFsgrCellIdentifier::level, mLevel, and FsgrLevelData::nodeSize.
Referenced by debugDisplayNode(), debugPrintNodeInfo(), and getCellOrigin().
LbmVec LbmFsgrSolver::getCellVelocity | ( | CellIdentifierInterface * | basecid, |
int | set | ||
) | [virtual] |
Implements LbmSolverInterface.
Definition at line 1463 of file solver_util.cpp.
References CFFluid, CFInter, convertBaseCidToStdCid(), dfDvecX, dfDvecY, dfDvecZ, FORDF0, UniformFsgrCellIdentifier::level, mLevel, QCELL, RFLAG, FsgrLevelData::simCellSize, FsgrLevelData::timestep, UniformFsgrCellIdentifier::x, UniformFsgrCellIdentifier::y, and UniformFsgrCellIdentifier::z.
Referenced by debugDisplayNode(), and debugPrintNodeInfo().
LbmFloat LbmFsgrSolver::getCollideEq | ( | int | l, |
LbmFloat | rho, | ||
LbmFloat | ux, | ||
LbmFloat | uy, | ||
LbmFloat | uz | ||
) | [inline, static, protected] |
calculate equilibrium DF for given values
Definition at line 902 of file solver_class.h.
References dfLength, errFatal, getVelVecLen(), LBM_DFNUM, and SIMWORLD_PANIC.
Referenced by adaptTimestep(), coarseRestrictCell(), collideArrays(), initMovingObstacles(), initVelocityCell(), LbmFsgrSolver(), mainLoop(), and reinitFlags().
vector< ntlGeometryObject * > LbmFsgrSolver::getDebugObjects | ( | ) | [virtual] |
check whether to add particle bool checkAddParticle(); void performAddParticle();
debug object display (used e.g. for preview surface)
debug object display
Reimplemented from LbmSolverInterface.
Definition at line 414 of file solver_util.cpp.
References i, LbmSolverInterface::mOutputSurfacePreview, mpPreviewSurface, and mUseTestdata.
LbmFloat LbmFsgrSolver::getEquilDf | ( | int | ) | [virtual] |
get equilibrium distribution functions
Implements LbmSolverInterface.
Definition at line 1505 of file solver_util.cpp.
References dfEquil.
CellIdentifierInterface * LbmFsgrSolver::getFirstCell | ( | ) | [virtual] |
cell iteration methods
Implements LbmSolverInterface.
Definition at line 1284 of file solver_util.cpp.
References CID_SX, CID_SY, CID_SZ, guiRoiMaxLev, UniformFsgrCellIdentifier::level, mMaxRefine, UniformFsgrCellIdentifier::x, UniformFsgrCellIdentifier::y, and UniformFsgrCellIdentifier::z.
Referenced by lbmDebugDisplay().
int LbmFsgrSolver::getForZMax1 | ( | int | lev | ) | [protected] |
Definition at line 974 of file solver_class.h.
References LBMDIM, FsgrLevelData::lSizez, and mLevel.
Referenced by adaptGrid(), coarseAdvance(), coarseRestrictFromFine(), initFreeSurfaces(), initGeometryFlags(), initParticles(), prepareVisualization(), and stepMain().
int LbmFsgrSolver::getForZMaxBnd | ( | int | lev | ) | [protected] |
Definition at line 970 of file solver_class.h.
References LBMDIM, FsgrLevelData::lSizez, and mLevel.
Referenced by handleCpdata(), initParticles(), initStandingFluidGradient(), notifySolverOfDump(), and prepareVisualization().
int LbmFsgrSolver::getForZMin1 | ( | ) | [protected] |
Definition at line 965 of file solver_class.h.
References LBMDIM.
Referenced by adaptGrid(), coarseAdvance(), coarseRestrictFromFine(), initFreeSurfaces(), initGeometryFlags(), prepareVisualization(), and stepMain().
int LbmFsgrSolver::getForZMinBnd | ( | ) | [protected] |
minimal and maximal z-coords (for 2D/3D loops)
Definition at line 962 of file solver_class.h.
Referenced by handleCpdata(), initStandingFluidGradient(), notifySolverOfDump(), and prepareVisualization().
virtual string LbmFsgrSolver::getIdString | ( | ) | [inline, protected, virtual] |
LbmFloat LbmFsgrSolver::getLesNoneqTensorCoeff | ( | LbmFloat | df[], |
LbmFloat | feq[] | ||
) | [inline, protected] |
relaxation LES functions
Definition at line 1069 of file solver_relax.h.
References cDfNum, LBMDIM, lesCoeffDiag, lesCoeffOffdiag, and sqrt().
Referenced by adaptTimestep(), coarseRestrictCell(), and collideArrays().
LbmFloat LbmFsgrSolver::getLesOmega | ( | LbmFloat | omega, |
LbmFloat | csmago, | ||
LbmFloat | Qo | ||
) | [inline, protected] |
Definition at line 1094 of file solver_relax.h.
Referenced by adaptTimestep(), coarseRestrictCell(), and collideArrays().
LbmFloat LbmFsgrSolver::getMassdWeight | ( | bool | dirForw, |
int | i, | ||
int | j, | ||
int | k, | ||
int | workSet, | ||
int | l | ||
) | [protected] |
mass dist weights
Definition at line 1217 of file solver_main.cpp.
References CellFlagType, computeFluidSurfaceNormal(), LBM_EPSILON, mDvecNrm, mMaxRefine, RACPNT, and RFLAG.
Referenced by reinitFlags().
ntlVec3Gfx LbmFsgrSolver::getVelocityAt | ( | float | x, |
float | y, | ||
float | z | ||
) | [virtual] |
get velocity directly from position
Implements LbmSolverInterface.
Definition at line 1510 of file solver_util.cpp.
References cDfNum, CFFluid, CFInter, dfDvecX, dfDvecY, dfDvecZ, dfVecX, dfVecY, dfVecZ, FORDF0, Parametrizer::getCurrentAniFrameTime(), i, LBMDIM, FsgrLevelData::lSizex, FsgrLevelData::lSizez, mLevel, mMaxRefine, LbmSolverInterface::mpParam, LbmSolverInterface::mvGeoStart, FsgrLevelData::nodeSize, RAC, RACPNT, RFLAG, FsgrLevelData::setCurr, and FsgrLevelData::timestep.
LbmFloat LbmFsgrSolver::getVelVecLen | ( | int | l, |
LbmFloat | ux, | ||
LbmFloat | uy, | ||
LbmFloat | uz | ||
) | [inline, static, protected] |
equilibrium functions
calculate length of velocity vector
Definition at line 897 of file solver_class.h.
References dfDvecX, dfDvecY, and dfDvecZ.
Referenced by getCollideEq().
void LbmFsgrSolver::handleCpdata | ( | ) | [protected] |
Definition at line 411 of file solver_control.cpp.
References ABS, ControlParticle::avgVel, ControlParticle::avgVelAcc, ControlParticle::avgVelWeight, BOUNDCHECK, ControlParticles::calculateCpInfluenceOpt(), ControlParticles::calculateKernelWeight(), ControlParticles::calculateMaxdForce(), cDirNum, CellFlagType, CFEmpty, CFFluid, CFInter, CFUnused, ControlForces::compAv, ControlForces::compAvWeight, CPODEBUG, debMsgStd, ControlParticle::density, ControlParticle::densityWeight, dfDvecX, dfDvecY, dfDvecZ, dfVecX, dfVecY, dfVecZ, DM_MSG, credits_svn_gen::e, errMsg, ControlForces::forceAtt, ControlForces::forceMaxd, ControlForces::forceVel, FORDF1, FSGR_FORIJK_BOUNDS, AnimChannel< Scalar >::get(), ControlParticles::getControlTimEnd(), ControlParticles::getControlTimStart(), getForZMaxBnd(), getForZMinBnd(), ControlParticles::getInfluenceMaxdist(), ControlParticles::getParticle(), ControlParticles::getRadiusAtt(), ControlParticles::getRadiusMaxd(), ControlParticles::getRadiusMinMaxd(), ControlParticles::getRadiusVel(), ControlParticles::getSize(), getTime(), Parametrizer::getTimestep(), getTimeString(), i, ControlParticle::influence, KERN, LBMDIM, LBMGET_FORCE, FsgrLevelData::lSizex, FsgrLevelData::lSizey, FsgrLevelData::lSizez, MAX, ControlForces::maxDistance, LbmControlSet::mcCpOffset, LbmControlSet::mcCpScale, LbmControlSet::mcForceAtt, LbmControlSet::mcForceMaxd, LbmControlSet::mcForceVel, LbmControlData::mCons, LbmControlData::mCpForces, LbmControlData::mCpKernel, LbmControlData::mCpUpdateInterval, LbmControlSet::mcRadiusAtt, LbmControlSet::mcRadiusMaxd, LbmControlSet::mcRadiusMind, LbmControlSet::mcRadiusVel, MDKERN, MIN, mLastSimTime, mLevel, mMaxRefine, LbmControlData::mMdKernel, mpControl, LbmSolverInterface::mpParam, mSimulationTime, LbmSolverInterface::mStepCnt, LbmSolverInterface::mTForceStrength, LbmSolverInterface::mvGeoEnd, LbmSolverInterface::mvGeoStart, FsgrLevelData::nodeSize, NOFORCEENTRY, NULL, ControlParticle::pos, ControlParticles::prepareControl(), PRINT_IJK, PRINT_VEC, QCELL, ControlParticle::reset(), ControlForces::resetForces(), RFLAG, FsgrLevelData::setCurr, ControlParticles::setInfluenceAttraction(), ControlParticles::setInfluenceMaxdist(), ControlParticles::setInfluenceVelocity(), ControlParticles::setLastOffset(), ControlParticles::setLastScale(), ControlParticles::setOffset(), ControlParticles::setRadiusAtt(), ControlParticles::setRadiusMaxd(), ControlParticles::setRadiusMinMaxd(), ControlParticles::setRadiusVel(), ControlParticles::setScale(), FsgrLevelData::timestep, vec2L(), ControlParticle::vel, ControlForces::weightAtt, and ControlForces::weightVel.
Referenced by stepMain().
void LbmFsgrSolver::handleObstacleParticle | ( | ParticleObject * | p | ) |
move a particle at a boundary
Definition at line 1145 of file solver_util.cpp.
References ParticleObject::advanceVec(), ParticleObject::advanceVel(), CellFlagType, CFBnd, checkDomainBounds(), computeObstacleSurfaceNormal(), computeObstacleSurfaceNormalAcc(), dot(), ParticleObject::getPos(), ParticleObject::getVel(), LBMDIM, mLevel, mMaxRefine, normalize(), normNoSqrt(), RACPNT, RFLAG, ParticleObject::setActive(), FsgrLevelData::setCurr, ParticleObject::setVel(), vec2G(), and vec2L().
Referenced by advanceParticles().
void LbmFsgrSolver::initCpdata | ( | ) | [protected] |
Definition at line 220 of file solver_control.cpp.
References ControlParticles::calculateKernelWeight(), CFFluid, debMsgStd, DM_MSG, errMsg, FGI_CONTROL, FSGR_FORIJK_BOUNDS, ControlParticles::getCharLength(), ControlParticles::getControlTimEnd(), ControlParticles::getControlTimStart(), ntlGeometryObject::getCpsAttrFRad(), ntlGeometryObject::getCpsAttrFStr(), ntlGeometryObject::getCpsQuality(), ntlGeometryObject::getCpsTimeEnd(), ntlGeometryObject::getCpsTimeStart(), ntlGeometryObject::getCpsVelFRad(), ntlGeometryObject::getCpsVelFStr(), ParticleTracer::getDumpTextInterval(), ntlGeometryObject::getGeoInitType(), ParticleTracer::getNumInitialParticles(), ParticleTracer::getNumParticles(), ControlParticles::getSize(), Parametrizer::getTimestep(), ControlParticles::getTotalSize(), i, LbmControlSet::initCparts(), ControlParticles::initFromTextFile(), LBM_EPSILON, LBMDIM, LONGINT, FsgrLevelData::lSizex, FsgrLevelData::lSizey, FsgrLevelData::lSizez, LbmControlSet::mcForceAtt, LbmControlSet::mcForceVel, LbmControlData::mCons, LbmControlSet::mContrPartFile, LbmControlSet::mCparts, LbmControlData::mCpForces, LbmControlData::mCpOutfile, LbmSolverInterface::mCppfStage, LbmControlSet::mcRadiusAtt, LbmControlSet::mcRadiusVel, mLevel, mMaxRefine, mpControl, LbmSolverInterface::mpGiObjects, LbmSolverInterface::mpParam, LbmSolverInterface::mpParticles, LbmControlData::mSetForceStrength, LbmSolverInterface::mTForceStrength, RFLAG, ControlParticles::setCharLength(), ControlParticles::setCPSMvmWeightFac(), ControlParticles::setCPSTimeEnd(), ControlParticles::setCPSTimeStart(), ControlParticles::setCPSWith(), FsgrLevelData::setCurr, ParticleTracer::setDumpParts(), ParticleTracer::setDumpTextFile(), ParticleTracer::setDumpTextInterval(), ControlParticles::setFluidSpacing(), ControlParticles::setInfluenceVelocity(), ParticleTracer::setNumInitialParticles(), and FsgrLevelData::timestep.
Referenced by initializeSolverPostinit().
void LbmFsgrSolver::initEmptyCell | ( | int | level, |
int | i, | ||
int | j, | ||
int | k, | ||
CellFlagType | flag, | ||
LbmFloat | rho, | ||
LbmFloat | mass | ||
) |
init a given cell with flag, density, mass and equilibrium dist. funcs
Definition at line 928 of file solver_class.h.
References changeFlag(), dfEquil, dFfrac, dFlux, dMass, FLUX_INIT, FORDF0, mLevel, RAC, RACPNT, and FsgrLevelData::setCurr.
Referenced by initFreeSurfaces(), initializeSolverGrids(), initializeSolverMemory(), and initMovingObstacles().
void LbmFsgrSolver::initFreeSurfaces | ( | ) |
init part for all freesurface testcases
Definition at line 1978 of file solver_init.cpp.
References BND_FILL, cDirNum, CFBnd, CFEmpty, CFFluid, CFInter, debMsgStd, dFfrac, dfVecX, dfVecY, dfVecZ, DM_MSG, dMass, FORDF1, FSGR_FORIJK1, FSGR_FORIJK_BOUNDS, getForZMax1(), getForZMin1(), i, initEmptyCell(), initVelocityCell(), interpolateCellValues(), FsgrLevelData::lSizex, FsgrLevelData::lSizey, mInitSurfaceSmoothing, mLevel, mMaxRefine, QCELL, RFLAG, RFLAG_NBINV, FsgrLevelData::setCurr, and FsgrLevelData::setOther.
Referenced by initializeSolverGrids().
bool LbmFsgrSolver::initGeometryFlags | ( | ) |
perform geometry init (if switched on)
Definition at line 1774 of file solver_init.cpp.
References BND_FILL, Parametrizer::calculateAllMissingValues(), Parametrizer::calculateLattVelocityFromRw(), CellFlagType, CFBnd, CFBndFreeslip, CFBndNoslip, CFBndPartslip, CFEmpty, CFFluid, CFInvalid, CFMbndInflow, CFMbndOutflow, debMsgStd, distance(), DM_MSG, FGI_ALLBOUNDS, FGI_BNDFREE, FGI_BNDNO, FGI_BNDPART, FGI_FLUID, FGI_MBNDINFLOW, FGI_MBNDOUTFLOW, LbmSolverInterface::freeGeoTree(), LbmSolverInterface::geoInitCheckPointInside(), getForZMax1(), getForZMin1(), ntlGeometryObject::getGeoInitType(), LbmSolverInterface::getGeoMaxMovementVelocity(), ntlGeometryObject::getIsAnimated(), ntlGeometryObject::getMeshAnimated(), ntlGeometryClass::getName(), GETPOS, Parametrizer::getSimulationMaxSpeed(), Parametrizer::getTadapMaxSpeed(), getTime(), Parametrizer::getTimestep(), getTimeString(), ntlGeometryObject::getVolumeInit(), i, LbmSolverInterface::initGeoTree(), initMovingObstacles(), ntlGeometryObject::initMovingPoints(), initVelocityCell(), LBMDIM, FsgrLevelData::lSizex, FsgrLevelData::lSizey, LbmSolverInterface::mAllfluid, LbmSolverInterface::mLbmInitId, mLevel, mMaxRefine, mObjectSpeeds, LbmSolverInterface::mpGiObjects, LbmSolverInterface::mpParam, LbmSolverInterface::mSilent, mSimulationTime, LbmSolverInterface::mvGeoEnd, LbmSolverInterface::mvGeoStart, norm(), recalculateObjectSpeeds(), RFLAG, Parametrizer::setDesiredTimestep(), Parametrizer::setSimulationMaxSpeed(), vec2G(), vec2P(), and VOLUMEINIT_SHELL.
Referenced by initializeSolverGrids().
bool LbmFsgrSolver::initializeSolverGrids | ( | ) | [virtual] |
init solver arrays
Implements LbmSolverInterface.
Definition at line 1066 of file solver_init.cpp.
References BND_FILL, Parametrizer::calculateCellSize(), CellFlagType, CFBnd, CFBndFreeslip, CFBndNoslip, CFBndPartslip, CFFluid, CFInter, CFInvalid, checkSymmetry(), cross(), debMsgStd, DM_MSG, dMass, errMsg, FORDF1, FSGR_FORIJK1, LbmSolverInterface::getName(), getNormalized(), i, initEmptyCell(), initFreeSurfaces(), initGeometryFlags(), initStandingFluidGradient(), initVelocityCell(), LBMDIM, FsgrLevelData::lSizex, FsgrLevelData::lSizey, FsgrLevelData::lSizez, mCurrentMass, mCurrentVolume, LbmSolverInterface::mDomainBound, LbmSolverInterface::mDomainPartSlipValue, mInitialMass, mLastSimTime, mLevel, mMaxRefine, LbmSolverInterface::mpGiObjects, LbmSolverInterface::mpParam, LbmSolverInterface::mSizex, norm(), NULL, QCELL, and RFLAG.
bool LbmFsgrSolver::initializeSolverMemory | ( | ) | [virtual] |
finish the init with config file values (allocate arrays...)
Implements LbmSolverInterface.
Definition at line 650 of file solver_init.cpp.
References ABS, FsgrLevelData::avgOmega, FsgrLevelData::avgOmegaCnt, Parametrizer::calculateAllMissingValues(), calculateMemreqEstimate(), CellFlagType, CellFlagTypeSize, CFEmpty, CFFluid, COMPRESSGRIDS, debMsgStd, DM_MSG, DM_WARNING, dTotalNum, errFatal, errMsg, FSGR_FORIJK_BOUNDS, FSGR_LISTTRICK, FSGR_LISTTTHRESHEMPTY, FSGR_LISTTTHRESHFULL, FSGR_MAGICNR, FSGR_STRICT_DEBUG, fssgNoBottom, fssgNoEast, fssgNoNorth, fssgNoObs, fssgNormal, fssgNoSouth, fssgNoTop, fssgNoWest, Parametrizer::getCellSize(), IsoSurface::getData(), ntlGeometryObject::getMaterialName(), Parametrizer::getTimestep(), glob_mpactive, glob_mpindex, glob_mpnum, FsgrLevelData::gravity, i, FsgrLevelData::id, initEmptyCell(), initGridSizes(), IsoSurface::initializeIsosurface(), initLevelOmegas(), LBM_EPSILON, LBMDIM, FsgrLevelData::lcellfactor, FsgrLevelData::lmass, FsgrLevelData::lOffsx, FsgrLevelData::lOffsy, FsgrLevelData::lOffsz, LONGINT, FsgrLevelData::lSizex, FsgrLevelData::lSizey, FsgrLevelData::lSizez, FsgrLevelData::lsteps, FsgrLevelData::lvolume, LbmSolverInterface::mAllfluid, MASS_INVALID, mAvgNumUsedCells, LbmSolverInterface::mCppfStage, LbmSolverInterface::mFarFieldSize, LbmSolverInterface::mFixMass, mForceTadapRefine, mFsSurfGenSetting, mFVHeight, LbmSolverInterface::mInitDone, LbmSolverInterface::mIsoSubdivs, LbmSolverInterface::mIsoValue, mIsoWeight, mIsoWeightMethod, mLevel, mMaxRefine, mMaxTimestep, mMinTimestep, LbmSolverInterface::mOutputSurfacePreview, LbmSolverInterface::mpIso, LbmSolverInterface::mpParam, mpPreviewSurface, LbmSolverInterface::mPreviewFactor, FsgrLevelData::mprsCells, FsgrLevelData::mprsFlags, mSimulationTime, LbmSolverInterface::mSizex, LbmSolverInterface::mSizey, LbmSolverInterface::mSizez, LbmSolverInterface::mSmoothNormals, LbmSolverInterface::mSmoothSurface, mUseTestdata, LbmSolverInterface::mvGeoEnd, LbmSolverInterface::mvGeoStart, FsgrLevelData::nodeSize, NULL, FsgrLevelData::omega, OPT3D, PARALLEL, preinitGrids(), PRINT_VEC, RFLAG, FsgrLevelData::setCurr, IsoSurface::setEnd(), Parametrizer::setFluidVolumeHeight(), IsoSurface::setIsolevel(), ntlGeometryObject::setMaterialName(), ntlGeometryClass::setName(), FsgrLevelData::setOther, Parametrizer::setSimulationMaxSpeed(), Parametrizer::setSize(), IsoSurface::setSmoothNormals(), IsoSurface::setSmoothSurface(), IsoSurface::setStart(), IsoSurface::setSubdivs(), Parametrizer::setTadapLevels(), IsoSurface::setUseFulledgeArrays(), ntlGeometryClass::setVisible(), FsgrLevelData::simCellSize, SIMWORLD_GENERICERROR, SIMWORLD_INITERROR, sqrt(), FsgrLevelData::time, FsgrLevelData::timestep, USE_LES, vec2G(), and vec2L().
bool LbmFsgrSolver::initializeSolverPostinit | ( | ) | [virtual] |
prepare actual simulation start, setup viz etc
Implements LbmSolverInterface.
Definition at line 1230 of file solver_init.cpp.
References adaptGrid(), cDirNum, coarseRestrictFromFine(), debMsgStd, dfVecX, dfVecY, dfVecZ, DM_MSG, FSGR_FORIJK_BOUNDS, IsoSurface::getSmoothNormals(), IsoSurface::getSmoothSurface(), IsoSurface::getSubdivs(), getTime(), getTimeString(), i, initCpdata(), initParticles(), LBMDIM, LbmSolverInterface::markedClearList(), mCutoff, mFsgrCellArea, LbmSolverInterface::mInitDone, mLevel, mMaxRefine, mNumFsgrChanges, LbmSolverInterface::mPartDropMassSub, LbmSolverInterface::mpIso, LbmSolverInterface::mpParticles, LbmSolverInterface::mSilent, LbmSolverInterface::mSmoothNormals, LbmSolverInterface::mSmoothSurface, prepareVisualization(), RFLAG, IsoSurface::setParticles(), and stepMain().
void LbmFsgrSolver::initInterfaceVars | ( | int | level, |
int | i, | ||
int | j, | ||
int | k, | ||
int | workSet, | ||
bool | initMass | ||
) |
Definition at line 1001 of file solver_class.h.
References dFfrac, dFlux, dMass, FLUX_INIT, FORDF0, QCELL, and RAC.
Referenced by reinitFlags().
void LbmFsgrSolver::initLevelOmegas | ( | ) |
Initialize omegas and forces on all levels (for init/timestep change)
Definition at line 553 of file solver_init.cpp.
References Parametrizer::calculateGravity(), Parametrizer::calculateOmega(), debMsgStd, DM_MSG, errFatal, errMsg, Parametrizer::getTimestep(), FsgrLevelData::gravity, i, FsgrLevelData::lcnu, FsgrLevelData::lcsmago, FsgrLevelData::lcsmago_sqr, mDfScaleDown, mDfScaleUp, LbmSolverInterface::mGravity, mInit2dYZ, LbmSolverInterface::mInitDone, mInitialCsmago, mLastGravity, mLastOmega, mLevel, mMaxRefine, LbmSolverInterface::mOmega, LbmSolverInterface::mpParam, LbmSolverInterface::mSilent, mSimulationTime, LbmSolverInterface::mSurfaceTension, norm(), FsgrLevelData::omega, OPT3D, SIMWORLD_INITERROR, SWAPYZ, FsgrLevelData::timestep, and vec2L().
Referenced by adaptTimestep(), initializeSolverMemory(), and stepMain().
void LbmFsgrSolver::initMovingObstacles | ( | bool | staticInit | ) | [protected] |
init moving obstacles for next sim step sim
Definition at line 1362 of file solver_init.cpp.
References ntlGeometryObject::applyTransformation(), BND_FILL, Parametrizer::calculateLattVelocityFromRw(), ntlGeometryObject::calculateMaxVel(), CellFlagType, CFBnd, CFBndFreeslip, CFBndMoving, CFBndNoslip, CFBndPartslip, CFEmpty, CFFluid, CFInter, CFInvalid, CFMbndInflow, CFMbndOutflow, CFNoBndFluid, CFNoInterpolSrc, CFNoPersistMask, changeFlag(), dC, debMsgStd, dfDvecX, dfDvecY, dfDvecZ, dFfrac, dfLength, dFlux, DM_MSG, DM_WARNING, dMass, errMsg, FGI_ALLBOUNDS, FGI_BNDFREE, FGI_BNDNO, FGI_BNDPART, FGI_FLUID, FGI_MBNDINFLOW, FGI_MBNDOUTFLOW, FLUX_INIT, forceChangeFlag(), FORDF0, FORDF1, getCollideEq(), ntlGeometryObject::getGeoActive(), ntlGeometryObject::getGeoImpactFactor(), ntlGeometryClass::getGeoInitId(), ntlGeometryObject::getGeoInitType(), ntlGeometryObject::getIsAnimated(), ntlGeometryObject::getMeshAnimated(), ntlGeometryObject::getMovingPoints(), ntlGeometryClass::getName(), getTime(), Parametrizer::getTimestep(), getTimeString(), i, initEmptyCell(), ntlGeometryObject::initMovingPointsAnim(), initVelocityCell(), interpolateCellValues(), LBMDIM, LbmSolverInterface::mInitDone, mInitialMass, mLastSimTime, LbmSolverInterface::mLbmInitId, mLevel, mListEmpty, mMaxRefine, mMaxVlen, mMOINormals, mMOIVertices, mMOIVerticesOld, mMxvx, mMxvy, mMxvz, mObjectMassMovnd, mObjectSpeeds, LbmSolverInterface::mpGiObjects, LbmSolverInterface::mpParam, mSimulationTime, LbmSolverInterface::mvGeoEnd, LbmSolverInterface::mvGeoStart, normNoSqrt(), NULL, OBJVEL_CALC, POS2GRID_CHECK, QCELL, RAC, RACPNT, RFLAG, RFLAG_NB, FsgrLevelData::setCurr, FsgrLevelData::setOther, USQRMAXCHECK, vec2L(), vec2P(), LbmPoint::x, LbmPoint::y, and LbmPoint::z.
Referenced by initGeometryFlags(), and stepMain().
int LbmFsgrSolver::initParticles | ( | ) | [virtual] |
init particle positions
Implements LbmSolverInterface.
Definition at line 434 of file solver_util.cpp.
References ParticleTracer::addParticle(), CFNoBndFluid, CFUnused, debMsgStd, DM_MSG, errMsg, getForZMax1(), getForZMaxBnd(), ParticleTracer::getInitEnd(), ParticleTracer::getInitStart(), ParticleTracer::getLast(), ParticleTracer::getNumParticles(), ParticleObject::getPos(), ParticleObject::getSize(), i, LBMDIM, FsgrLevelData::lSizex, FsgrLevelData::lSizey, FsgrLevelData::lSizez, mLevel, mMaxRefine, LbmSolverInterface::mPartGenProb, LbmSolverInterface::mpParticles, LbmSolverInterface::mSizex, LbmSolverInterface::mSizey, mUseTestdata, LbmSolverInterface::mvGeoEnd, LbmSolverInterface::mvGeoStart, PART_BUBBLE, PART_DROP, PART_FLOAT, PART_IN, PART_TRACER, PRINT_VEC, RFLAG, FsgrLevelData::setCurr, ParticleTracer::setEnd(), ParticleObject::setLifeTime(), ParticleTracer::setSimEnd(), ParticleTracer::setSimStart(), ParticleObject::setSize(), ParticleTracer::setStart(), ParticleObject::setStatus(), and ParticleObject::setType().
Referenced by initializeSolverPostinit().
void LbmFsgrSolver::initStandingFluidGradient | ( | ) |
init density gradient if enabled
Definition at line 2101 of file solver_init.cpp.
References ABS, CellFlagType, CFBnd, CFBndMoving, CFEmpty, CFFluid, CFInter, CFNoBndFluid, debMsgStd, DM_MSG, dMass, errMsg, FORDF0, FORDF1, getForZMaxBnd(), getForZMinBnd(), getTime(), getTimeString(), GRAVLOOP, i, LBM_DFNUM, LBMDIM, FsgrLevelData::lSizex, FsgrLevelData::lSizey, FsgrLevelData::lSizez, mDisableStandingFluidInit, mLevel, mMaxRefine, mUseTestdata, FsgrLevelData::omega, PRINT_IJK, PRINT_VEC, QCELL, RFLAG, RFLAG_NB, FsgrLevelData::setCurr, SRCS, standingFluidPreinit(), and TSET.
Referenced by initializeSolverGrids().
void LbmFsgrSolver::initVelocityCell | ( | int | level, |
int | i, | ||
int | j, | ||
int | k, | ||
CellFlagType | flag, | ||
LbmFloat | rho, | ||
LbmFloat | mass, | ||
LbmVec | vel | ||
) |
Definition at line 946 of file solver_class.h.
References changeFlag(), dFfrac, dFlux, dMass, FLUX_INIT, FORDF0, getCollideEq(), mLevel, RAC, RACPNT, and FsgrLevelData::setCurr.
Referenced by initFreeSurfaces(), initGeometryFlags(), initializeSolverGrids(), and initMovingObstacles().
void LbmFsgrSolver::interpolateCellFromCoarse | ( | int | lev, |
int | i, | ||
int | j, | ||
int | k, | ||
int | dstSet, | ||
LbmFloat | t, | ||
CellFlagType | flagSet, | ||
bool | markNbs | ||
) | [protected] |
cell is interpolated from coarse level (inited into set, source sets are determined by t)
Definition at line 845 of file solver_adap.cpp.
References ADD_INT_DFS, CAUSE_PANIC, CFFluid, CFGrFromCoarse, CFUnused, dfVecX, dfVecY, dfVecZ, errFatal, FORDF1, IDF_WRITEBACK, LBM_DFNUM, mNumInterdCells, RFLAG, SIMWORLD_GENERICERROR, WO1D1, WO1D2, and WO1D3.
Referenced by adaptGrid(), coarseAdvance(), and mainLoop().
void LbmFsgrSolver::interpolateCellValues | ( | int | level, |
int | ei, | ||
int | ej, | ||
int | ek, | ||
int | workSet, | ||
LbmFloat & | retrho, | ||
LbmFloat & | retux, | ||
LbmFloat & | retuy, | ||
LbmFloat & | retuz | ||
) |
interpolate velocity and density at a given position
Definition at line 2328 of file solver_init.cpp.
References cDfNum, CFFluid, CFInter, CFNoInterpolSrc, dfDvecX, dfDvecY, dfDvecZ, errMsg, nbdf, PRINT_VEC, QCELL_NB, and RFLAG_NB.
Referenced by initFreeSurfaces(), initMovingObstacles(), and reinitFlags().
void LbmFsgrSolver::lbmDebugDisplay | ( | int | dispset | ) | [virtual] |
debug display function
Implements LbmSolverInterface.
Definition at line 1845 of file solver_util.cpp.
References advanceCell(), cpDebugDisplay(), debugDisplayNode(), FLUIDDISPNothing, getFirstCell(), mUseTestdata, and noEndCell().
Referenced by debugDisplay().
void LbmFsgrSolver::lbmMarkedCellDisplay | ( | ) | [virtual] |
debug display function
Implements LbmSolverInterface.
Definition at line 1877 of file solver_util.cpp.
References debugDisplayNode(), FLUIDDISPGrid, LbmSolverInterface::markedAdvanceCell(), and LbmSolverInterface::markedGetFirstCell().
void LbmFsgrSolver::mainLoop | ( | int | lev | ) | [protected] |
fine step function
Definition at line 358 of file solver_main.cpp.
References ABS, add(), CAUSE_PANIC, cDfNum, CellFlagType, CFBnd, CFBndNoslip, CFEmpty, CFFluid, CFGrFromCoarse, CFInter, CFMbndInflow, CFMbndOutflow, CFNoBndFluid, CFNoDelete, CFNoInterpolSrc, CFNoNbEmpty, CFNoNbFluid, CFUnused, changeFlag(), computeFluidSurfaceNormal(), dB, dC, dE, dEB, DEFAULT_COLLIDEG, DEFAULT_STREAM, dET, dfDvecX, dfDvecY, dfDvecZ, dFfrac, dfInv, dfLength, dFlux, dMass, dN, dNB, dNE, dNT, dNW, dS, dSB, dSE, dST, dSW, dT, dW, dWB, dWT, EQB, EQE, EQEB, EQET, EQN, EQNB, EQNE, EQNT, EQNW, EQS, EQSB, EQSE, EQST, EQSW, EQT, EQW, EQWB, EQWT, errMsg, LbmPoint::flag, FLUX_INIT, FORDF0, FORDF1, FSGR_ADDPART, FSGR_LISTTTHRESHEMPTY, FSGR_LISTTTHRESHFULL, FSGR_MAGICNR, getCollideEq(), ParticleObject::getMass(), FsgrLevelData::gravity, GRID_LOOP_START, GRID_LOOPREG_END, GRID_REGION_INIT, GRID_REGION_START, i, interpolateCellFromCoarse(), LBM_DFNUM, LBM_EPSILON, LIST_EMPTY, LIST_FULL, FsgrLevelData::lmass, FsgrLevelData::lOffsx, FsgrLevelData::lOffsy, FsgrLevelData::lSizex, FsgrLevelData::lSizey, FsgrLevelData::lvolume, mCutoff, LbmSolverInterface::mInitDone, mInitialMass, mLevel, mMaxRefine, LbmSolverInterface::mNumEmptiedCells, LbmSolverInterface::mNumFilledCells, mNumInvIfCells, LbmSolverInterface::mNumUsedCells, mObjectSpeeds, LbmSolverInterface::mPartDropMassSub, LbmSolverInterface::mPartGenProb, LbmSolverInterface::mPartUsePhysModel, LbmSolverInterface::mSizex, LbmSolverInterface::mSizey, LbmSolverInterface::mSizez, LbmSolverInterface::mStepCnt, mUseTestdata, MYDF, nbdf, norm(), normalize(), OPTIMIZED_STREAMCOLLIDE, P_LCSMQO, PART_DROP, PART_IN, PERFORM_USQRMAXCHECK, PRINT_IJK, QCELL, QCELL_NB, RAC, REFERENCE_PRESSURE, RFLAG, RFLAG_NB, RWVEL_THRESH, RWVEL_WINDTHRESH, ParticleObject::setSize(), ParticleObject::setStatus(), ParticleObject::setType(), ParticleObject::setVel(), FsgrLevelData::simCellSize, SLOWDOWNREGION, SRCS, FsgrLevelData::timestep, TSET, LbmPoint::x, LbmPoint::y, and LbmPoint::z.
Referenced by fineAdvance().
bool LbmFsgrSolver::noEndCell | ( | CellIdentifierInterface * | basecid | ) | [virtual] |
Implements LbmSolverInterface.
Definition at line 1332 of file solver_util.cpp.
References convertBaseCidToStdCid(), and CellIdentifierInterface::getEnd().
Referenced by lbmDebugDisplay().
void LbmFsgrSolver::notifySolverOfDump | ( | int | dumptype, |
int | frameNr, | ||
char * | frameNrStr, | ||
string | outfilename | ||
) | [virtual] |
notify object that dump is in progress (e.g. for field dump)
Implements LbmSolverInterface.
Definition at line 1059 of file solver_util.cpp.
References CFFluid, CFInter, dFfrac, getForZMaxBnd(), getForZMinBnd(), i, IsoSurface::lbmGetData(), FsgrLevelData::lSizex, FsgrLevelData::lSizey, LbmSolverInterface::mDumpRawBinary, LbmSolverInterface::mDumpRawBinaryZip, LbmSolverInterface::mDumpRawText, mLevel, mMaxRefine, LbmSolverInterface::mpIso, LbmSolverInterface::mSizex, LbmSolverInterface::mSizey, LbmSolverInterface::mSizez, prepareVisualization(), QCELL, RFLAG, FsgrLevelData::setCurr, and simple_enum_gen::val.
void LbmFsgrSolver::parseAttrList | ( | void | ) | [virtual] |
initilize variables fom attribute list
Implements LbmSolverInterface.
Definition at line 459 of file solver_init.cpp.
References debMsgStd, DM_NOTIFY, DM_WARNING, errMsg, FSGR_MAXNOOFLEVELS, glob_mpactive, glob_mpindex, glob_mpnum, mDisableStandingFluidInit, LbmSolverInterface::mDomainBound, LbmSolverInterface::mDomainPartSlipValue, LbmSolverInterface::mFarFieldSize, mForceTadapRefine, mFsSurfGenSetting, mFVArea, mFVHeight, mInit2dYZ, mInitialCsmago, mInitSurfaceSmoothing, mIsoWeightMethod, mMaxRefine, LbmSolverInterface::mOutputSurfacePreview, mpControl, LbmSolverInterface::mpIso, LbmSolverInterface::mpSifAttrs, LbmSolverInterface::mRefinementDesired, mSimulationTime, LbmSolverInterface::mSmoothNormals, LbmSolverInterface::mSmoothSurface, mTimeAdap, mUseTestdata, LbmControlData::parseControldataAttrList(), LbmSolverInterface::parseStdAttrList(), AttributeList::readBool(), AttributeList::readFloat(), AttributeList::readInt(), AttributeList::readString(), and ntlGeometryObject::setMaterialName().
void LbmFsgrSolver::preinitGrids | ( | ) | [protected] |
Definition at line 1111 of file solver_main.cpp.
References dTotalNum, GRID_LOOP_START, GRID_LOOPREG_END, GRID_REGION_INIT, GRID_REGION_START, mLevel, mMaxRefine, RAC, FsgrLevelData::setCurr, and FsgrLevelData::setOther.
Referenced by initializeSolverMemory().
void LbmFsgrSolver::prepareVisualization | ( | void | ) | [virtual] |
for raytracing, preprocess
for raytracing
Reimplemented from LbmSolverInterface.
Definition at line 39 of file solver_util.cpp.
References CellFlagType, CFBnd, CFEmpty, CFFluid, CFInter, CFNoBndFluid, CFNoNbEmpty, CFUnused, dFfrac, dfVecX, dfVecY, dfVecZ, dot(), FORDF1, fssgNoBottom, fssgNoEast, fssgNoNorth, fssgNoObs, fssgNoSouth, fssgNoTop, fssgNoWest, getForZMax1(), getForZMaxBnd(), getForZMin1(), getForZMinBnd(), glob_mpactive, glob_mpindex, glob_mpnum, i, LBMDIM, IsoSurface::lbmGetData(), FsgrLevelData::lSizex, FsgrLevelData::lSizey, LbmSolverInterface::mFarFieldSize, mFsSurfGenSetting, LbmSolverInterface::mIsoValue, mIsoWeight, mLevel, mMaxRefine, LbmSolverInterface::mOutputSurfacePreview, LbmSolverInterface::mpIso, mpPreviewSurface, LbmSolverInterface::mPreviewFactor, LbmSolverInterface::mSizex, LbmSolverInterface::mSizey, LbmSolverInterface::mSizez, QCELL, IsoSurface::resetAll(), RFLAG, RFLAG_NB, FsgrLevelData::setCurr, simple_enum_gen::val, ZKD1, and ZKOFF.
Referenced by initializeSolverPostinit(), and notifySolverOfDump().
void LbmFsgrSolver::printLbmCell | ( | int | level, |
int | i, | ||
int | j, | ||
int | k, | ||
int | set | ||
) | [protected] |
internal quick print function (for debugging)
Definition at line 1244 of file solver_util.cpp.
References debugPrintNodeInfo(), i, UniformFsgrCellIdentifier::level, UniformFsgrCellIdentifier::x, UniformFsgrCellIdentifier::y, and UniformFsgrCellIdentifier::z.
Referenced by fineAdvance().
void LbmFsgrSolver::recalculateObjectSpeeds | ( | ) | [protected] |
init mObjectSpeeds for current parametrization
calculate speeds of fluid objects (or inflow)
Definition at line 366 of file solver_util.cpp.
References Parametrizer::calculateLattVelocityFromRw(), errFatal, errMsg, i, LbmSolverInterface::mDomainPartSlipValue, mLevel, mMaxRefine, mObjectPartslips, mObjectSpeeds, LbmSolverInterface::mpGiObjects, LbmSolverInterface::mpParam, mSimulationTime, pow(), SIMWORLD_INITERROR, FsgrLevelData::timestep, vec2L(), and vec2P().
Referenced by adaptTimestep(), and initGeometryFlags().
void LbmFsgrSolver::reinitFlags | ( | int | workSet | ) | [protected] |
flag reinit step - always works on finest grid!
Definition at line 1369 of file solver_main.cpp.
References addToNewInterList(), cDfNum, CellFlagType, CFBndNoslip, CFEmpty, CFFluid, CFInter, CFNoBndFluid, CFNoDelete, CFNoInterpolSrc, CFNoNbEmpty, CFNoNbFluid, changeFlag(), convertCellFlagType2String(), dC, dFfrac, dfVecX, dfVecY, dfVecZ, dMass, errMsg, FORDF0M, FORDF1, getCollideEq(), getMassdWeight(), i, initInterfaceVars(), interpolateCellValues(), LBM_DFNUM, LBMDIM, FsgrLevelData::lSizey, FsgrLevelData::lSizez, LbmSolverInterface::mFixMass, mLevel, mListEmpty, mListFull, mListNewInter, mMaxRefine, PRINT_IJK, PRINT_VEC, QCELL, RFLAG, and RFLAG_NB.
Referenced by fineAdvance().
void LbmFsgrSolver::setSurfGenSettings | ( | short | value | ) | [virtual] |
Implements LbmSolverInterface.
Definition at line 544 of file solver_init.cpp.
References mFsSurfGenSetting.
void LbmFsgrSolver::standingFluidPreinit | ( | ) | [protected] |
Definition at line 1151 of file solver_main.cpp.
References CellFlagType, CFBnd, CFEmpty, CFInter, CFNoBndFluid, DEFAULT_COLLIDEG, DEFAULT_STREAM, dTotalNum, FORDF1, GRID_LOOP_START, GRID_LOOPREG_END, GRID_REGION_INIT, GRID_REGION_START, i, LBM_DFNUM, mLevel, mMaxRefine, OPTIMIZED_STREAMCOLLIDE, RAC, RFLAG_NB, FsgrLevelData::setCurr, FsgrLevelData::setOther, and SRCS.
Referenced by initStandingFluidGradient().
void LbmFsgrSolver::step | ( | void | ) | [virtual] |
Implements LbmSolverInterface.
Definition at line 31 of file solver_main.cpp.
References stepMain().
void LbmFsgrSolver::stepMain | ( | ) |
perform a single LBM step
Definition at line 37 of file solver_main.cpp.
References ABS, adaptGrid(), adaptTimestep(), advanceParticles(), FsgrLevelData::avgOmega, FsgrLevelData::avgOmegaCnt, CAUSE_PANIC, CFFluid, CFGrFromCoarse, CFGrFromFine, CFGrNorm, CFInter, ParticleTracer::checkDumpTextPositions(), ParticleTracer::checkTrails(), coarseAdvance(), coarseRestrictFromFine(), debMsgDirect, debMsgStd, dFfrac, DM_MSG, DM_NOTIFY, dMass, credits_svn_gen::e, errMsg, fineAdvance(), FORDF0, FSGR_FORIJK1, getForZMax1(), getForZMin1(), getTime(), getTimeString(), glob_mpindex, handleCpdata(), i, initLevelOmegas(), initMovingObstacles(), FsgrLevelData::lmass, LONGINT, FsgrLevelData::lSizex, FsgrLevelData::lvolume, LbmSolverInterface::markedClearList(), mAvgMLSUPS, mAvgMLSUPSCnt, mAvgNumUsedCells, mCurrentMass, mCurrentVolume, messageOutputForce(), LbmSolverInterface::mFixMass, LbmSolverInterface::mInitDone, mInitialMass, mLevel, mMaxNoCells, mMaxRefine, mMaxVlen, mMinNoCells, LbmSolverInterface::mMLSUPS, mMxvx, mMxvy, mMxvz, LbmSolverInterface::mName, LbmSolverInterface::mNumEmptiedCells, LbmSolverInterface::mNumFilledCells, mNumFsgrChanges, mNumInterdCells, mNumInvIfCells, mNumInvIfTotal, mNumProblems, LbmSolverInterface::mNumUsedCells, LbmSolverInterface::mpParticles, LbmSolverInterface::mSilent, mSimulationTime, LbmSolverInterface::mStepCnt, mTimeAdap, mTimeSwitchCounts, mUseTestdata, PRINT_VEC, QCELL, RFLAG, and FsgrLevelData::setCurr.
Referenced by initializeSolverPostinit(), and step().
const LbmFloat LbmFsgrSolver::cCollenOne = (1.0/18.0) [protected] |
Definition at line 569 of file solver_class.h.
const LbmFloat LbmFsgrSolver::cCollenSqrtTwo = (1.0/36.0) [protected] |
Definition at line 570 of file solver_class.h.
const LbmFloat LbmFsgrSolver::cCollenZero = (1.0/3.0) [protected] |
Definition at line 568 of file solver_class.h.
const int LbmFsgrSolver::cDfNum = 19 [protected] |
size of a single set of distribution functions
Definition at line 579 of file solver_class.h.
Referenced by adaptTimestep(), collideArrays(), fineAdvance(), getLesNoneqTensorCoeff(), getVelocityAt(), interpolateCellValues(), LbmFsgrSolver(), mainLoop(), and reinitFlags().
const int LbmFsgrSolver::cDimension = 3 [protected] |
how many dimensions? UNUSED? replace by LBMDIM?
common variables
3D implementation D3Q19 how many dimensions?
Definition at line 565 of file solver_class.h.
const int LbmFsgrSolver::cDirNum = 27 [protected] |
direction vector contain vecs for all spatial dirs, even if not used for LBM model
Definition at line 581 of file solver_class.h.
Referenced by adaptGrid(), coarseCalculateFluxareas(), coarseRestrictCell(), handleCpdata(), initFreeSurfaces(), initializeSolverPostinit(), and LbmFsgrSolver().
const LbmFloat LbmFsgrSolver::cMagicNr = 1.010001 [protected] |
Definition at line 575 of file solver_class.h.
const LbmFloat LbmFsgrSolver::cMagicNr2 = 1.0005 [protected] |
threshold value for filled/emptied cells
Definition at line 573 of file solver_class.h.
const LbmFloat LbmFsgrSolver::cMagicNr2Neg = -0.0005 [protected] |
Definition at line 574 of file solver_class.h.
const LbmFloat LbmFsgrSolver::cMagicNrNeg = -0.010001 [protected] |
Definition at line 576 of file solver_class.h.
const LbmFloat LbmFsgrSolver::dfDvecX [protected] |
{ 0, 0,0, 1,-1, 0,0, 1,-1,1,-1, 0,0,0,0, 1,1,-1,-1, 1,-1, 1,-1, 1,-1, 1,-1 }
arrays as before with doubles
Definition at line 637 of file solver_class.h.
Referenced by adaptTimestep(), advanceParticles(), coarseRestrictCell(), collideArrays(), fineAdvance(), getCellVelocity(), getVelocityAt(), getVelVecLen(), handleCpdata(), initMovingObstacles(), interpolateCellValues(), LbmFsgrSolver(), and mainLoop().
const LbmFloat LbmFsgrSolver::dfDvecY [protected] |
{ 0, 1,-1, 0,0,0,0, 1,1,-1,-1, 1,1,-1,-1, 0,0,0,0, 1, 1,-1,-1, 1, 1,-1,-1 }
Definition at line 638 of file solver_class.h.
Referenced by adaptTimestep(), advanceParticles(), coarseRestrictCell(), collideArrays(), fineAdvance(), getCellVelocity(), getVelocityAt(), getVelVecLen(), handleCpdata(), initMovingObstacles(), interpolateCellValues(), LbmFsgrSolver(), and mainLoop().
const LbmFloat LbmFsgrSolver::dfDvecZ [protected] |
{ 0, 0,0,0,0,1,-1, 0,0,0,0, 1,-1,1,-1, 1,-1,1,-1, 1, 1, 1, 1, -1,-1,-1,-1 }
Definition at line 639 of file solver_class.h.
Referenced by adaptTimestep(), advanceParticles(), coarseRestrictCell(), collideArrays(), fineAdvance(), getCellVelocity(), getVelocityAt(), getVelVecLen(), handleCpdata(), initMovingObstacles(), interpolateCellValues(), LbmFsgrSolver(), and mainLoop().
LbmFloat LbmFsgrSolver::dfEquil [static, protected] |
equilibrium distribution functions, precalculated = getCollideEq(i, 0,0,0,0)
Definition at line 650 of file solver_class.h.
Referenced by getEquilDf(), initEmptyCell(), and LbmFsgrSolver().
const int LbmFsgrSolver::dfInv [protected] |
{ cDirC, cDirS, cDirN, cDirW, cDirE, cDirB, cDirT, cDirSW, cDirSE, cDirNW, cDirNE, cDirSB, cDirST, cDirNB, cDirNT, cDirWB, cDirWT, cDirEB, cDirET }
index of inverse dist func, not fast, but useful...
Definition at line 622 of file solver_class.h.
Referenced by LbmFsgrSolver(), and mainLoop().
const LbmFloat LbmFsgrSolver::dfLength [protected] |
{ cCollenZero, cCollenOne, cCollenOne, cCollenOne, cCollenOne, cCollenOne, cCollenOne, cCollenSqrtTwo, cCollenSqrtTwo, cCollenSqrtTwo, cCollenSqrtTwo, cCollenSqrtTwo, cCollenSqrtTwo, cCollenSqrtTwo, cCollenSqrtTwo, cCollenSqrtTwo, cCollenSqrtTwo, cCollenSqrtTwo, cCollenSqrtTwo }
vector lengths
Definition at line 647 of file solver_class.h.
Referenced by getCollideEq(), initMovingObstacles(), and mainLoop().
const int LbmFsgrSolver::dfNorm [protected] |
const int LbmFsgrSolver::dfRefX [protected] |
const int LbmFsgrSolver::dfRefY [protected] |
const int LbmFsgrSolver::dfRefZ [protected] |
const char * LbmFsgrSolver::dfString [protected] |
{ " C", " N"," S"," E"," W"," T"," B", "NE","NW","SE","SW", "NT","NB","ST","SB", "ET","EB","WT","WB" }
name of the dist. function only for nicer output
Definition at line 616 of file solver_class.h.
const int LbmFsgrSolver::dfVecX [protected] |
{ 0, 0,0, 1,-1, 0,0, 1,-1,1,-1, 0,0,0,0, 1,1,-1,-1, 1,-1, 1,-1, 1,-1, 1,-1, }
dist func vectors
Definition at line 632 of file solver_class.h.
Referenced by adaptGrid(), coarseCalculateFluxareas(), coarseRestrictCell(), getVelocityAt(), handleCpdata(), initFreeSurfaces(), initializeSolverPostinit(), interpolateCellFromCoarse(), LbmFsgrSolver(), prepareVisualization(), and reinitFlags().
const int LbmFsgrSolver::dfVecY [protected] |
{ 0, 1,-1, 0,0,0,0, 1,1,-1,-1, 1,1,-1,-1, 0,0,0,0, 1, 1,-1,-1, 1, 1,-1,-1 }
Definition at line 633 of file solver_class.h.
Referenced by adaptGrid(), coarseCalculateFluxareas(), coarseRestrictCell(), getVelocityAt(), handleCpdata(), initFreeSurfaces(), initializeSolverPostinit(), interpolateCellFromCoarse(), LbmFsgrSolver(), prepareVisualization(), and reinitFlags().
const int LbmFsgrSolver::dfVecZ [protected] |
{ 0, 0,0,0,0,1,-1, 0,0,0,0, 1,-1,1,-1, 1,-1,1,-1, 1, 1, 1, 1, -1,-1,-1,-1 }
Definition at line 634 of file solver_class.h.
Referenced by adaptGrid(), coarseCalculateFluxareas(), coarseRestrictCell(), getVelocityAt(), handleCpdata(), initFreeSurfaces(), initializeSolverPostinit(), interpolateCellFromCoarse(), LbmFsgrSolver(), prepareVisualization(), and reinitFlags().
LbmFloat LbmFsgrSolver::lesCoeffDiag [static, protected] |
arrays for les model coefficients
arrays for les model coefficients, inited in lbmsolver constructor
Definition at line 653 of file solver_class.h.
Referenced by getLesNoneqTensorCoeff(), and LbmFsgrSolver().
LbmFloat LbmFsgrSolver::lesCoeffOffdiag [static, protected] |
Definition at line 654 of file solver_class.h.
Referenced by getLesNoneqTensorCoeff(), and LbmFsgrSolver().
double LbmFsgrSolver::mAvgMLSUPS [protected] |
Definition at line 369 of file solver_class.h.
Referenced by stepMain(), and ~LbmFsgrSolver().
double LbmFsgrSolver::mAvgMLSUPSCnt [protected] |
Definition at line 370 of file solver_class.h.
Referenced by stepMain(), and ~LbmFsgrSolver().
LONGINT LbmFsgrSolver::mAvgNumUsedCells [protected] |
Definition at line 438 of file solver_class.h.
Referenced by initializeSolverMemory(), and stepMain().
LbmFloat LbmFsgrSolver::mCurrentMass [protected] |
mass calculated during streaming step
Definition at line 361 of file solver_class.h.
Referenced by adaptTimestep(), fineAdvance(), initializeSolverGrids(), and stepMain().
LbmFloat LbmFsgrSolver::mCurrentVolume [protected] |
Definition at line 362 of file solver_class.h.
Referenced by adaptTimestep(), initializeSolverGrids(), and stepMain().
int LbmFsgrSolver::mCutoff [protected] |
border cutoff value
Definition at line 493 of file solver_class.h.
Referenced by advanceParticles(), initializeSolverPostinit(), and mainLoop().
LbmFloat LbmFsgrSolver::mDebugOmegaRet [protected] |
LES stats for non OPT3D
Definition at line 475 of file solver_class.h.
LbmFloat LbmFsgrSolver::mDfScaleDown [protected] |
Definition at line 465 of file solver_class.h.
Referenced by initLevelOmegas().
LbmFloat LbmFsgrSolver::mDfScaleUp [protected] |
df scale factors for level up/down
Definition at line 465 of file solver_class.h.
Referenced by coarseRestrictCell(), and initLevelOmegas().
int LbmFsgrSolver::mDisableStandingFluidInit [protected] |
debug function to disable standing f init
Definition at line 487 of file solver_class.h.
Referenced by initStandingFluidGradient(), and parseAttrList().
LbmVec LbmFsgrSolver::mDvecNrm[27] [protected] |
normalized vectors for all neighboring cell directions (for e.g. massdweight calc)
Definition at line 431 of file solver_class.h.
Referenced by getMassdWeight(), and LbmFsgrSolver().
int LbmFsgrSolver::mForceTadapRefine [protected] |
debug function to force tadap syncing
Definition at line 491 of file solver_class.h.
Referenced by initializeSolverMemory(), and parseAttrList().
bool LbmFsgrSolver::mForceTimeStepReduce [protected] |
force smaller timestep for next LBM step? (eg for mov obj)
Definition at line 378 of file solver_class.h.
Referenced by adaptTimestep().
LbmFloat LbmFsgrSolver::mFsgrCellArea[27] [protected] |
precomputed cell area values
Definition at line 468 of file solver_class.h.
Referenced by coarseCalculateFluxareas(), and initializeSolverPostinit().
int LbmFsgrSolver::mFsSurfGenSetting [protected] |
Definition at line 402 of file solver_class.h.
Referenced by initializeSolverMemory(), parseAttrList(), prepareVisualization(), and setSurfGenSettings().
LbmFloat LbmFsgrSolver::mFVArea [protected] |
Definition at line 382 of file solver_class.h.
Referenced by fineAdvance(), and parseAttrList().
LbmFloat LbmFsgrSolver::mFVHeight [protected] |
fluid vol height
Definition at line 381 of file solver_class.h.
Referenced by fineAdvance(), initializeSolverMemory(), and parseAttrList().
LbmFloat LbmFsgrSolver::mGaussw[27] [protected] |
restriction interpolation weights
Definition at line 470 of file solver_class.h.
Referenced by coarseRestrictCell(), and LbmFsgrSolver().
LbmFloat LbmFsgrSolver::mGfxEndTime [protected] |
force quit for gfx
Definition at line 386 of file solver_class.h.
bool LbmFsgrSolver::mInit2dYZ [protected] |
init 2d with skipped Y/Z coords
Definition at line 489 of file solver_class.h.
Referenced by initLevelOmegas(), and parseAttrList().
float LbmFsgrSolver::mInitialCsmago [protected] |
LES C_smago paramter for finest grid
Definition at line 473 of file solver_class.h.
Referenced by initLevelOmegas(), and parseAttrList().
LbmFloat LbmFsgrSolver::mInitialMass [protected] |
Definition at line 363 of file solver_class.h.
Referenced by initializeSolverGrids(), initMovingObstacles(), mainLoop(), and stepMain().
int LbmFsgrSolver::mInitSurfaceSmoothing [protected] |
smoother surface initialization?
Definition at line 388 of file solver_class.h.
Referenced by initFreeSurfaces(), and parseAttrList().
float LbmFsgrSolver::mIsoWeight[27] [protected] |
Definition at line 454 of file solver_class.h.
Referenced by initializeSolverMemory(), and prepareVisualization().
int LbmFsgrSolver::mIsoWeightMethod [protected] |
get isofield weights
Definition at line 453 of file solver_class.h.
Referenced by initializeSolverMemory(), and parseAttrList().
LbmVec LbmFsgrSolver::mLastGravity [protected] |
Definition at line 478 of file solver_class.h.
Referenced by adaptTimestep(), and initLevelOmegas().
LbmFloat LbmFsgrSolver::mLastOmega [protected] |
remember last init for animated params
Definition at line 477 of file solver_class.h.
Referenced by adaptTimestep(), and initLevelOmegas().
LbmFloat LbmFsgrSolver::mLastSimTime [protected] |
Definition at line 412 of file solver_class.h.
Referenced by handleCpdata(), initializeSolverGrids(), and initMovingObstacles().
FsgrLevelData LbmFsgrSolver::mLevel[FSGR_MAXNOOFLEVELS] [protected] |
vector for the data for each level
Definition at line 459 of file solver_class.h.
Referenced by adaptGrid(), adaptTimestep(), advanceParticles(), checkDomainBounds(), checkDomainBoundsPos(), checkSymmetry(), coarseAdvance(), coarseCalculateFluxareas(), coarseRestrictCell(), coarseRestrictFromFine(), computeFluidSurfaceNormal(), computeObstacleSurfaceNormal(), computeObstacleSurfaceNormalAcc(), cpDebugDisplay(), fineAdvance(), getCellAt(), getCellDensity(), getCellOrigin(), getCellSet(), getCellSize(), getCellVelocity(), getForZMax1(), getForZMaxBnd(), getVelocityAt(), handleCpdata(), handleObstacleParticle(), initCpdata(), initEmptyCell(), initFreeSurfaces(), initGeometryFlags(), initializeSolverGrids(), initializeSolverMemory(), initializeSolverPostinit(), initLevelOmegas(), initMovingObstacles(), initParticles(), initStandingFluidGradient(), initVelocityCell(), mainLoop(), notifySolverOfDump(), preinitGrids(), prepareVisualization(), recalculateObjectSpeeds(), reinitFlags(), standingFluidPreinit(), stepMain(), and ~LbmFsgrSolver().
vector<LbmPoint> LbmFsgrSolver::mListEmpty [protected] |
list of the cells to empty at the end of the step
Definition at line 419 of file solver_class.h.
Referenced by initMovingObstacles(), and reinitFlags().
vector<LbmPoint> LbmFsgrSolver::mListFull [protected] |
list of the cells to make fluid at the end of the step
Definition at line 421 of file solver_class.h.
Referenced by reinitFlags().
vector<LbmPoint> LbmFsgrSolver::mListNewInter [protected] |
list of new interface cells to init
Definition at line 423 of file solver_class.h.
Referenced by addToNewInterList(), and reinitFlags().
int LbmFsgrSolver::mMaxNoCells [protected] |
kepp track of max/min no. of filled cells
Definition at line 437 of file solver_class.h.
Referenced by stepMain().
int LbmFsgrSolver::mMaxRefine [protected] |
minimal and maximal refinement levels
Definition at line 462 of file solver_class.h.
Referenced by adaptGrid(), adaptTimestep(), advanceParticles(), checkSymmetry(), coarseAdvance(), coarseRestrictFromFine(), computeFluidSurfaceNormal(), computeObstacleSurfaceNormal(), computeObstacleSurfaceNormalAcc(), cpDebugDisplay(), fineAdvance(), getCellAt(), getFirstCell(), getMassdWeight(), getVelocityAt(), handleCpdata(), handleObstacleParticle(), initCpdata(), initFreeSurfaces(), initGeometryFlags(), initializeSolverGrids(), initializeSolverMemory(), initializeSolverPostinit(), initLevelOmegas(), initMovingObstacles(), initParticles(), initStandingFluidGradient(), mainLoop(), notifySolverOfDump(), parseAttrList(), preinitGrids(), prepareVisualization(), recalculateObjectSpeeds(), reinitFlags(), standingFluidPreinit(), stepMain(), and ~LbmFsgrSolver().
LbmFloat LbmFsgrSolver::mMaxTimestep [protected] |
Definition at line 414 of file solver_class.h.
Referenced by adaptTimestep(), and initializeSolverMemory().
LbmFloat LbmFsgrSolver::mMaxVlen [protected] |
Definition at line 416 of file solver_class.h.
Referenced by fineAdvance(), initMovingObstacles(), and stepMain().
int LbmFsgrSolver::mMinNoCells [protected] |
Definition at line 437 of file solver_class.h.
Referenced by stepMain().
LbmFloat LbmFsgrSolver::mMinTimestep [protected] |
smallest and largest step size so far
Definition at line 414 of file solver_class.h.
Referenced by adaptTimestep(), and initializeSolverMemory().
vector<ntlVec3Gfx> LbmFsgrSolver::mMOINormals [protected] |
Definition at line 450 of file solver_class.h.
Referenced by initMovingObstacles().
vector<ntlVec3Gfx> LbmFsgrSolver::mMOIVertices [protected] |
permanent movobj vert storage
Definition at line 448 of file solver_class.h.
Referenced by initMovingObstacles().
vector<ntlVec3Gfx> LbmFsgrSolver::mMOIVerticesOld [protected] |
Definition at line 449 of file solver_class.h.
Referenced by initMovingObstacles().
LbmFloat LbmFsgrSolver::mMxvx [protected] |
track max. velocity
Definition at line 416 of file solver_class.h.
Referenced by initMovingObstacles(), and stepMain().
LbmFloat LbmFsgrSolver::mMxvy [protected] |
Definition at line 416 of file solver_class.h.
Referenced by initMovingObstacles(), and stepMain().
LbmFloat LbmFsgrSolver::mMxvz [protected] |
Definition at line 416 of file solver_class.h.
Referenced by initMovingObstacles(), and stepMain().
int LbmFsgrSolver::mNumFsgrChanges [protected] |
Definition at line 484 of file solver_class.h.
Referenced by adaptGrid(), initializeSolverPostinit(), and stepMain().
int LbmFsgrSolver::mNumInterdCells [protected] |
fluid stats
Definition at line 481 of file solver_class.h.
Referenced by coarseRestrictFromFine(), interpolateCellFromCoarse(), and stepMain().
int LbmFsgrSolver::mNumInvIfCells [protected] |
Definition at line 482 of file solver_class.h.
Referenced by mainLoop(), and stepMain().
int LbmFsgrSolver::mNumInvIfTotal [protected] |
Definition at line 483 of file solver_class.h.
Referenced by stepMain().
int LbmFsgrSolver::mNumProblems [protected] |
count problematic cases, that occured so far...
Definition at line 366 of file solver_class.h.
Referenced by stepMain().
vector<LbmFloat> LbmFsgrSolver::mObjectMassMovnd [protected] |
moving object mass boundary condition values
Definition at line 445 of file solver_class.h.
Referenced by initMovingObstacles().
vector<LbmFloat> LbmFsgrSolver::mObjectPartslips [protected] |
partslip bc. values for obstacle boundary conditions
Definition at line 443 of file solver_class.h.
Referenced by recalculateObjectSpeeds().
vector<LbmVec> LbmFsgrSolver::mObjectSpeeds [protected] |
precalculated objects speeds for current parametrization
Definition at line 441 of file solver_class.h.
Referenced by initGeometryFlags(), initMovingObstacles(), mainLoop(), and recalculateObjectSpeeds().
LbmControlData* LbmFsgrSolver::mpControl [protected] |
Definition at line 509 of file solver_class.h.
Referenced by cpDebugDisplay(), handleCpdata(), initCpdata(), LbmFsgrSolver(), parseAttrList(), and ~LbmFsgrSolver().
IsoSurface* LbmFsgrSolver::mpPreviewSurface [protected] |
Mcubes object for surface reconstruction.
Definition at line 373 of file solver_class.h.
Referenced by getDebugObjects(), initializeSolverMemory(), prepareVisualization(), and ~LbmFsgrSolver().
LbmFloat LbmFsgrSolver::mSimulationTime [protected] |
total simulation time so far
Definition at line 412 of file solver_class.h.
Referenced by adaptTimestep(), advanceParticles(), fineAdvance(), handleCpdata(), initGeometryFlags(), initializeSolverMemory(), initLevelOmegas(), initMovingObstacles(), parseAttrList(), recalculateObjectSpeeds(), and stepMain().
bool LbmFsgrSolver::mTimeAdap [protected] |
use time adaptivity?
Definition at line 376 of file solver_class.h.
Referenced by parseAttrList(), and stepMain().
int LbmFsgrSolver::mTimeMaxvelStepCnt [protected] |
Definition at line 409 of file solver_class.h.
Referenced by adaptTimestep().
int LbmFsgrSolver::mTimestepReduceLock [protected] |
lock time step down switching
Definition at line 405 of file solver_class.h.
Referenced by adaptTimestep().
int LbmFsgrSolver::mTimeSwitchCounts [protected] |
count no. of switches
Definition at line 407 of file solver_class.h.
Referenced by adaptTimestep(), and stepMain().
bool LbmFsgrSolver::mUpdateFVHeight [protected] |
Definition at line 383 of file solver_class.h.
Referenced by fineAdvance().
bool LbmFsgrSolver::mUseTestdata [protected] |
Definition at line 515 of file solver_class.h.
Referenced by adaptTimestep(), getDebugObjects(), initializeSolverMemory(), initParticles(), initStandingFluidGradient(), lbmDebugDisplay(), mainLoop(), parseAttrList(), and stepMain().
const int LbmFsgrSolver::princDirX [protected] |
{ 1,-1, 0,0, 0,0 }
principal directions
Definition at line 642 of file solver_class.h.
const int LbmFsgrSolver::princDirY [protected] |
{ 0,0, 1,-1, 0,0 }
Definition at line 643 of file solver_class.h.
const int LbmFsgrSolver::princDirZ [protected] |
{ 0,0, 0,0, 1,-1 }
Definition at line 644 of file solver_class.h.