Blender V2.61 - r43446
Classes | Defines

solver_class.h File Reference

#include "utilities.h"
#include "solver_interface.h"
#include "ntl_ray.h"
#include <stdio.h>
#include "solver_control.h"

Go to the source code of this file.

Classes

class  UniformFsgrCellIdentifier
class  FsgrLevelData
 information needed for each level in the simulation More...
class  LbmFsgrSolver
class  LbmFsgrSolver::lbmFloatSet
 class for handling redist weights in reinit flag function More...

Defines

#define PARALLEL   0
#define FSGR_STRICT_DEBUG   0
 debug coordinate accesses and the like? (much slower)
#define FSGR_OMEGA_DEBUG   0
 debug coordinate accesses and the like? (much slower)
#define USE_LES   1
 OPT3D quick LES on/off, only debug/benchmarking.
#define OPT3D   1
 order of interpolation (0=always current/1=interpolate/2=always other)
#define MASS_INVALID   -1000.0
 invalid mass value for unused mass data
#define FSGR_LISTTRICK   1
#define FSGR_LISTTTHRESHEMPTY   0.10
#define FSGR_LISTTTHRESHFULL   0.90
#define FSGR_MAGICNR   0.025
#define FSGR_MAXNOOFLEVELS   5
 maxmimum no. of grid levels
#define COMPRESSGRIDS   1
#define GFX_FLOATNEQ(x, y)   ( ABS((x)-(y)) > (VECTOR_EPSILON) )
#define LBM_FLOATNEQ(x, y)   ( ABS((x)-(y)) > (10.0*LBM_EPSILON) )
#define FORDF0   for(int l= 0; l< LBM_DFNUM; ++l)
#define FORDF1   for(int l= 1; l< LBM_DFNUM; ++l)
#define FORDF0M   for(int m= 0; m< LBM_DFNUM; ++m)
#define FORDF1M   for(int m= 1; m< LBM_DFNUM; ++m)
#define ISOCORR   3
#define LBM_INLINED   inline
#define STCON   static const
 shorten static const definitions
#define debugMarkCell(lev, x, y, z)   debugMarkCellCall((lev),(x),(y),(z));
#define _LBMGI(level, ii, ij, ik, is)   ( (mLevel[level].lOffsy*(ik)) + (mLevel[level].lOffsx*(ij)) + (ii) )
#define _RFLAG(level, xx, yy, zz, set)   mLevel[level].mprsFlags[set][ LBMGI((level),(xx),(yy),(zz),(set)) ]
 flag array acces macro
