-
Notifications
You must be signed in to change notification settings - Fork 15
The "define.h" file
DEBUG and PERFORMANCES
- #define DEBUG
- #define DEBUG_MEMORY
- #define DEBUG_HARD
- #define TIMING mesures the execution time
RANDOM NUMBERS
- #define RANDOM48 enable drand48, may not work on some machines, the default is our random number generator
PARALLEL
- #define NEW_SENDRECV does not use itermediate transfer buffers (DEFAULT OPTION)
OUTPUT
- #define OUTPUT_DIAGN_APPEND write in append mode on all the diagnostic .dat files
- #define OUTPUT_ASCII output fields in ascii format, be careful of big files
- #define OUTPUT_H5 _HDF5 data format output. Shall be used in most of the cases (DEFAULT OPTION)
- #define OUTPUT_H5_GRID write the grid points on the field.h5 files
GRID
- #define GRID_REGULAR mandatory for the streaming simulations
- #define GRID_REFINED for the finite volume simulations: the default refinement is TANH otherwise one can enforce one of the below options
- #define GRID_REFINED_ONESIDED
- #define GRID_REFINED_BULK
- #define GRID_REFINED_CHEBYSHEV
- #define GRID_REFINED_SINH
- #define GRID_REFINED_X activate the direction to be refined
- #define GRID_REFINED_Y
- #define GRID_REFINED_Z
- #define GRID_IRREGULAR_RANDOM just a crazy test (UNSTABLE)
Our default choice is D3Q19 and is defined at the end of this file
- #define GRID_POP_D2Q9 the only option for 2D simulations
- #define GRID_POP_D3Q15
- #define GRID_POP_D3Q19
- #define GRID_POP_D3Q27
LB
- #define LB
FLUID
- #define LB_FLUID
- #define LB_FLUID_PAST
- #define LB_FLUID_INITIAL_KOLMOGOROV
- #define LB_FLUID_INITIAL_POISEUILLE
- #define LB_FLUID_INITIAL_POISEUILLE_HALF
- #define LB_FLUID_INITIAL_CHANNEL
- #define LB_FLUID_INITIAL_VORTICES
- #define LB_FLUID_INITIAL_PERTURBATION
- #define LB_FLUID_INITIAL_LANDSCAPE
- #define LB_INITIAL_BAROMETRIC
- #define LB_INITIAL_BULK
- #define LB_INITIAL_CONSTANT_T_TOP
- #define LB_FLUID_INITIAL_ADD_NOISE
- #define LB_FLUID_INITIAL_UNIT_DENSITY
- #define LB_FLUID_AFTER_INIT_PERTURBATION
- #define LB_FLUID_FORCING /* activate force on the fluid */
- #define LB_FLUID_FORCING_GRAVITY /* request the gravity parameter vector (without actually using it) */
- #define LB_FLUID_FORCING_POISEUILLE /* Constant forcing for flow along x direction */
- #define LB_FLUID_FORCING_CHANNEL /* Constant forcing for turbulent Channnel flow along x */
- #define LB_FLUID_FORCING_CHANNEL_CONSTANT_POWER /* Constant power forcing for turbulent Channnel flow along x */
- #define LB_FLUID_FORCING_KOLMOGOROV
- #define LB_FLUID_FORCING_LANDSCAPE
- #define LB_FLUID_FORCING_PENALIZATION
- #define LB_FLUID_FORCING_PENALIZATION_DIRECTION_X
- #define LB_FLUID_FORCING_DIRECT
- #define LB_FLUID_FORCING_CELLULAR
- #define LB_FLUID_FORCING_CELLULAR_UNSTEADY
- #define LB_FLUID_FORCING_HIT
- #define LB_FLUID_FORCING_HIT_LINEAR
- #define LB_FLUID_FORCING_HIT_ZEROMODE
- #define LB_FLUID_FORCING_HIT_RANDOM
- #define LB_FLUID_FORCING_HIT_TYPE2
- #define LB_FLUID_FORCING_HIT_RECTANGULAR
- #define LB_FLUID_FORCING_ABSORB
- #define LB_FLUID_FORCING_NOZEROMODE
- #define LB_FLUID_FORCING_CONSTANT_POWER
- #define LB_FLUID_FORCING_LAPLACIAN
Landscape definitions in the domain
- #define LB_FLUID_FORCING_LANDSCAPE
- #define LB_FLUID_FORCING_LANDSCAPE_CYLINDER
- #define LB_FLUID_FORCING_LANDSCAPE_CUBE
- #define LB_FLUID_FORCING_LANDSCAPE_BUILDINGS
BOUNDARY CONDITIONS
-
#define LB_FLUID_BC
-
#define LB_FLUID_BC_Y /* default fluid bc is no-slip */
-
#define LB_FLUID_BC_Y_M_SLIP
-
#define LB_FLUID_BC_Y_P_SLIP
-
#define LB_FLUID_BC_Y_M_JET
-
#define LB_FLUID_BC_Y_P_OUTLET
-
#define LB_FLUID_BC_Y_M_VELOCITY
-
#define LB_FLUID_BC_Y_P_VELOCITY
-
#define LB_FLUID_BC_X
-
#define LB_FLUID_BC_X_M_SLIP
-
#define LB_FLUID_BC_X_P_SLIP
-
#define LB_FLUID_BC_X_M_INLET
-
#define LB_FLUID_BC_X_M_INLET_POISEUILLE
-
#define LB_FLUID_BC_X_M_INLET_POISEUILLE_HALF
-
#define LB_FLUID_BC_X_M_INLET_CONSTANT
-
#define LB_FLUID_BC_X_M_OUTLET
-
#define LB_FLUID_BC_X_P_OUTLET
-
#define LB_FLUID_BC_Z
-
#define LB_FLUID_BC_Z_M_SLIP
-
#define LB_FLUID_BC_Z_P_SLIP
-
#define LB_FLUID_BC_Z_M_OUTLET
-
#define LB_FLUID_BC_Z_P_OUTLET
METHODS for time stepping or convective term
For smooth simulations activate either METHOD_FINITE_VOLUME or METHOD_STREAMING */
-
#define METHOD_FINITE_VOLUME
-
#define METHOD_STREAMING
-
#define METHOD_TRT
-
#define METHOD_REDEFINED_POP
-
#define METHOD_LOG
-
#define METHOD_EXPONENTIAL
-
#define METHOD_STEPPING_EULER
-
#define METHOD_STEPPING_AB2
-
#define METHOD_STEPPING_AB3
-
#define METHOD_COLLISION_IMPLICIT
-
#define METHOD_CENTERED
-
#define METHOD_UPWIND
-
#define METHOD_UPWIND_SKEW
-
#define METHOD_UPWIND_LINEAR
-
#define METHOD_UPWIND_LINEAR_IMPROVED
-
#define METHOD_MYQUICK
-
#define METHOD_MYQUICK_CARTESIAN
-
#define METHOD_MYQUICK_LIMITER
-
#define METHOD_MIXED
-
#define METHOD_TRAPEZOID
-
#define METHOD_EDGES_AND_CORNERS
-
#define METHOD_FORCING_GUO
-
#define METHOD_FORCING_MALASPINAS
-
#define METHOD_CORRECTION_LATT
TEMPERATURE
-
#define LB_TEMPERATURE
-
//#define LB_TEMPERATURE_PAST
-
//#define LB_TEMPERATURE_FLUCTUATION
-
//#define LB_TEMPERATURE_INITIAL_LINEAR
-
//#define LB_TEMPERATURE_INITIAL_ADD_PERTURBATION
-
//#define LB_TEMPERATURE_INITIAL_ADD_NOISE
-
//#define LB_TEMPERATURE_INITIAL_CONSTANT
-
//#define LB_TEMPERATURE_INITIAL_CONSTANT_MEAN
-
//#define LB_TEMPERATURE_INITIAL_CONSTANT_BOT
-
//#define LB_TEMPERATURE_INITIAL_CONSTANT_TOP
-
//#define LB_TEMPERATURE_INITIAL_SPOT
-
//#define LB_TEMPERATURE_INITIAL_BL
-
//#define LB_TEMPERATURE_INITIAL_BULK
-
//#define LB_TEMPERATURE_AFTER_INIT_PERTURBATION
-
//#define LB_TEMPERATURE_BUOYANCY
-
//#define LB_TEMPERATURE_BUOYANCY_T0_REF
-
//#define LB_TEMPERATURE_BUOYANCY_T0_REF2
-
//#define LB_TEMPERATURE_BUOYANCY_T0_BOT
-
//#define LB_TEMPERATURE_BUOYANCY_T0_TOP
-
//#define LB_TEMPERATURE_BUOYANCY_T0_GRAD
-
//#define LB_TEMPERATURE_BC
-
//#define LB_TEMPERATURE_BC_Y /* the default bc is fixed temperature value */
-
//#define LB_TEMPERATURE_BC_Y_P_OUTLET
-
//#define LB_TEMPERATURE_BC_Y_P_NOFLUX
-
//#define LB_TEMPERATURE_BC_Y_P_FLUX
-
//#define LB_TEMPERATURE_BC_Y_P_VARIABLE
-
//#define LB_TEMPERATURE_BC_Y_M_OUTLET
-
//#define LB_TEMPERATURE_BC_Y_M_NOFLUX
-
//#define LB_TEMPERATURE_BC_Y_M_FLUX
-
//#define LB_TEMPERATURE_BC_Y_M_VARIABLE
-
//#define LB_TEMPERATURE_BC_X
-
//#define LB_TEMPERATURE_BC_X_P_OUTLET
-
//#define LB_TEMPERATURE_BC_X_M_OUTLET
-
//#define LB_TEMPERATURE_BC_X_P_NOFLUX
-
//#define LB_TEMPERATURE_BC_X_M_NOFLUX
-
//#define LB_TEMPERATURE_BC_Z
-
//#define LB_TEMPERATURE_BC_Z_P_OUTLET
-
//#define LB_TEMPERATURE_BC_Z_M_OUTLET
-
//#define LB_TEMPERATURE_BC_Z_P_NOFLUX
-
//#define LB_TEMPERATURE_BC_Z_M_NOFLUX
-
//#define LB_TEMPERATURE_BC_X_NOFLUX /* obsolete : only for finite-volume */
-
//#define LB_TEMPERATURE_BC_KEEP_WITHIN
-
//#define LB_TEMPERATURE_FORCING
-
//#define LB_TEMPERATURE_FORCING_PAST
-
//#define LB_TEMPERATURE_FORCING_BULK
-
//#define LB_TEMPERATURE_FORCING_BULK_VARIABLE
-
//#define LB_TEMPERATURE_FORCING_RADIATION
-
//#define LB_TEMPERATURE_FORCING_RADIATION_SOLAR
-
//#define LB_TEMPERATURE_FORCING_RADIATION_REFLECTION
-
//#define LB_TEMPERATURE_FORCING_SOURCE
-
//#define LB_TEMPERATURE_FORCING_ABSORB
-
//#define LB_TEMPERATURE_FORCING_PROFILE
-
//#define LB_TEMPERATURE_FORCING_REACTION
-
//#define LB_TEMPERATURE_FORCING_REACTION_FKPP
-
//#define LB_TEMPERATURE_FORCING_REACTION_FKPP_FLUCTUATION
-
//#define LB_TEMPERATURE_FORCING_REACTION_ORDER1
-
//#define LB_TEMPERATURE_FORCING_MONOD
-
//#define LB_TEMPERATURE_FORCING_HIT
-
//#define LB_TEMPERATURE_FORCING_HIT_RANDOM
-
//#define LB_TEMPERATURE_FORCING_HIT_ZEROMODE
-
//#define LB_TEMPERATURE_FORCING_HIT_LINEAR
-
//#define LB_FLUID_TEMPERATURE_NOZEROMODE
-
//#define LB_TEMPERATURE_FORCING_CONSTANT_POWER
-
//#define LB_TEMPERATURE_FORCING_GRAD
-
//#define LB_TEMPERATURE_FORCING_LAPLACIAN
-
//#define LB_TEMPERATURE_MELTING
-
//#define LB_TEMPERATURE_MELTING_BOUNCEBACK
-
//#define LB_TEMPERATURE_MELTING_INITIAL_LIQUID
-
//#define LB_TEMPERATURE_MELTING_INITIAL_LIQUID_HALF
-
//#define LB_TEMPERATURE_MELTING_INITIAL_LIQUID_SEMISPHERE
-
//#define LB_TEMPERATURE_MELTING_INITIAL_LIQUID_SEMISPHERE_TEMPERATURE
-
//#define LB_TEMPERATURE_MELTING_INITIAL_LIQUID_CAVITY
-
//#define LB_TEMPERATURE_MELTING_INITIAL_LIQUID_CAVITY_TEMPERATURE
-
//#define LB_TEMPERATURE_MELTING_INITIAL_LIQUID_LAYER
-
//#define LB_TEMPERATURE_MELTING_SOLID_DIFFUSIVITY
-
//#define LB_TEMPERATURE_MELTING_SOLIDUS
-
//#define LB_TEMPERATURE_MELTING_SOLIDUS_LINEAR
-
//#define LB_TEMPERATURE_MELTING_UNDEFORMABLE
-
//#define LB_TEMPERATURE_MELTING_CHECK_REACH_YP
-
//#define LB_TEMPERATURE_FORCING_DIRECT
-
//#define LB_FLUID_TEMPERATURE_NOZEROMODE
-
//#define LB_TEMPERATURE_FORCING_CONSTANT_POWER
-
//#define LB_TEMPERATURE_OUTPUT_BABAK
EXTRA SCALAR FIELD
- #define LB_SCALAR
- //#define LB_SCALAR_INITIAL_LINEAR
- //#define LB_SCALAR_INITIAL_ADD_PERTURBATION
- //#define LB_SCALAR_INITIAL_BULK
- //#define LB_SCALAR_INITIAL_CONSTANT
- //#define LB_SCALAR_INITIAL_CONSTANT_MEAN
- //#define LB_SCALAR_INITIAL_CONSTANT_BOT
- //#define LB_SCALAR_INITIAL_CONSTANT_TOP
- //#define LB_SCALAR_BUOYANCY
- //#define LB_SCALAR_BC
- //#define LB_SCALAR_BC_Y
- //#define LB_SCALAR_BC_Y_P_OUTLET
- //#define LB_SCALAR_BC_Y_M_OUTLET
- //#define LB_SCALAR_BC_Y_P_NOFLUX
- //#define LB_SCALAR_BC_Y_M_NOFLUX
- //#define LB_SCALAR_BC_X
- //#define LB_SCALAR_BC_X_P_OUTLET
- //#define LB_SCALAR_BC_X_M_OUTLET
- //#define LB_SCALAR_BC_X_P_NOFLUX
- //#define LB_SCALAR_BC_X_M_NOFLUX
- //#define LB_SCALAR_BC_Z
- //#define LB_SCALAR_BC_Z_P_OUTLET
- //#define LB_SCALAR_BC_Z_M_OUTLET
- //#define LB_SCALAR_BC_Z_P_NOFLUX
- //#define LB_SCALAR_BC_Z_M_NOFLUX
- //#define LB_SCALAR_FLUCTUATION
- //#define LB_SCALAR_FORCING
- //#define LB_SCALAR_FORCING_REACTION
- //#define LB_SCALAR_FORCING_REACTION_FKPP
- //#define LB_SCALAR_FORCING_REACTION_FKPP_FLUCTUATION
- //#define LB_SCALAR_FORCING_REACTION_ORDER1
- //#define LB_SCALAR_FORCING_MONOD
- //#define LB_SCALAR_FORCING_HIT
- //#define LB_SCALAR_FORCING_HIT_RANDOM
- //#define LB_SCALAR_FORCING_HIT_ZEROMODE
- //#define LB_SCALAR_FORCING_HIT_LINEAR
- //#define LB_SCALAR_FORCING_GRAD
Lagragian parts
-
#define LAGRANGE
-
//#define LAGRANGE_DEBUG
-
#define LAGRANGE_WRAP
-
//#define LAGRANGE_OUTPUT_DEBUG
-
//#define LAGRANGE_INITIAL_PAIRS
-
//#define LAGRANGE_ADD_TRACER
-
//#define LAGRANGE_ADD_TRACER_STATIC
-
//#define LAGRANGE_RADIUSandDENSITY
-
//#define LAGRANGE_RADIUSandDENSITY_INCREMENT_LOG_RADIUS
-
//#define LAGRANGE_RADIUSandDENSITY_INCREMENT_LOG_DENSITY
-
//#define LAGRANGE_TAUDRAG_INCREMENT_LOG
-
#define LAGRANGE_GRADIENT
-
//#define LAGRANGE_ADDEDMASS
-
//#define LAGRANGE_ADDEDMASS_INCREMENT_LOG
-
//#define LAGRANGE_ADDEDMASS_LIFT
-
//#define LAGRANGE_ADDEDMASS_WAKEDRAG
-
//#define LAGRANGE_GRAVITY
-
//#define LAGRANGE_GRAVITY_VARIABLE
-
//#define LAGRANGE_GRAVITY_VARIABLE_INCREMENT_LOG
-
#define LAGRANGE_ORIENTATION
-
#define LAGRANGE_ORIENTATION_SECONDORIENTATION
-
#define LAGRANGE_ORIENTATION_JEFFREY
-
//#define LAGRANGE_ORIENTATION_JEFFREY_INCREMENT_LOG
-
//#define LAGRANGE_ORIENTATION_BC
-
//#define LAGRANGE_ORIENTATION_JEFFREY_GYROTAXIS
-
//#define LAGRANGE_ORIENTATION_DIFFUSION
-
//#define LAGRANGE_ORIENTATION_RANDOM
-
#define LAGRANGE_ORIENTATION_ACTIVE
-
//#define LAGRANGE_ORIENTATION_ACTIVE_JUMP
-
//#define LAGRANGE_ORIENTATION_ACTIVE_JUMP_HIGHPASS // the default is LOWPASS
-
//#define LAGRANGE_ORIENTATION_ACTIVE_JUMP_TEMPERATURE
-
//#define LAGRANGE_ORIENTATION_ACTIVE_BALLISTIC
-
//#define LAGRANGE_ORIENTATION_ACTIVE_TEMPERATURE
-
//#define LAGRANGE_ORIENTATION_ACTIVE_SECONDORIENTATION
-
#define LAGRANGE_ORIENTATION_ACTIVE_SELECTIVEORIENTATION
-
//#define LAGRANGE_ORIENTATION_DRAG
-
//#define LAGRANGE_POLYMER
-
//#define LAGRANGE_POLYMER_FEEDBACK
LES
- #define LB_FLUID_LES
- #define LB_FLUID_LES_SISM
- #define LB_FLUID_LES_SISM_KALMAN
- #define LB_FLUID_LES_VANDRIEST
- #define LB_TEMPERATURE_LES
- #define LB_SCALAR_LES
Define dependencies not to be modified
-
#ifdef METHOD_FINITE_VOLUME
-
#define METHOD_STEPPING_EULER
-
#define METHOD_REDEFINED_POP
-
#define METHOD_REDEFINED_POP_GUO
-
#define METHOD_FORCING_GUO
-
#define METHOD_HEUN
-
#define METHOD_MYQUICK
-
#define METHOD_MYQUICK_CARTESIAN
-
#define OUTPUT_H5_GRID
-
#endif
-
#ifdef METHOD_STREAMING
-
#define METHOD_EDGES_AND_CORNERS
-
#define METHOD_FORCING_GUO
-
#endif
-
#ifdef LB_TEMPERATURE_BUOYANCY
-
#ifndef LB_FLUID_FORCING_GRAVITY
-
#define LB_FLUID_FORCING_GRAVITY
-
#endif
-
#endif