想在interFoam两项流求解中加入污染物源项来进行物质输运模拟,但不知道怎么加
是要加源项?还是要加扩散的如温度之类的?有相应的模型/公式么?
就是通过添加源项在水槽中段加入一定浓度的溶液进行物质输运的模拟,该怎么加呢?
,我想并不是简单地怎么加的问题。而是这个物理问题是什么?适合不适合你的研究对象。你看我的理解对不对:
想要模拟一段水槽中一定浓度的溶液是如何扩散输运的?这种溶液和水不能形成一定的界面。
我的问题是:
- 水槽的自由液面需要考虑吗?
需要考虑自由液面
在 interFoam 的基础上增加一个方程:
假设你所要观察的量是浓度 w , \varGamma 为扩散系数,
\frac{\partial w}{\partial t} + \nabla\cdot(wU) =\nabla\cdot(\varGamma \nabla w )
由于是不可压缩流体,因此,上式也可改写为
\frac{\partial w}{\partial t} + U\cdot\nabla w = \varGamma\nabla^2 w
第一项为瞬态变化量,第二项为对流项,第三项是扩散项。由于扩散只发生在液体相,假设液体相的值为 \alpha ,上式就成了
\alpha\frac{\partial w}{\partial t} + \alpha U\cdot\nabla w = \alpha\varGamma\nabla^2 w
写成 OpenFOAM 形式
fvm::ddt(alpha, w)
+ fvm::div(alpha*U,w)
+ fvm::laplacian(alpha*Gamma,w)
不过,代码还需要测试了才行。
前辈,这个可以编译通过但是无法读取w这个扩散系数,如何处理,如果我这个是两相扩散或者vof这个进行传热得模型建立该如何处理呢
w 是一个变量,你需要在 0 文件夹下创建一个类似 p 的文件,也具有相应的边界条件。
如果是两相扩散或 VOF ,就是说场可以用一个场,但是扩散系数方面就不同,需要从 constant 里面的文件读取,方法可以类似读取粘度的方法。然后每一步计算完成后就更新扩散系数场
前辈我也是这样做的,但是运行案例得时候显示扩散系数没有被定义报错了,