OpenFOAM 提供了很多边界条件供大家选择,
基本的边界条件有
边界类型 | 说明 | 需要的 Variables |
---|---|---|
fixedValue | 在边界上为常量 | value |
fixedGradient | 常梯度 | gradient |
zeroGradient | 零梯度 (外推法) | - |
calculated | 与其他量相关 | - |
mixed | 混合边界条件: valueFraction 为 1 时,为 fixedValue, valueFraction 为 0 时,为 fixedGradient |
refValue, refGradient, valueFraction, value |
directionMixed | 各向异性边界条件混合, valueFraction 设为张量 |
refValue, refGradient, valueFraction, value |
以下是由 fixedValue 派生的边界条件:
边界类型 | 说明 | 需要的 Variables |
---|---|---|
totalPressure | 总压是常量,静压通过计算得出 | p0 |
pressureInletVelocity | 如果入口压力已知, 速度由通量计算出 | value |
pressureDirectedInletVelocity | 如果入口压力已知, 速度由通量计算出, 速度的方向为 inlet 入口方向 |
value, inletDirection |
movingWallVelocity | 移动的固体边界 | value |
surfaceNormalFixedValue | 指定速度的大小,方向为该边界的法向 | value |
turbulentInlet | 根据某一平均量计算脉动量 | referenceField, fluctuationScale |
以下是由 fixedGradient/zeroGradient 派生的边界:
边界类型 | 说明 | 需要的 Variables |
---|---|---|
fluxCorrectedVelocity | 法向分量由计算得出 | value |
wallBuoyantPressure | 根据大气压力设置压力梯度 | value |
基于 mixed 派生的边界有:
边界类型 | 说明 | 需要的 Variables |
---|---|---|
inletOutlet | 以流动方向, fixedValue 与 zeroGradient 切换。 入流为 fixedValue,出流为 zeroGradient |
inletValue, value |
outletInlet | 以流动方向, fixedValue 与 zeroGradient 切换。 出流为 fixedValue,入流为 zeroGradient |
outletValue, value |
pressureInletOutletVelocity | 联合 pressureInletVelocity与 inletOutlet | value |
pressureDirectedInletOutletVelocity | 联合 pressureDirectedInletVelocity 与 inletOutlet | value |
pressureTransmissive | 传递超音速压力波 | pInf |
supersonicFreeStream | 超音速自由流 | pInf, TInf, UInf |
其他边界条件
边界类型 | 说明 | 需要的 Variables |
---|---|---|
slip | 完全滑移固体边界 | - |
partialSlip | 联合 slip 与 zeroGradient 与 valueFraction 相关 (0 = slip) |
valueFraction |
noSlip | 固体边界上的速度设为 0 | - |
value 设置形式
value uniform 0.89; // 统一标量
value uniform (0 5 0); // 统一向量
value nonuniform List<scalar> // 非统一标量场
900 // 900 个表面上的值
(
0 // 第 0 个,按 C++ 标准,从 0 开始
5
...
15 // 第 899 个
);
value nonuniform List<vector> // 非统一向量场
900 // 900 个表面上的值
(
(0 5 0) // 第 0 个,按 C++ 标准,从 0 开始
(0 5 0)
...
(0 15 0) // 第 899 个
);