#define _RFLAG_NB(level, xx, yy, zz, set, dir)   mLevel[level].mprsFlags[set][ LBMGI((level),(xx)+this->dfVecX[dir],(yy)+this->dfVecY[dir],(zz)+this->dfVecZ[dir],set) ]
#define _RFLAG_NBINV(level, xx, yy, zz, set, dir)   mLevel[level].mprsFlags[set][ LBMGI((level),(xx)+this->dfVecX[this->dfInv[dir]],(yy)+this->dfVecY[this->dfInv[dir]],(zz)+this->dfVecZ[this->dfInv[dir]],set) ]
#define _LBMQI(level, ii, ij, ik, is, lunused)   ( (mLevel[level].lOffsy*(ik)) + (mLevel[level].lOffsx*(ij)) + (ii) )
#define _QCELL(level, xx, yy, zz, set, l)   (mLevel[level].mprsCells[(set)][ LBMQI((level),(xx),(yy),(zz),(set), l)*dTotalNum +(l)])
#define _QCELL_NB(level, xx, yy, zz, set, dir, l)   (mLevel[level].mprsCells[(set)][ LBMQI((level),(xx)+this->dfVecX[dir],(yy)+this->dfVecY[dir],(zz)+this->dfVecZ[dir],set, l)*dTotalNum +(l)])
#define _QCELL_NBINV(level, xx, yy, zz, set, dir, l)   (mLevel[level].mprsCells[(set)][ LBMQI((level),(xx)+this->dfVecX[this->dfInv[dir]],(yy)+this->dfVecY[this->dfInv[dir]],(zz)+this->dfVecZ[this->dfInv[dir]],set, l)*dTotalNum +(l)])
#define QCELLSTEP   dTotalNum
#define _RACPNT(level, ii, ij, ik, is)   &QCELL(level,ii,ij,ik,is,0)
#define _RAC(s, l)   (s)[(l)]
#define LBMGI(level, ii, ij, ik, is)   _LBMGI(level,ii,ij,ik, is)
#define RFLAG(level, xx, yy, zz, set)   _RFLAG(level,xx,yy,zz,set)
#define RFLAG_NB(level, xx, yy, zz, set, dir)   _RFLAG_NB(level,xx,yy,zz,set, dir)
#define RFLAG_NBINV(level, xx, yy, zz, set, dir)   _RFLAG_NBINV(level,xx,yy,zz,set, dir)
#define LBMQI(level, ii, ij, ik, is, l)   _LBMQI(level,ii,ij,ik, is, l)
#define QCELL(level, xx, yy, zz, set, l)   _QCELL(level,xx,yy,zz,set,l)
#define QCELL_NB(level, xx, yy, zz, set, dir, l)   _QCELL_NB(level,xx,yy,zz,set, dir, l)
#define QCELL_NBINV(level, xx, yy, zz, set, dir, l)   _QCELL_NBINV(level,xx,yy,zz,set, dir,l)
#define RACPNT(level, ii, ij, ik, is)   _RACPNT(level, ii,ij,ik, is )
#define RAC(s, l)   _RAC(s,l)
#define FLAGISEXACT(flag, compflag)   ((flag & compflag)==compflag)
#define dC   0
#define dN   1
#define dS   2
#define dE   3
#define dW   4
#define dT   5
#define dB   6
#define dNE   7
#define dNW   8
#define dSE   9
#define dSW   10
#define dNT   11
#define dNB   12
#define dST   13
#define dSB   14
#define dET   15
#define dEB   16
#define dWT   17
#define dWB   18
#define FLUX_INIT   0.5f * (float)(this->cDfNum)
#define dNET   19
#define dNWT   20
#define dSET   21
#define dSWT   22
#define dNEB   23
#define dNWB   24
#define dSEB   25
#define dSWB   26
#define BND_FILL   0.0
 fill value for boundary cells
#define DFL1   (1.0/ 3.0)
#define DFL2   (1.0/18.0)
#define DFL3   (1.0/36.0)
#define FSGR_FORIJK_BOUNDS(leveli)
#define FSGR_FORIJK1(leveli)

Detailed Description

Definition in file solver_class.h.


Define Documentation

#define _LBMGI (   level,
  ii,
  ij,
  ik,
  is 
)    ( (mLevel[level].lOffsy*(ik)) + (mLevel[level].lOffsx*(ij)) + (ii) )

Definition at line 768 of file solver_class.h.

#define _LBMQI (   level,
  ii,
  ij,
  ik,
  is,
  lunused 
)    ( (mLevel[level].lOffsy*(ik)) + (mLevel[level].lOffsx*(ij)) + (ii) )

Definition at line 777 of file solver_class.h.

#define _QCELL (   level,
  xx,
  yy,
  zz,
  set,
 
)    (mLevel[level].mprsCells[(set)][ LBMQI((level),(xx),(yy),(zz),(set), l)*dTotalNum +(l)])

Definition at line 778 of file solver_class.h.

#define _QCELL_NB (   level,
  xx,
  yy,
  zz,
  set,
  dir,
 
)    (mLevel[level].mprsCells[(set)][ LBMQI((level),(xx)+this->dfVecX[dir],(yy)+this->dfVecY[dir],(zz)+this->dfVecZ[dir],set, l)*dTotalNum +(l)])

