• 大小: 876KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-07
  • 语言: 其他
  • 标签: LBM  

资源简介

LBM 方程的D2Q9实验。打包好的程序。期望大家能共同努力

资源截图

代码片段和文件信息

// minimal LBM D3Q19 solver by Nils Thuerey
// see http://www.ntoken.com and http://www.matthiasmueller.info/realtimephysics/ for further info
// this code is released(发布、发表) under the GPL see LICENSE.txt for details
#include 
#include 
#include 

// global parameters
const int SIZE = 64;

// for a more turbulent simulation
// try: SMAGORINSKY=true omega=2 LDC_VELOCITY=0.166

void BuildImage(int);
// single / double precision?
typedef float Real;

// use the turbulence model?
//const bool SMAGORINSKY = false;

// different types of cells    这个是在flag里面限定到底格子是边界格子,还是在一般的格子还是有初始速度的格子 noslip :无滑动   VELOCITY:速度
const int FLUID  = 0 NOSLIP = 1 VELOCITY  = 2;
// velocity for the lid-driven-cavity setup
const Real LDC_VELOCITY = 0.10;     // 有初始速度的格子的初始速度统一定为0.10

// Declare some constants and globals ...
const Real   omega = 1.90;     // viscosity of the fluid 0..2  单弛豫时间的倒数:1.908287693452664923763906646566
const int    STEPS = 50000;     // max no. of steps to simulate
const int    IMAGESTEPS = 1000;  // write image every ? steps
//int          current = 0 other = 1; // which grid is the current and the old one?

// main arrays (note - for simplicity these are allocated here for larger 
//              simulations better use malloc and a manual offset calculation手动的偏移量计算)
//Real   cells[2][SIZE][SIZE][SIZE][19]; // the two grids of LBM cells with 19 distribution functions,lattice vectors
//char   flags[SIZE][SIZE][SIZE];        // flags for each cell either FLUID NOSLIP or VELOCITY
char flags[SIZE * SIZE ];                     //用来标记格子的状态的,是一般的格子?有初始速度的格子?还是边界的格子
Real*   cellsO;//[SIZE][SIZE][SIZE][19];            //定义一个浮点型的指针,表示相应的格子点以及上面的19个方向向量
Real*   cellsN;//[SIZE][SIZE][SIZE][19];

// the weight for the equilibrium distribution     格子19个方向上的均衡分布的权重,也就是一个比例,也就是我们w的取值(在19个方向上)
Real w[9] = { (4./9.) 
(1./9.)(1./9.)(1./9.)(1./9.)
(1./36.)(1./36.)(1./36.)(1./36.) };

// convenience variables for handling the distribution functions in a loop
// the 19 lattice vectors     D3Q19模型的速度值在坐标轴上的分布,其中i=0e=0; i=1->6e=1 ;i= 7->18e=sqrt(2);
int e_x[9] = { 0 1 0 -1  0 1-1-11 };
int e_y[9] = { 0 0 1  0 -1 11-1-1 };
// the index of the inverse for each lattice vector 晶格向量的逆指数,也就是边界碰撞之后反弹回去的方向,例如:若是2方向来的速度读下标是2的值——现在是1
int dfInv[9] = { 0   2  1  4  3  6  5  8  7 };


// helper functions for turbulence model
//#include “smagorinksy.h“

void writeImage(int s);    //前向声明


