su_junwei 发表于 2009-5-17 02:39:33

[转贴]OpenFOAM不可压缩流边界条件的设定之我见

边界条件是设定正确与否是决定计算成功与否的关键因素。边界条件有物理边界条件和数值边界条件之分。

物理边界条件是根据某种物理现象而对速度和压力必须满足某种数值行为而定义的边界条件,比如fluent中的pressureOutletorvelocityinlet等。此类边界条件是软件公司为了减少用户的逐个对每个变量进行设定而引起麻烦而定义的一种数值边界条件集合。比如fluent中pressureOutlet边界条件为该边界压力指定,其他变量梯度为0,这样设定,给用户带来了很多方便,但同时限制了用户的选择性。比如我想在压力边界上设定某个标量为指定值,这就很难在fluent中办到。openfoam中的foamX也为大家定义了一些物理边界条件,比如wall,atmosphere等。我很少用foamX,因为使用起来比较麻烦,不如直接对文件进行编辑。这也是在本站博文中没有对foamX进行介绍的一个原因。

数值边界条件:就是我们经常所说的第一类边界条件(定值边界)和第二类边界条件(梯度边界)。在openfoam的初始化文件中就需要指定边界条件就是这种数值边界条件。不像fluent那样,在用gambit画几何时候指定的边界条件可以是fluent中的物理边界条件。而openfoam中画网格的时候,需要指定相应的几何边界,也就是基本边界类型:patch:基本边界,symmetryPlane对称板,empty:空边界,用于二维流动,wedge:用于轴对称模拟,cyclic:循环边界,wall:墙边界(主要运用湍流流动的壁面函数),inter-processor:处理器边界。除了几何上有特殊性的边界,如墙,对称轴,循环边界,空边界,周期边界,wedge性边界,其他所有的边界都指定为patch。

边界条件指定:
在openfoam的初始化文件中(0文件夹中的文件),boundaryField下面的东西用于指定边界条件。
《1》压力-速度
对于不可压缩流动边界而言,知道了压力就可以求出速度,知道了速度就可以求解出压力,在指定的边界条件的时候压力速度必须耦合。也就是说,压力和速度不能同时为第一类或者同时为第二类边界。换句话说是压力指定,速度必须是由程序算出来的,速度指定,压力必须是算出来的。这是针对不可压缩流动而言,速度和压力相互制约,如果由其他变量影响速度和压力,比如浮力驱动流动,压力速度受温度的影响,这种除外。
《2》其他标量
对速度没有影响的其他标量的边界条件,所有的边界不能同时为第二类边界,这样会造成全场的均匀,但压力可以所有都为第二类边界,因为他受速度的影响。

以上只是我个人浅见,不一定正确,仅供参考。 欢迎大家批评指正。

转自OpenFOAM研究:http://blog.sina.com.cn/openfoamresearch
页: [1]
查看完整版本: [转贴]OpenFOAM不可压缩流边界条件的设定之我见