Definition at line 779 of file solver_class.h.

#define _QCELL_NBINV (   level,
  xx,
  yy,
  zz,
  set,
  dir,
 
)    (mLevel[level].mprsCells[(set)][ LBMQI((level),(xx)+this->dfVecX[this->dfInv[dir]],(yy)+this->dfVecY[this->dfInv[dir]],(zz)+this->dfVecZ[this->dfInv[dir]],set, l)*dTotalNum +(l)])

Definition at line 780 of file solver_class.h.

#define _RAC (   s,
 
)    (s)[(l)]

Definition at line 784 of file solver_class.h.

#define _RACPNT (   level,
  ii,
  ij,
  ik,
  is 
)    &QCELL(level,ii,ij,ik,is,0)

Definition at line 783 of file solver_class.h.

#define _RFLAG (   level,
  xx,
  yy,
  zz,
  set 
)    mLevel[level].mprsFlags[set][ LBMGI((level),(xx),(yy),(zz),(set)) ]

flag array acces macro

Definition at line 771 of file solver_class.h.

#define _RFLAG_NB (   level,
  xx,
  yy,
  zz,
  set,
  dir 
)    mLevel[level].mprsFlags[set][ LBMGI((level),(xx)+this->dfVecX[dir],(yy)+this->dfVecY[dir],(zz)+this->dfVecZ[dir],set) ]

Definition at line 772 of file solver_class.h.

#define _RFLAG_NBINV (   level,
  xx,
  yy,
  zz,
  set,
  dir 
)    mLevel[level].mprsFlags[set][ LBMGI((level),(xx)+this->dfVecX[this->dfInv[dir]],(yy)+this->dfVecY[this->dfInv[dir]],(zz)+this->dfVecZ[this->dfInv[dir]],set) ]

Definition at line 773 of file solver_class.h.

#define BND_FILL   0.0
#define COMPRESSGRIDS   1

Definition at line 81 of file solver_class.h.

Referenced by LbmFsgrSolver::initializeSolverMemory().

#define dB   6
#define dC   0
#define dE   3
#define dEB   16

Definition at line 850 of file solver_class.h.

Referenced by LbmFsgrSolver::coarseRestrictCell(), and LbmFsgrSolver::mainLoop().

#define debugMarkCell (   lev,
  x,
  y,
 
)    debugMarkCellCall((lev),(x),(y),(z));
#define dET   15

Definition at line 849 of file solver_class.h.

Referenced by LbmFsgrSolver::coarseRestrictCell(), and LbmFsgrSolver::mainLoop().

#define DFL1   (1.0/ 3.0)

Definition at line 872 of file solver_class.h.

#define DFL2   (1.0/18.0)

Definition at line 873 of file solver_class.h.

#define DFL3   (1.0/36.0)

Definition at line 874 of file solver_class.h.

#define dN   1
#define dNB   12

Definition at line 846 of file solver_class.h.

Referenced by LbmFsgrSolver::coarseRestrictCell(), and LbmFsgrSolver::mainLoop().

#define dNE   7

Definition at line 841 of file solver_class.h.

Referenced by LbmFsgrSolver::coarseRestrictCell(), and LbmFsgrSolver::mainLoop().

#define dNEB   23

Definition at line 864 of file solver_class.h.

#define dNET   19

Definition at line 860 of file solver_class.h.

#define dNT   11

Definition at line 845 of file solver_class.h.

Referenced by LbmFsgrSolver::coarseRestrictCell(), and LbmFsgrSolver::mainLoop().

#define dNW   8

Definition at line 842 of file solver_class.h.

Referenced by LbmFsgrSolver::coarseRestrictCell(), and LbmFsgrSolver::mainLoop().

#define dNWB   24

Definition at line 865 of file solver_class.h.

#define dNWT   20

Definition at line 861 of file solver_class.h.

