低雷诺数湍流模型的阻尼函数
在湍流模拟(尤其是 RANS 模型)中,Viscous Damping Function(粘性阻尼函数),通常简称为“阻尼函数”或“衰减函数”,是一个至关重要的修正系数。 它的核心作用是:在靠近壁面的区域,强制“关闭”或“削弱”湍流模型的作用,让流动行为回归到分子粘性主导的状态。 以下是通俗易懂的详细解释,涵盖了“为什么需要它”、“它怎么工作”以及“它的局限性”。 1. 为什么需要它?(物理背景)大多数经典的湍流模型(比如标准 $k-\epsilon$ 模型)最初是为了模拟高雷诺数的主流区而开发的。在这些区域,湍流涡的混合作用非常强烈,远远超过流体本身的粘性。 但是,在紧贴着固体壁面的地方(即粘性底层 Viscous Sublayer),情况完全不同: 壁面限制: 壁面的存在抑制了法向的速度脉动(流体不能穿过墙壁),导致湍流这种“乱动”的行为被迫平息。 粘性主导: 在离墙很近的地方,流体的分子粘性(Viscosity)起主导作用,剪切应力主要由分子摩擦产生,而不是湍流混合。 如果你直接把高雷诺数模型(High-Re Model)用到墙壁附近,模型会错误地预测出很强的湍流粘度(...
描述湍流的 20 个高频词
描述湍流(Turbulence)时,无论是在学术论文、CFD 仿真报告(如使用 OpenFOAM)还是流体力学教材中,以下这 20 个形容词是出现频率极高的。 为了方便你理解和使用,我将它们分成了四个维度: 一、 描述流动状态与特性 (State & Characteristics)这些词用于定义流动的基本物理属性。 Chaotic (混沌的) 最本质的特征。指流动表现出高度的无序性和对初始条件的敏感依赖。 例句:Turbulent flow is characterized by chaotic property changes. Stochastic (随机的) 指流动参数(速度、压力)随时间的变化不可预测,只能通过统计学方法描述。 例句:The velocity fluctuations are purely stochastic in nature. Unsteady (非定常的/不稳定的) 指流动随时间不断变化,湍流本质上就是非定常的。 例句:RANS models average out the unsteady turbulent str...
simpleFoam 源码走读:SIMPLE 迭代的调用链
适用范围:ESI v2406 的 classic `simpleFoam`;Foundation 13 没有独立的 simpleFoam,等价物是 `foamRun -solver incompressibleFluid` 配稳态格式,结构相同。最后核对:2026-09-17。 SIMPLE 的算法描述(acronym 展开、官方步骤表)见系列总览。本文自底向上走读源码:主循环怎么组织、`UEqn.H` 和 `pEqn.H` 各做什么、欠松弛和 SIMPLEC 出现在哪一行。 主循环骨架`simpleFoam.C` 的 `main` 在初始化后进入: 12345678910111213141516while (simple.loop()){ Info<< "Time = " << runTime.timeName() << nl << endl; // --- Pressure-velocity SIMPLE corrector { #include &qu...
OpenFOAM 中的 LTS:局部伪时间步不是物理时间
适用范围:本文以 OpenFOAM Foundation 13 的 localEulerDdtScheme 和 SLTSDdtScheme 源码说明为准。OpenCFD 发行线以及第三方多区域求解器的配置和能力可能不同。 先说结论OpenFOAM 中的 localEuler 和 SLTS 是局部伪时间步离散。不同单元可以使用不同的局部步长,以改善稳态收敛过程;这些步长不能组成一个全域一致的物理时刻,因此不能用它们解释真实瞬态历程。 Foundation 13 的源码说明明确限定:localEuler 应用于“使用瞬态代码进行稳态计算”的场景。SLTS 在此基础上调整局部步长,使对流方程保持对角占优。 与三种常见时间设置的区别 设置 时间导数 目标 可以解释物理瞬态吗 steadyState 直接置零 经典稳态迭代 否 Euler / backward 使用统一物理时间步 瞬态推进 是,仍需满足时间精度要求 localEuler / SLTS 每个单元使用局部伪时间尺度 用瞬态形式加速稳态收敛 否 所以,“LTS 可以大幅加速瞬态计算”...
potentialFoam 势流初始化:用途与边界
适用范围:本文依据 OpenCFD v2306 的 `potentialFoam` 文档说明概念;命令参数应以所用发行版的 `potentialFoam -help-full` 为准。 `potentialFoam` 求解速度势 $\Phi$,由此得到不可压缩体积通量和单元中心速度。官方给出的主要用途是为后续黏性计算提供初始速度场。 其核心方程写作: $$ \nabla^2\Phi = \nabla\cdot\phi, $$ 然后由面通量重构速度。该工具不包含黏性、湍流或分离流动等物理模型,所以结果不是 `simpleFoam` 稳态解的廉价替代品。 什么时候可以尝试 初始速度场与边界通量明显不一致,导致压力修正初期震荡; 复杂入口/出口条件下,希望先得到近似无散的内部速度场; 需要在正式计算前检查速度边界和通量方向。 典型调用形式是: 1potentialFoam -initialiseUBCs 部分版本还提供 `-writePhi`、`-pName` 等选项。运行后应检查连续性误差、边界通量和写出的 `U`,再启动正式求解器。 不能预先保证的事是否减少 `s...
renumberMesh 与 Cuthill–McKee:为什么重编号能降低矩阵带宽
适用范围:OpenFOAM Foundation 13。命令选项和默认方法以该版本源码为准。最后核对:2026-09-16。 `renumberMesh` 改变的是网格实体的编号顺序,不改变单元几何、拓扑连接或物理模型。它的目标是让相互连接的单元在编号上尽量靠近,从而降低离散方程矩阵的带宽,并改善矩阵访问的局部性。 从网格编号到矩阵带宽有限体积离散后,每个单元对应矩阵的一行。两个单元共享内部面时,它们之间通常会产生非零的非对角系数。若共享面的 owner 和 neighbour 编号相差很大,这个非零元会离主对角线很远。 可以用内部面上的最大编号差近似理解带宽: $$ B = \max_f \left|i_{\mathrm{neighbour},f}-i_{\mathrm{owner},f}\right|. $$ 网格的物理形状不变时,重新排列单元编号就等价于同时置换矩阵的行和列。线性系统的数学解不因此改变,但存储访问顺序、缓存命中和部分预条件器的工作特征可能改变。 Foundation 13 的默认行为Foundation 13 源码说明,`renumberMesh` 默认...
雷诺数(Reynolds Number)——流动性格的判定者
雷诺数(Reynolds Number,简称 Re)是流体力学中第一个、也是最重要的无量纲数——其他无数无量纲数要么以它为构件(Re·Pr、Gr/Re²),要么与它对标设计实验。它回答的问题看似简单:这团流动里,惯性和粘性谁说了算?但答案决定了流动是层流还是湍流、边界层是薄是厚、网格第一层该多细、模型实验可不可信。做 CFD 的人每一次开新算例,第一个估的数就是 Re。 定义与表达式$$ Re = \frac{\rho V L}{\mu} = \frac{VL}{\nu} $$ 其中: $\rho$:流体密度(kg/m³); $V$:特征速度(m/s); $L$:特征长度(m),管道取直径,机翼取弦长,船舶取船长; $\mu$:动力粘度(Pa·s); $\nu = \mu/\rho$:运动粘度(m²/s)。 分子 $\rho V L$ 表征惯性力(对流输运强度),分母 $\mu$ 表征粘性力(扩散输运强度),所以 Re 的本质是动量的对流输运与扩散输运之比——这与佩克莱数(Pe)在热量输运上的角色完全同构。 物理意义:三条临界线 管流(...
动网格下满足空间守恒律的控制方程推导
动网格下推导满足Spatial Conservation Law的控制方程首先,考虑一维的连续性方程: $$ \frac{\partial \rho}{\partial t} + \frac{\partial \rho v}{\partial x} =0 \\ \int\frac{\partial \rho}{\partial t} dt + \int \frac{\partial \rho v}{\partial x} dx =0 \tag{1} \label{eq1} $$推导,并使用莱布尼兹法则$$ d\rho=\frac{\partial \rho}{\partial x} dx + \frac{\partial \rho}{\partial t}dt \\ \frac{\partial \rho}{\partial t} = (d\rho - \frac{\partial \rho}{\partial x}dx)/dt=\frac{d\rho}{dt}-\frac{\partial \rho}{\partial x}\cdot \frac{dx}{dt} \tag{2}...
动网格 + MULES + 界面捕捉:interFoam 动网格总结
动网格+MULES+界面捕捉总结 理论公式推导其中ALE形式的VOF方程见式。$$ \begin{equation} \begin{aligned} & \frac{\partial \phi}{\partial t}+\nabla \cdot(\boldsymbol{u} \phi)=0 \end{aligned} \end{equation} $$ $$ \begin{equation} \begin{aligned} & \frac{\partial}{\partial t} \int_{\Omega_\chi} \phi d \Omega+\int\left(\boldsymbol{u}-\boldsymbol{u}_g\right) \phi d \boldsymbol{S}=0 \end{aligned} \end{equation} $$ $$ \begin{equation} \begin{aligned} & \frac{\partial V_i}{\partial t}+\sum \boldsymbol{u}_{g, f} \bol...
chtMultiRegionFoam 共轭传热求解器:结构与实际案例
chtMultiRegionFoam求解器- 文集 哔哩哔哩专栏 实际案例案例典型结构123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172$FOAM_TUTORIALS/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater > tree -L 3.├── 0.orig│ ├── T│ ├── U│ ├── alphat│ ├── epsilon│ ├── k│ ├── p│ ├── p_rgh│ └── rho├── Allclean├── Allrun -> Allrun-parallel├── Allrun-parallel├── Allrun-serial├── constant│ ├── bottomAir│ │ ├── radiationPro...
