1.在ICEM中換分網格,把將要組合的兩個面命名為“INTERFACE_A”和“INTERFACE_AA”, 注意,不要將這兩個面上的節點合並。
2.將ICEM中划分好的網格放在算例文件夾中,使用下面命令轉化成OpenFOAM網格:
fluent3DMeshToFoam XXX.msh
3.在算例文件夾/system/路徑下創建createPatchDict文件:
touch createPatchDict
在createPatchDict中復制下面內容:
/*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 5 | | \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class dictionary; object createPatchDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // pointSync false; patches ( { name AMI_A; //交界面的名字 patchInfo { type cyclicAMI; //交界面類型 neighbourPatch AMI_AA; //與之相匹配的交界面名字 transform noOrdering; } constructFrom patches; //使用patches的方法創建cyclicAMI patches (INTERFACE_A); //patches的名字 } { name AMI_AA; patchInfo { type cyclicAMI; neighbourPatch AMI_A; transform noOrdering; } constructFrom patches; patches (INTERFACE_AA); } ); // ************************************************************************* //
之后在終端輸入
createPatch -overwrite
便生成名字為“AMI_A”和“AMI_AA”的兩個cyclicAMI面,在算例/0/文件夾下,這兩個壁面的邊界條件的值均與內部流場InternalField一致,比如p文件和U文件:
p文件:
dimensions [0 2 -2 0 0 0 0]; internalField uniform 0; boundaryField { WALL { type zeroGradient; } INLET { type zeroGradient; } OUTLET { type fixedValue; value uniform 0; } AMI_A { type cyclicAMI; value uniform 0; } AMI_AA { type cyclicAMI; value uniform 0; } }
U文件
dimensions [0 1 -1 0 0 0 0]; internalField uniform (0 0 0); boundaryField { WALL { type noSlip; } INLET { type fixedValue; value uniform (15 0 0); } OUTLET { type zeroGradient; } AMI_A { type cyclicAMI; value uniform (0 0 0); } AMI_AA { type cyclicAMI; value uniform (0 0 0); } }
應該注意:互為cyclicAMI的兩個面,應該大小相等。