⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 flags_disk.h

📁 基于格子Boltzmann方法开源可视化软件的源代码 具有很高的实用价值。对学习LBM方法及其软件开发非常游泳
💻 H
字号:
//##############################################################################//// Copyright (C), 2005, Michael Sukop and Danny Thorne//// flags.h////  - Preprocessor flags for lb2d_prime.//// Set VERBOSITY_LEVEL to correspond to how deep into nested loops to// print debug and related output.  Stuff will be printed down to// loops nested VERBOSITY_LEVEL-1 deep. For example,////   VERBOSITY_LEVEL 0 ==> Nothing is printed, even outside of loops.//   VERBOSITY_LEVEL 1 ==> Only stuff outside of loops is printed.//   VERBOSITY_LEVEL 2 ==> Stuff inside the first level of loops is printed.//   VERBOSITY_LEVEL 3 ==> Stuff inside the second level of loops is printed.//#define VERBOSITY_LEVEL 1// If SAY_HI is on, some routines will display "hi" and "bye" messages// to stdout.#define SAY_HI 0// NUM_FLUID_COMPONENTS specifies the number of fluid components.#define NUM_FLUID_COMPONENTS 2// If NUM_FLUID_COMPONENTS is 2, the second component can be the sigma// component for solute (or thermal) transport as in Inamuro & Yoshino// by turning on INAMURO_SIGMA_COMPONENT .#define INAMURO_SIGMA_COMPONENT ( 1 && NUM_FLUID_COMPONENTS==2)// Toggle Zhang & Chen energy transport method, PRE 67, 0066711 (2003).// Supposed to give thermodynamic consistency unlike old Shan & Chen method.// And supports general equation of state P = P(rho,T).// Utilizes the Inamuro component for evolution of the energy transport// equation.  Employs modified compute_phase_force routine to compute// body force term representing non-local interaction potential U among// particles.#define ZHANG_AND_CHEN_ENERGY_TRANSPORT ( 0 && (INAMURO_SIGMA_COMPONENT))// Simulate POROUS_MEDIA via a solid density parameter// as proposed by Dardis and McCloskey, // Phys Rev E, 57, 4, 4834-4837, 1998#define POROUS_MEDIA 0// When there are two (or more) fluid components, a single velocity is // sometimes (always?) used to compute the equilibrium distribution // function.  This single velocity will be called ueq, and the // STORE_UEQ flag will toggle its use.#define STORE_UEQ ( 1 && (  (NUM_FLUID_COMPONENTS)==2 \                          &&!((INAMURO_SIGMA_COMPONENT))))// If DO_NOT_STORE_SOLIDS is on, then only the nodes necessary to flow are// stored.  In this case, extra storage is needed for geometry information// (e.g. node neighbors).  If the ratio of fluid nodes to solid nodes is// small (<~.7), this results in lower storage requirements.#define DO_NOT_STORE_SOLIDS 0// NON_LOCAL_FORCES toggles any mechanisms for computing and storing// non-local (interaction) forces.#define NON_LOCAL_FORCES ( 1 && !(INAMURO_SIGMA_COMPONENT&&!ZHANG_AND_CHEN_ENERGY_TRANSPORT))// Toggle manage_body_force call at beginning of time loop for// gradually increasing/decreasing gravity.#define MANAGE_BODY_FORCE 0// Toggle break through curve (BTC) mechanism for sigma component.#define STORE_BTC ( 1 && INAMURO_SIGMA_COMPONENT)//// Toggle DETERMINE_FLOW_DIRECTION to attempt to determine the direction of// flow.//// Assigns FlowDir = { 0, 1, 2} = { indeterminate, vertical, horizontal}//// NOTE: This determination informs the breakthrough curve mechanism which// should be used in a simple situation with either pressure/velocity// boundaries driving the flow in one direction or gravity driving the flow// in one direction.  If the direction of flow cannot be determined, FlowDir// will be set to indeterminate (=0) and a BTC will not be stored.//// NOTE: This determination also informs the sigma slip boundary which// should only be used in the simple situation of flow through a channel// where the geometry is trivial and the direction of flow is obvious.//#define DETERMINE_FLOW_DIRECTION 1// Toggle mechanism to initialize domain with ux_in or uy_in.  This is// useful for setting a velocity in a periodic domain without using// fluid boundary conditions.#define INITIALIZE_WITH_UX_IN   1//#define INITIALIZE_WITH_UY_IN ( 0 && !(INITIALIZE_WITH_UX_IN))#define INITIALIZE_WITH_UY_IN   0// BC_XXX flags are for boundary conditions.// Used to set struct bc_struct::bc_type.// Should be powers of two so that multiple boundary types can be// checked easily via bitwise and (&).// For instance, bc_type & BC_SOLID_NODE & BC_SLIP_NODE to specify// a slip boundary. (Non-slip is the default for solid boundaries.)#define BC_SOLID_NODE     0x00000001#define BC_FLUID_NODE     0x00000000#define BC_SLIP_NODE      0x80000000#define BC_FILM_NODE      0x40000000#define BC_PRESSURE_N_IN  0x00000010#define BC_PRESSURE_S_IN  0x00000020#define BC_PRESSURE_E_IN  0x00000040#define BC_PRESSURE_W_IN  0x00000080#define BC_PRESSURE_N_OUT 0x00000100#define BC_PRESSURE_S_OUT 0x00000200#define BC_PRESSURE_E_OUT 0x00000400#define BC_PRESSURE_W_OUT 0x00000800#define BC_VELOCITY_N_IN  0x00001000#define BC_VELOCITY_S_IN  0x00002000#define BC_VELOCITY_E_IN  0x00004000#define BC_VELOCITY_W_IN  0x00008000#define BC_VELOCITY_N_OUT 0x00010000#define BC_VELOCITY_S_OUT 0x00020000#define BC_VELOCITY_E_OUT 0x00040000#define BC_VELOCITY_W_OUT 0x00080000// Dumping the density and velocity data to files can be time consuming and// take up a lot of disk space.  If all that is needed is the BMP files, then// turn WRITE_MACRO_VAR_DAT_FILES off to save time and space.#define WRITE_MACRO_VAR_DAT_FILES 1// Usually the density and velocity are written only for the active nodes// and in a way designed for post-processing.  Additional files with the // variables written in a readable grid of all lattice nodes will be // generated when WRITE_RHO_AND_U_TO_TXT is on.  This is done in an// inefficient way and is intended only for debugging purposes on tiny// lattices.  Note that if WRITE_MACRO_VAR_DAT_FILES is off, this flag// has no effect.#define WRITE_RHO_AND_U_TO_TXT 0// WRITE_PDF_DAT_FILES is analogous to WRITE_MACRO_VAR_DAT_FILES.#define WRITE_PDF_DAT_FILES 0// WRITE_PDF_TO_TXT is analogous to WRITE_RHO_AND_U_TO_TXT.#define WRITE_PDF_TO_TXT 0// Value used to represent an INACTIVE_NODE .  This is used in the list// of neighbors ( struct node_struct::nn).  It is also used in the// map from (i,j) space onto n index space in rho2bmp() and u2bmp().#define INACTIVE_NODE -1// Negative densities (f_a) generally signify impending doom.  The code// will die "gracefully" when this happens if PUKE_NEGATIVE_DENSITIES is on.// Might want to turn this off to boost performance on big, long runs that // are expected to survive without such instabilities.#define PUKE_NEGATIVE_DENSITIES 0// Turn one of these on for coloring of the solids in bmp files.#define SOLID_COLOR_IS_CHECKERBOARD 0#define SOLID_COLOR_IS_BLACK        1#define DELAY    0#define END_GRAV 2000// A single white pixel will be placed in at the (0,0) lattice node if // MARK_ORIGIN_FOR_REFERENCE is turned on.  This is good for assisting with the // problem of tracking orientation of the results between regimes (e.g. C, BMP,// Matlab...).#define MARK_ORIGIN_FOR_REFERENCE 0#define PERTURBATIONS 0// If WRITE_CHEN_DAT_FILES is on, the code will output old style chen_*.dat// files to be processed by the old lb_rho_v*.m matlab scripts.#define WRITE_CHEN_DAT_FILES 0// IC_* flags are for initial conditions.  Used in switch statement in // init_problem() in latmat.c .  Set the initial_condition parameter // in params.in .#define IC_UNIFORM_RHO_A          1#define IC_UNIFORM_RHO_B          2#define IC_UNIFORM_RHO_IN         3#define IC_BUBBLE                 4#define IC_DIAGONAL               5#define IC_2X2_CHECKERS           6#define IC_STATIC                 7#define IC_RECTANGLE              8#define IC_DOT                    9#define IC_WOLF_GLADROW_DIFFUSION 10#define IC_YIN_YANG               11#define IC_HYDROSTATIC            12

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -