OpenFOAM重叠网格
-
背景网格和组件网格分别生成,重叠区域的边界设置成overset,边界处求解,中间重叠的部分插值。我对求解器内部求解过程不是很清楚。之前用blockMesh生成2个重叠的block,重叠区域的边界设置成overset,可以求解。
-
我想用snappyHexMesh做一个导入stl几何形体的组件网格,用blockMesh做背景网格,之后设置重叠网格算例。
但如果先用snappyHexMesh,后用blockMesh,组件网格就被背景网格覆盖了;如果先做背景网格,后做组件网格,用snappyHexMesh后两套网格合在一起,也不能进行后续求解。 -
@stergopilot 哦,那你应该在两个目录分别生成两套网格,然后用
mergeMesh
命令把两套网格合并起来。 -
好的,多谢,我试一试。
-
@stergopilot 您好,有一些重叠网格的问题想请教一下,能不能加下我qq或者微信呀541658583,谢谢!
-
@kennyadapter 应该是算例设置问题。能否看下你的网格、速度和压力场?
-
@wwzhao 非常感谢您的回复。
我的两套网格是都是通过blockMesh建立的方形区域,配置文件如下:
背景网格:vertices ( (0 0.09 -1.5) (2.5 0.09 -1.5) (2.5 0.11 -1.5) (0 0.11 -1.5) (0 0.09 1) (2.5 0.09 1) (2.5 0.11 1) (0 0.11 1) ); blocks ( hex (0 1 2 3 4 5 6 7) (500 1 500) simpleGrading (1 1 1) ); edges ( ); boundary ( // Dummy patch to trigger overset interpolation before any other // bcs oversetPatch { type overset; faces (); } stationaryWalls { type wall; faces ( (0 3 2 1) ); } inlet { type patch; faces ( (0 4 7 3) ); } outlet { type patch; faces ( (2 6 5 1) ); } frontAndBack { type empty; faces ( (1 5 4 0) (3 7 6 2) ); } atmosphere { type patch; faces ( (4 5 6 7) ); } ); mergePatchPairs ( );
子网格:
convertToMeters 1; vertices ( (0.275 0.09 -0.1) (0.875 0.09 -0.1) (0.875 0.11 -0.1) (0.275 0.11 -0.1) (0.275 0.09 0.4) (0.875 0.09 0.4) (0.875 0.11 0.4) (0.275 0.11 0.4) ); blocks ( hex (0 1 2 3 4 5 6 7) inletChannel (230 1 100) simpleGrading (1 1 1) ); edges ( ); boundary ( sides { type overset; faces ( (0 3 2 1) (2 6 5 1) (0 4 7 3) (4 5 6 7) ); } frontAndBack { type empty; faces ( (1 5 4 0) (3 7 6 2) ); } floatingObject { type wall; faces (); } );
在子网格用snappyHexMesh生成楔形:
将两套网格结合起来:
速度边界条件:boundaryField { #includeEtc "caseDicts/setConstraintTypes" inlet { type waveVelocity; value uniform (0 0 0); } outlet { type waveVelocity; value uniform (0 0 0); } stationaryWalls { type fixedValue; value uniform (0 0 0); } atmosphere { type pressureInletOutletVelocity; value uniform (0 0 0); } floatingObject { type movingWallVelocity; value uniform (0 0 0); } }
压力:
boundaryField { inlet { type fixedFluxPressure; value uniform 0; } outlet { type fixedFluxPressure; value uniform 0; } oversetPatch { type overset; } stationaryWalls { type fixedFluxPressure; } atmosphere { type totalPressure; p0 uniform 0; U U; phi phi; rho rho; psi none; gamma 1; value uniform 0; } floatingObject { type fixedFluxPressure; } overset { patchType overset; type fixedFluxPressure; } }
速度场:
压力场:
-
-
@kennyadapter 您好,您用的是2D overset网格吗?
是的话,SNAPPY之后不是要extrudemesh一下,这个有什么要注意的问题吗?
因为我merge之后,两套网格不在一个平面上。。