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

📄 anb.readme

📁 LBM Fortran code D2Q9 Model
💻 README
字号:
  anb - *a*nb is *n*ot *b*est (README for the free lattice Boltzmann
  code 'anb' by Joerg Bernsdorf, contact: research AT bernsdorf.org)


    Purpose

Starting with lattice gas/Boltzmann in 1992, I found it really hard to
write a working code from the scratch only by the help of some papers.
Now, years later, I find it really hard to show newcomers to our group
the principles of lattice Boltzmann coding by the help of our large and
complicated code *BEST*, which has been optimized for vector-parallel
computers.

This is the reason, why I have written a rhichly documented self
explaining lattice Boltzmann code, where I tried to make everything as
clear and simple as possible. The code is called *anb*, what simply
means *a*nb is *n*ot *b*est.

I hope, *anb* could be used for learning and teaching. It could and
should not be used for 'real' computations, esp. not for time- and
memory consuming runs on big (and expensive) machines ! Nearly every
routine in *anb* could be coded more efficient, less memory consuming
... and less clear.

The source code for 'anb' is distributed under the terms of the GNU
General Public License <http://www.gnu.org/copyleft/gpl.html>.


    Code

*anb* is written is FORTRAN 77, and has been tested on various platforms
(SUN, HP, SGI, Linux-PC, Fujitsu VPP, Cray T-90, NEC SX 4/5). It
contains of the source code itself anb.f, one configuration file anb.par
and one obstacle file anb.obs, which represents the geometry information
of the flow domain. You can have a look at the source here ! <anb.f>


    Usage

Of course, you can just type f77 anb.f (or what ever the FORTRAN 77
compiler is called on your system ...) and then run the executable. You
will see some messages written to stdout and - in the end - find some
new files on your hard disk which are the results of the computation. If
you have some visualization tool for post processing (like TECPLOT, for
this you can get a temporarily free license at
http://www.genias-graphics.de/) you can have a look at the flow you just
simulated by the help of *anb*. Maybe you should do this, to see if
everything works ... But then, you should do, what the code has been
written for: *read and try to understand the source of anb.f <anb.f>*


    anb-package

The package contains:

    * *anb.f:* The source code in FORTRAN 77.
    * *anb.par:* The configuration file for *anb*.
    * *anb.obs:* The geometry information file.
    * *readme.htm* This text.
    * *COPYING:* The GNU General Public License
      <http://www.gnu.org/copyleft/gpl.html>. 

You can dwonload the "tar.gz"-package here:
bernsdorf.org/research/anb.tar.gz 


      The configuration files

    * *anb.par:* The configuration file for *anb*. Example:| 3000
      0.1
      0.005
      1.85
      10 

      Meaning:
      1. line: 3000 - number of iterations
      2. line: 0.1 - density per link
      3. line: 0.005 - acceleration
      4. line: 1.85 - relaxation parameter
      5. line: 10 - dimension for Reynolds number Have a look at the
      subroutine read_parameters in anb.f for more details !

    * *anb.obs:* The geometry information file for *anb*. Example:| 1 1
      2 1
      3 1 
      Meaning:
      x- and y-coordinates of occupied nodes are listed here, one line
      for each node. The order does not matter. Also the wall boundary
      nodes have to be defined in this way ! Have a look at the
      subroutine read_obstacles in anb.f for more details ! 


      The result files

    * *anb_qx.out:* The average velocity of the simulated flow. A good
      control if the simulated flow reached steady state is to monitor
      the average flow velocity at a certain cross section of the
      computational domain as function of time (iterations). You can
      watch this file for example with the free software xmgr
      <http://plasma-gate.weizmann.ac.il/Xmgr/>. Example output:| 26
      1.7849222047450D-04
      27 2.4511573992305D-04
      28 3.1222702284171D-04
      ...
      2999 3.2984900438651D-03
      3000 3.2985335497016D-03
      3001 3.2985335497016D-03 
      
      Meaning:
      The column is the iteration number, the second one the computed
      flow velocity.

    * *anb.dat:* The results of the computation. Here, the velocity
      components, the local pressure and the obstacle information are
      stored. A header for the post processing tool TECPLOT is also
      written. If you have some other post processing tool, you should
      change the necessary things in anb's subroutine datout. Otherwise,
      it might be a good idea to get a free evaluation license for
      TECPLOT. Example output:| VARIABLES = X, Y, VX, VY, PRESS, OBST
      ZONE I= 30, J= 20, F=POINT
      1 1 0. 0. 3.3333333333333D-02 1
      2 1 0. 0. 3.3333333333333D-02 1
      3 1 0. 0. 3.3333333333333D-02 1
      4 1 0. 0. 3.3333333333333D-02 1
      ...
      4 11 3.2778327874759D-03 2.4387587283551D-04 3.3355060665745D-02 0
      5 11 2.7312371998704D-03 3.1218767491485D-04 3.3355269776544D-02 0
      6 11 2.0203030622604D-03 3.6169210828650D-04 3.3357471944278D-02 0
      ...  
      
      Meaning: Each line in the file anb.dat stands for one
      lattice node. The x- and y-coordinate of the node is stored in the
      first two columns, followed by the x- and y-component of the
      velocity, the local pressure and the information, if the
      considered node is occupied by an obstacle (1) or a fluid node (0). 

⌨️ 快捷键说明

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