在 buoyantSimpleFoam.C 文件里有一句话,
可以看一下 buoyantSimpleFoam (稳态求解器) 的方程,对应的瞬态求解器是 buoyantPimpleFoam ,除了算法上有些区别以外,方程上就是有无时间项的区别了。可以一起看一下方程,连续性方程为
\begin{align}
\frac{\partial \rho}{\partial t} + \nabla \cdot \left( \rho \boldsymbol{u} \right) = 0, \tag{1} %\label{eq:mass}
\end{align}
动量方程为
\begin{align}
\frac{\partial \left(\rho \boldsymbol{u} \right)}{\partial t} + \nabla \cdot \left(\rho\boldsymbol{u}\boldsymbol{u}\right) = &-\nabla p + \rho \boldsymbol{g} + \nabla \cdot \left(2 \mu_{eff} D \left( \boldsymbol{u} \right) \right) \\
& -\nabla \left( \frac{2}{3}\mu_{eff}\left(\nabla \cdot \boldsymbol{u} \right) \right), \tag{2} %\label{eq:momentum}
\end{align}
式中, p 是静态压力, g 为重力加速度, D 为形变速率张量算子 D(\boldsymbol{u})=\dfrac{1}{2} \left( \nabla \boldsymbol{u} +(\nabla \boldsymbol{u})^T \right) 。
如果是稳态求解器 buoyantSimpleFoam,两个方程的时间项都取消了 \dfrac{\partial \rho}{\partial t} , \dfrac{\partial \left(\rho \boldsymbol{u} \right)}{\partial t} ,在 OpenFOAM 中, \nabla p 和 \rho g 都重整了,
\begin{align}
-\nabla p + \rho \mathbf{g} = & -\nabla\left(p_{rgh} + \rho\boldsymbol{g}\cdot \mathbf{r} \right) + \rho \boldsymbol{g}\\
=& -\nabla p_{rgh} - (\boldsymbol{g}\cdot \boldsymbol{r}) \nabla\rho - \rho \boldsymbol{g} + \rho \boldsymbol{g} \\
=& -\nabla p_{rgh} - (\boldsymbol{g}\cdot \boldsymbol{r}) \nabla\rho
\end{align}
式中, \boldsymbol{r} 是位置向量, p_{rgh} = p-\rho\boldsymbol{g}\cdot \boldsymbol{r} 。
能量方程, h 方程
\begin{align}
&\frac{\partial \left(\rho h \right)}{\partial t} + \nabla \cdot \left( \rho \boldsymbol{u} h \right) + \frac{\partial \left(\rho K \right)}{\partial t} + \nabla \cdot \left( \rho \boldsymbol{u} K \right) -\frac{\partial p}{\partial t} \\
&= \nabla \cdot \left( \alpha_{eff} \nabla h \right) + \rho \boldsymbol{u} \cdot \boldsymbol{g} \tag{4} %\label{eq:energyH}
\end{align}
或 e 方程
\begin{align}
&\frac{\partial \left(\rho e \right)}{\partial t} + \nabla \cdot \left( \rho \boldsymbol{u} e \right) + \frac{\partial \left(\rho K \right)}{\partial t} + \nabla \cdot \left( \rho \boldsymbol{u} K \right) + \nabla \cdot \left( p \boldsymbol{u} \right) \\
&= \nabla \cdot \left( \alpha_{eff} \nabla e \right) + \rho \boldsymbol{u} \cdot \boldsymbol{g} \tag{5} %\label{eq:energyE}
\end{align}
式中, K=\dfrac{\boldsymbol{u}^2}{2} 为单位质量的动能, h=e+\dfrac{p}{\rho} 为单位质量的焓。
热耗散速率 \alpha_{eff}/\rho 定义为层流和湍流的热耗散率之和
\begin{align}
\alpha_{eff} = \frac{\rho \nu_t}{Pr_t} + \frac{\mu}{Pr} = \frac{\rho \nu_t}{Pr_t} + \frac{k}{c_p}, \tag{7} %\label{eq:alphaEff}
\end{align}
k 为热导率, c_p 为比热, \mu 为粘度, \nu_t 为湍流运动粘度, Pr 为普朗特常数, Pr_t 为湍流普朗特常数。需要注意的是, \alpha_{eff} 会根据不同的传热模型进行调整。
根据以上模型,可以看到, buoyantSimpleFoam 类的求解器原则上是可以求解有浮力的、可压缩的、湍流的热流动。你提到的封闭几何只是一种边界条件。