#define dS   2
#define dSB   14

Definition at line 848 of file solver_class.h.

Referenced by LbmFsgrSolver::coarseRestrictCell(), and LbmFsgrSolver::mainLoop().

#define dSE   9

Definition at line 843 of file solver_class.h.

Referenced by LbmFsgrSolver::coarseRestrictCell(), and LbmFsgrSolver::mainLoop().

#define dSEB   25

Definition at line 866 of file solver_class.h.

#define dSET   21

Definition at line 862 of file solver_class.h.

#define dST   13

Definition at line 847 of file solver_class.h.

Referenced by LbmFsgrSolver::coarseRestrictCell(), and LbmFsgrSolver::mainLoop().

#define dSW   10

Definition at line 844 of file solver_class.h.

Referenced by LbmFsgrSolver::coarseRestrictCell(), and LbmFsgrSolver::mainLoop().

#define dSWB   26

Definition at line 867 of file solver_class.h.

#define dSWT   22

Definition at line 863 of file solver_class.h.

#define dT   5
#define dW   4
#define dWB   18

Definition at line 852 of file solver_class.h.

Referenced by LbmFsgrSolver::coarseRestrictCell(), and LbmFsgrSolver::mainLoop().

#define dWT   17

Definition at line 851 of file solver_class.h.

Referenced by LbmFsgrSolver::coarseRestrictCell(), and LbmFsgrSolver::mainLoop().

#define FLAGISEXACT (   flag,
  compflag 
)    ((flag & compflag)==compflag)

Definition at line 820 of file solver_class.h.

#define FLUX_INIT   0.5f * (float)(this->cDfNum)
#define FORDF0   for(int l= 0; l< LBM_DFNUM; ++l)
#define FORDF0M   for(int m= 0; m< LBM_DFNUM; ++m)

Definition at line 95 of file solver_class.h.

Referenced by LbmFsgrSolver::reinitFlags().

#define FORDF1   for(int l= 1; l< LBM_DFNUM; ++l)
#define FORDF1M   for(int m= 1; m< LBM_DFNUM; ++m)

Definition at line 96 of file solver_class.h.

#define FSGR_FORIJK1 (   leveli)
Value:
for(int k= getForZMin1(); k< getForZMax1(leveli); ++k) \
   for(int j=1;j<mLevel[leveli].lSizey-1;++j) \
    for(int i=1;i<mLevel[leveli].lSizex-1;++i) \

Definition at line 883 of file solver_class.h.

Referenced by LbmFsgrSolver::adaptTimestep(), LbmFsgrSolver::checkSymmetry(), LbmFsgrSolver::fineAdvance(), LbmFsgrSolver::initFreeSurfaces(), LbmFsgrSolver::initializeSolverGrids(), and LbmFsgrSolver::stepMain().

#define FSGR_FORIJK_BOUNDS (   leveli)
Value:
for(int k= getForZMinBnd(); k< getForZMaxBnd(leveli); ++k) \
   for(int j=0;j<mLevel[leveli].lSizey-0;++j) \
    for(int i=0;i<mLevel[leveli].lSizex-0;++i) \

Definition at line 877 of file solver_class.h.

Referenced by LbmFsgrSolver::coarseCalculateFluxareas(), LbmFsgrSolver::cpDebugDisplay(), LbmFsgrSolver::handleCpdata(), LbmFsgrSolver::initCpdata(), LbmFsgrSolver::initFreeSurfaces(), LbmFsgrSolver::initializeSolverMemory(), and LbmFsgrSolver::initializeSolverPostinit().

#define FSGR_LISTTRICK   1

Definition at line 69 of file solver_class.h.

Referenced by LbmFsgrSolver::initializeSolverMemory().

#define FSGR_LISTTTHRESHEMPTY   0.10
#define FSGR_LISTTTHRESHFULL   0.90
#define FSGR_MAGICNR   0.025
#define FSGR_MAXNOOFLEVELS   5