// run the solver...
int main(int argc char *argv[])
{
printf(“Init\n“);
//if(SMAGORINSKY) initSmagoArrays();

cellsO = new Real[SIZE * SIZE  * 9];
cellsN = new Real[SIZE * SIZE  * 9];
Real* tmp;

// initialize grid  初始化格子,给每个格子的flag置数,然后给最上面的第一行一个稳定的流动速度
const int BORDER = 1;                      //边界初始值
for (int i=0;i for (int j=0;j for (int l=0;l<9;l++)  {
//cells[0][i][j][k][l] = cells[1][i][j][k][l] = w[l];给一个格子的每一个方向向量上的粒子数(比例)赋初始化值,等于平衡状态的粒子比例数
cellsN[(i * SIZE + j) * 9 + l

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      20480  2012-08-22 21:48  ForLBM2(D2Q9)\Debug\ForLBM.exe

     文件     323984  2012-08-22 21:48  ForLBM2(D2Q9)\Debug\ForLBM.ilk

     文件     437248  2012-08-22 21:48  ForLBM2(D2Q9)\Debug\ForLBM.pdb

     文件      61584  2012-08-22 20:31  ForLBM2(D2Q9)\Debug\outlbm_0000.ppm

     文件      12622  2012-08-22 21:48  ForLBM2(D2Q9)\ForLBM\Debug\BuildLog.htm

     文件        663  2012-07-07 10:34  ForLBM2(D2Q9)\ForLBM\Debug\ForLBM.exe.embed.manifest

     文件        728  2012-07-07 10:34  ForLBM2(D2Q9)\ForLBM\Debug\ForLBM.exe.embed.manifest.res

     文件        621  2012-08-22 21:48  ForLBM2(D2Q9)\ForLBM\Debug\ForLBM.exe.intermediate.manifest

     文件      21778  2012-08-22 21:48  ForLBM2(D2Q9)\ForLBM\Debug\lbm.obj

     文件         65  2012-08-22 21:48  ForLBM2(D2Q9)\ForLBM\Debug\mt.dep

     文件      68608  2012-08-22 21:48  ForLBM2(D2Q9)\ForLBM\Debug\vc90.idb

     文件      69632  2012-08-22 21:48  ForLBM2(D2Q9)\ForLBM\Debug\vc90.pdb

     文件       3978  2012-07-07 10:34  ForLBM2(D2Q9)\ForLBM\ForLBM.vcproj

     文件       1415  2012-07-07 10:34  ForLBM2(D2Q9)\ForLBM\ForLBM.vcproj.eMavaj-PC.eMavaj.user

     文件       1411  2012-08-22 21:49  ForLBM2(D2Q9)\ForLBM\ForLBM.vcproj.yang-PC.yang.user

     文件       8318  2012-07-07 10:34  ForLBM2(D2Q9)\ForLBM\JPEG\outlbm_0000.jpg

     文件       8808  2012-07-07 10:34  ForLBM2(D2Q9)\ForLBM\JPEG\outlbm_0050.jpg

     文件       8983  2012-07-07 10:34  ForLBM2(D2Q9)\ForLBM\JPEG\outlbm_0100.jpg

     文件       9050  2012-07-07 10:34  ForLBM2(D2Q9)\ForLBM\JPEG\outlbm_0150.jpg

     文件       9024  2012-07-07 10:34  ForLBM2(D2Q9)\ForLBM\JPEG\outlbm_0200.jpg

     文件       9135  2012-07-07 10:34  ForLBM2(D2Q9)\ForLBM\JPEG\outlbm_0250.jpg

     文件       9144  2012-07-07 10:34  ForLBM2(D2Q9)\ForLBM\JPEG\outlbm_0300.jpg

     文件       9282  2012-07-07 10:34  ForLBM2(D2Q9)\ForLBM\JPEG\outlbm_0350.jpg

     文件       9306  2012-07-07 10:34  ForLBM2(D2Q9)\ForLBM\JPEG\outlbm_0400.jpg

     文件       9209  2012-07-07 10:34  ForLBM2(D2Q9)\ForLBM\JPEG\outlbm_0450.jpg

     文件       9291  2012-07-07 10:34  ForLBM2(D2Q9)\ForLBM\JPEG\outlbm_0500.jpg

     文件       9391  2012-07-07 10:34  ForLBM2(D2Q9)\ForLBM\JPEG\outlbm_0550.jpg

     文件       9406  2012-07-07 10:34  ForLBM2(D2Q9)\ForLBM\JPEG\outlbm_0600.jpg

     文件       9388  2012-07-07 10:34  ForLBM2(D2Q9)\ForLBM\JPEG\outlbm_0650.jpg

     文件       9486  2012-07-07 10:34  ForLBM2(D2Q9)\ForLBM\JPEG\outlbm_0700.jpg

............此处省略113个文件信息

评论

共有 条评论