propagate.cpp
来自「Lattice Boltzmann用于模拟方腔流的程序。 生成的plt文件需用」· C++ 代码 · 共 77 行
CPP
77 行
#include "global.h"
void propagate()
{
register int x,y;
for(y=max_y-2;y>=0;y--)
{
for(x=max_x-1;x>0;x--)
{
f[1][y][x]=f[1][y][x-1];
}
for(x=0;x<max_x-1;x++)
{
f[3][y][x]=f[3][y][x+1];
}
}
for(y=max_y-2;y>0;y--)
{
for(x=max_x-1;x>0;x--)
{
f[5][y][x]=f[5][y-1][x-1];
}
for(x=0;x<max_x-1;x++)
{
f[6][y][x]=f[6][y-1][x+1];
}
}
for(y=0;y<max_y-1;y++)
{
for(x=max_x-1;x>0;x--)
{
f[8][y][x]=f[8][y+1][x-1];
}
for(x=0;x<max_x-1;x++)
{
f[7][y][x]=f[7][y+1][x+1];
}
}
for(x=0;x<max_x;x++)
{
for(y=max_y-2;y>0;y--)
{
f[2][y][x]=f[2][y-1][x];
}
for(y=0;y<max_y-1;y++)
{
f[4][y][x]=f[4][y+1][x];
}
}
/*下边界*/
for(x=0;x<max_x;x++)
{
f[2][0][x]=f[4][0][x];
f[5][0][x]=f[7][0][x];
f[6][0][x]=f[8][0][x];
}
/*左边界*/
for(y=1;y<max_y-1;y++)
{
f[1][y][0]=f[3][y][0];
f[5][y][0]=f[7][y][0];
f[8][y][0]=f[6][y][0];
}
/*右边界*/
for(y=1;y<max_y-1;y++)
{
f[3][y][max_x-1]=f[1][y][max_x-1];
f[6][y][max_x-1]=f[8][y][max_x-1];
f[7][y][max_x-1]=f[5][y][max_x-1];
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?