maxmimum no. of grid levels

Definition at line 76 of file solver_class.h.

Referenced by LbmFsgrSolver::adaptTimestep(), and LbmFsgrSolver::parseAttrList().

#define FSGR_OMEGA_DEBUG   0

debug coordinate accesses and the like? (much slower)

Definition at line 41 of file solver_class.h.

#define FSGR_STRICT_DEBUG   0

debug coordinate accesses and the like? (much slower)

Definition at line 37 of file solver_class.h.

Referenced by LbmSolverInterface::initGeoTree(), LbmFsgrSolver::initializeSolverMemory(), and ntlScene::prepareScene().

#define GFX_FLOATNEQ (   x,
 
)    ( ABS((x)-(y)) > (VECTOR_EPSILON) )

Definition at line 87 of file solver_class.h.

#define ISOCORR   3

Definition at line 100 of file solver_class.h.

#define LBM_FLOATNEQ (   x,
 
)    ( ABS((x)-(y)) > (10.0*LBM_EPSILON) )

Definition at line 88 of file solver_class.h.

Referenced by LbmFsgrSolver::checkSymmetry().

#define LBM_INLINED   inline

Definition at line 102 of file solver_class.h.

#define LBMGI (   level,
  ii,
  ij,
  ik,
  is 
)    _LBMGI(level,ii,ij,ik, is)

Definition at line 803 of file solver_class.h.

#define LBMQI (   level,
  ii,
  ij,
  ik,
  is,
 
)    _LBMQI(level,ii,ij,ik, is, l)

Definition at line 808 of file solver_class.h.

#define MASS_INVALID   -1000.0

invalid mass value for unused mass data

Definition at line 66 of file solver_class.h.

Referenced by LbmFsgrSolver::initializeSolverMemory().

#define OPT3D   1

order of interpolation (0=always current/1=interpolate/2=always other)

Definition at line 59 of file solver_class.h.

Referenced by LbmFsgrSolver::initializeSolverMemory(), and LbmFsgrSolver::initLevelOmegas().

#define PARALLEL   0

Definition at line 28 of file solver_class.h.

Referenced by LbmFsgrSolver::initializeSolverMemory().

#define QCELL (   level,
  xx,
  yy,
  zz,
  set,
 
)    _QCELL(level,xx,yy,zz,set,l)
#define QCELL_NB (   level,
  xx,
  yy,
  zz,
  set,
  dir,
 
)    _QCELL_NB(level,xx,yy,zz,set, dir, l)
#define QCELL_NBINV (   level,
  xx,
  yy,
  zz,
  set,
  dir,
 
)    _QCELL_NBINV(level,xx,yy,zz,set, dir,l)

Definition at line 811 of file solver_class.h.

#define QCELLSTEP   dTotalNum
#define RAC (   s,
 
)    _RAC(s,l)
#define RACPNT (   level,
  ii,
  ij,
  ik,
  is 
)    _RACPNT(level, ii,ij,ik, is )
#define RFLAG (   level,
  xx,
  yy,
  zz,
  set 
)    _RFLAG(level,xx,yy,zz,set)
#define RFLAG_NB (   level,
  xx,
  yy,
  zz,
  set,
  dir 
)    _RFLAG_NB(level,xx,yy,zz,set, dir)
#define RFLAG_NBINV (   level,
  xx,
  yy,
  zz,
  set,
  dir 
)    _RFLAG_NBINV(level,xx,yy,zz,set, dir)

Definition at line 806 of file solver_class.h.

Referenced by LbmFsgrSolver::initFreeSurfaces().

#define STCON   static const

shorten static const definitions

Definition at line 557 of file solver_class.h.

#define USE_LES   1

OPT3D quick LES on/off, only debug/benchmarking.

Definition at line 44 of file solver_class.h.

Referenced by LbmFsgrSolver::initializeSolverMemory().