Your browser does not seem to support JavaScript. As a result, your viewing experience will be diminished, and you have been placed in read-only mode.
Please download a browser that supports JavaScript, or enable it if it's disabled (i.e. NoScript).
外部面上的值可以通过边界条件给定,内部面上的值一般均是利用相邻网格单元的值进行插值,比如内部面上的层流粘性系数和湍流粘性系数。通量phi的计算需要面上的速度,也是利用相邻网格单元的速度进行插值再计算。如果现在需要人为给定内部面上的流动参数,并进行流动方程的求解,有什么方法可以实现吗?
为何要强制设定?听起来不符合物理
@东岳 确是可能不太符合物理,或者说是对于内部面围成的封闭区域,比如一个长方形或者一个圆,其内部的网格单元不参与求解,此时内部面类似于外部面的边界,上面的值就需要给定。但OpenFoam仍然将其视为内部面处理,应该如何给定面上的值啊? 采用笛卡尔网格进行计算,而不是贴体网格,圆外的网格单元与圆的边界为内部面,阶梯状的。
不太清楚你在模拟什么问题,如果是两相流的液滴或者气泡,VOF方法把界面附近的边界条件处理为了压力跳跃(表面张力),内部就不需要边界条件了,如果内部是固体的话,固体不变形,画网格的时候直接处理就行,固体变形的话需要流固耦合
@yfclark 目前想用笛卡尔网格来进行计算,贴体网格自然好处理。但以后打算计算边界的运动,不涉及边界的变形,就只是平动和转动。Foam extend 4.0中的浸入边界法比较合适,但它采取的是给定网格单元中心值的办法,而不是直接给定内部面上的值。给定网格中心值,相邻网格面上的值还是正常进行插值计算。给定面上的值,就是要直接给定速度,得到phi(对流项)及通量,给定速度梯度,得到面上应力(laplace项扩散项),大致是这样的思路。
可以对Matrix直接设定cell上的值。类似:
TEqn.setValues(Cells(), 0.0);
可以给方程做一个比较大的源项。
@东岳 setValues实现的是给定网格单元中心的值,源项的话我再想想,谢谢。
@我是河滩 这个图像反应堆,你是做堆物理或热工的?
@D-Benjamin 不是,是个二维圆柱。
@我是河滩 算啥呢老哥,感觉你啥都搞的样子,很神奇
@东岳 运动物体的计算,cfd的方法都很慢啊。
@我是河滩 老哥请问你这块解决了吗,如何控制网格面通量值为0以达到壁面效果。
@xiaolin 没有,给定网格单元值可行。
@我是河滩 那这样在与相邻的计算单元交界面还是会有通量进出吧
@xiaolin 是的