Hi,Im在理解边界条件如何在模拟代码(主要用c编写)中集成了特定盒子的已知方程时遇到了麻烦。
它是针对物理的,尽管问题主要是编程。
假设您有一个5x5
的网格r x z
在r=0, r=5
和z=0, z=5
,代码必须具有积分量的已知函数。对于常见的模拟,代码正在求解密度rho
,压力P
和速度V
。
THIS文档第53页上的内容,如果我们希望数量为reversed/reflected
,请遵循以下代码
/* -- reflective boundary for r > 1 --*/
d->Vc[RHO][k][j][i] = d->Vc[RHO][k][2*JBEG - j - 1][i];
如果我们希望d density / d [grid quantity] = 0
为零,那么在框的开头使用相同的值,代码将为
/* -- outflow boundary for r > 1 --*/
d->Vc[RHO][k][j][i] = d->Vc[RHO][k][JBEG][i];
如果我想让代码遵循某种派生方式,请说
d density / d [grid quantity] = A*[g q]**2/2
或已知功能
density = B*[g q]**2/2
我将如何使用该系统编写边界条件。