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 个
);