OpenFOAM中包含大量的边界类型与边界条件,在使用的时候需要灵活组合使用。
1 边界类型
-
边界类型在文件
constant/polyMesh/boundary
中进行指定 -
OF中包含的边界类型如表所示。
Boundary type | Description |
---|---|
patch | 一般边界 (如 inlet, outlet) |
symmetryPlane | 对称边界 |
empty | 空边界,仅用于2D计算 |
wedge | 轴对称边界 |
cyclic | 周期边界 |
cyclicAMI | 一般循环边界及周期边界 |
wall | 刚性壁面 |
processor | 内部处理边界 (并行计算中) |
2 inlet边界条件
2.1 Fixed Velocity边界条件
用于简单指定边界上的速度分量。常采用的方式包括:
//p文件
boundaryField
{
".*_inlet"
{
type zeroGradient;
}
}
//U文件
boundaryField
{
".*_inlet"
{
type fixedValue;
value ( 1 0 0 );
}
}
2.2 Total Pressure边界
总压边界指定入口的总压值。注意对于不可压缩流动,指定的总压值需要除以流体的密度,其量纲为m2/s2
常采用 的方式:
//p文件
boundaryField
{
".*_inlet"
{
type totalPressure;
p0 uniform 97.5;
gamma 0.0;
value $internalField;
}
}
//U文件
boundaryField
{
".*_inlet"
{
type pressureInletVelocity;
value $internalField;
}
}
2.3 Flow Rate边界
指定入口的流量信息。注意对于不可压缩流动,入口流量需要除以密度,因此是体积流量。
文件形式:
//p文件
boundaryField
{
".*_inlet"
{
type zeroGradient;
}
}
//U文件
boundaryField
{
".*_inlet"
{
type flowRateInletVelocity;
massFlowRate 6.8;
value $internalField;
}
}
2.4 入口湍动能k
指定入口湍动能,在0/k文件中修改。常见的k值为2%~5%。
//k文件
boundaryField
{
".*_inlet"
{
type turbulentIntensityKineticEnergyInlet;
intensity 0.05;
value $internalField;
}
}
2.5入口omega
当使用kOmega系列湍流模型计算时,需要指定omega文件。此边界有两种指定方式:
1、指定一个均匀的值
//omega文件
boundaryField
{
".*_inlet"
{
type fixedValue;
value uniform 1000;
}
}
2、指定湍流混合长度
//omega文件
boundaryField
{
".*_inlet"
{
type compressible::turbulentMixingLengthDissipationRateInlet;
mixingLength 0.1;
phi phi;
k k;
value $internalField;
}
}
对于内部流动,mixingLength值等于水力直径。
2.6 入口epsilon
入口湍流耗散率epsilon与omega的处理方式相同。
3 outlet边界条件
出口边界常包括静压边界
3.1 Fixed Static Pressure
在出口位置指定恒定静压力。注意对于不可压缩流动,这里的压力值要除以密度值,其量纲为2/s2。
//p文件
boundaryField
{
".*_outlet"
{
type fixedValue;
value uniform 0;
}
}
3.2 Zero Gradient边界
属于Neumann边界条件,其包含两类:zeroGradient边界条件及inletOutlet边界条件。
1、zeroGridient边界
指定该类型时无需指定任何数值。
常用形式:
//U, k, omega, epsilon, T文件
boundaryField
{
".*_outlet"
{
type zeroGradient;
}
}
2、inletOutlet边界
该边界与zeroGradient通常情况下等效,然而当边界存在回流时,此边界会转换为入口fixedValue边界。换句话说:当流体流出时采用zeroGradient,当流体流入时采用fixedValue
常用形式:
//U文件
boundaryField
{
".*_outlet"
{
type inletOutlet;
value $internalField;
inletValue uniform (0 0 0);
}
}
//k, omega, epsilon, T文件
boundaryField
{
".*_outlet"
{
type inletOutlet;
value $internalField;
inletValue uniform 0;
}
}
3.3 周期(循环)边界
该边界条件用于cyclicAMI边界类型。
1、一般循环边界cyclicAMI
如boundary文件中的定义:
boundaryField
{
rotor_periodic_1
{
type cyclicAMI;
inGroups 1(cyclicAMI);
matchTolerance 0.1;
transform rotational;
neighbourPatch rotor_periodic_2;
rotationAxis (0 0 1);
rotationCentre (0 0 0);
nFaces 1628;
startFace 171370;
}
}
可定义边界条件:
//p, U, k, omega, epsilon, T文件
boundaryField
{
rotor_periodic_1
{
type cyclicAMI;
}
}
2、cyclic边界
如在boundary文件中定义了边界:
boundaryField
{
rotor_periodic_1
{
type cyclic;
inGroups 1(cyclic);
matchTolerance 0.1;
transform rotational;
neighbourPatch rotor_periodic_2;
rotationAxis (0 0 1);
rotationCentre (0 0 0);
nFaces 1628;
startFace 171370;
}
}
则可以定义边界条件:
//p, U, k, omega, epsilon, T文件
boundaryField
{
rotor_periodic_1
{
type cyclic;
}
}
4 壁面边界
OF中的壁面边界通常采用Slip或noSlip。它们区别在于:
-
noSlip边界条件等同于fixedValue边界条件指定速度为零
-
Slip边界条件将删除面上变量的法向分量,并保持切向分量不变。它与symmetry边界非常相似。请记住,symmetry是一种边界类型,而Slip是一种边界条件
END
本篇文章来源于微信公众号: CFD之道
评论前必须登录!
注册