关于MRF的疑问
-
大家好!我想使用simpleFoam+MRF计算SRFSimpleFoam的算例mixer,但是结果不一样。innerwall的速度分布不同。
下图为使用SRFSimpleFoam的innerwall速度矢量图:
下图为使用simpleFoam+MRF的innerwall速度矢量图:
可见使用MRF时,innerwall没有转动速度,另外,在同样使用simpleFoam+MRF的mixerVessel2D中,rotor如下图同样没有转动速度:
因此我的问题是:- 使用MRF时为什么转动边界上的速度为0?
- MRF计算得到的速度是绝对速度还是相对速度?
- 如何利用simpleFoam+MRF代替SRFSimpelFoam?
-
@Izumi 我是将整个区域设置为MRFzone,MRFProperties文件如下:
FoamFile { version 2.0; format ascii; class dictionary; location "constant"; object MRFProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // MRF1 { cellZone rotorcellZoneSet; active yes; // Fixed patches (by default they 'move' with the MRF zone) nonRotatingPatches (inlet); origin (0 0 0); axis (0 0 1); omega 104.72; } // ************************************************************************* //
-
@Izumi 我的U文件如下:
FoamFile { version 2.0; format ascii; class volVectorField; location "0"; object U; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // dimensions [0 1 -1 0 0 0 0]; internalField uniform (0 0 -10); boundaryField { inlet { type fixedValue; value uniform (0 0 -10); } outlet { type pressureInletOutletVelocity; value $internalField; } innerWall { type noSlip; } outerWall { type noSlip; } cyclic_half0 { type cyclic; } cyclic_half1 { type cyclic; } } // ************************************************************************* //
p文件如下:
FoamFile { version 2.0; format ascii; class volScalarField; location "0"; object p; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // dimensions [0 2 -2 0 0 0 0]; internalField uniform 0; boundaryField { inlet { type zeroGradient; } outlet { type fixedValue; value uniform 0; } innerWall { type zeroGradient; } outerWall { type zeroGradient; } cyclic_half0 { type cyclic; } cyclic_half1 { type cyclic; } } // ************************************************************************* //
-
云图显示的不是很清楚。中间那个棒棒是什么?。。
使用MRF时为什么转动边界上的速度为0?
取决于你的边界条件以及paraview显示的数据。
MRF计算得到的速度是绝对速度还是相对速度?
绝对速度
如何利用simpleFoam+MRF代替SRFSimpelFoam?
后者已经被全面取代了。
另外,有个重要的区别:MRF和SRF不一样。如果你用SRF,就不能用MRF。一个是单坐标系,一个是多坐标系。
-
@赵一铭 你好,我算的模型是搅拌器:
如上图,中间的“棒棒”是搅拌器的叶片,也就是innerwall,它是转动的;outerwall是静止的。
我是将整个计算区域设置为一个MRF区域,inlet不随MRF转动,给的边界条件如之前的U文件中所示,innerwall和outerwall都是noslip。
问题在于:使用SRFSimpleFoam时,innerwall设置为noslip后,利用paraview查看绝对速度时,如第一张图,innerwall是具有转动速度的。而使用simpleFoam+MRF时,将innerwall设置为noslip后,利用paraview查看绝对速度时,如第二(我在算的算例)、第三(OpenFOAM自带算例mixerVessel2D)张图,包含在MRF区域中的innerwall都没有转动速度。请问这是为什么?谢谢! -
将整个计算区域设置为一个MRF区域
MRF在名字上叫做多重参考系,就是multiple reference frame,因此你不能将全部计算域设置为单一的多参考系。你最好使用
SRFsimpleFoam
,更加合理,不能使用simpleFoam
。从速度矢量来看,simpleFoam
模拟的也不是正确的。另外,MRF模拟一般采用
fixedValue
边界,虽然在常规物理边界上fixedValue
和noSlip
是一样的,但是尚未确认在MRF中是否一致。 -
@izumi 如果outerWall是静止的,那么在设置MRFProperties时,nonRotatingPatches是否应该包含outerWall?
-
nonRotatingPatches
是用来设置AMI边界条件的 :expressionless: -
@东岳 @Izumi
有没有关于MRF的相关文献推荐下啊 -
@izumi 我理解是这样:SRF给边界是相对速度,所以跟着坐标系一起转。MRF是绝对速度,所以固定不动。
-
@yhdthu 这个女孩纸3个月之前还上线过
-
@李东岳 哈哈哈,物理隔绝了