Advanced Search
Search Results
101 total results found
12.3 二维结构网格生成器
12.3 二维结构网格生成器 grid_struct_2d 目录包含三个生成二维外流与内流结构网格的程序。第一个的源代码位于 cgrid 子目录,用于生成翼型周围 C 型网格,见11.1.1节及图11.6。初始网格用式(11.5)的线性 TFI 代数方法生成,再利用椭圆型偏微分方程(11.1.3节),生成具有指定壁面间距的边界正交网格。翼型轮廓用 Bézier 样条近似;相关入门介绍见文献 [1,2]。 第二个程序生成带圆弧凸起的二维通道内部代数网格,网格点在凸起的前端和后端附近加密。源代码位于 channel 子...
12.4 结构网格转非结构网格程序
12.4 结构网格转非结构网格程序 grid_unstr_2d 目录中的程序,将二维结构网格转换为非结构三角形网格。它连接距离较短的一对对角节点,将结构网格的每个四边形单元划分为两个三角形。所得网格可作为12.7节非结构流动求解器的输入。
12.5 准一维 Euler 求解器
12.5 准一维 Euler 求解器 structured_1d 目录包含求解准一维 Euler 方程的程序,描述喷管或管道中的无黏流动。方程的守恒微分形式为 $ [3] $ $$ \frac{\partial\vec{W}}{\partial t}+\frac{\partial\vec{F_{c}}}{\partial x}=\vec{Q}.\tag{12.3} $$ 守恒变量、对流通量及源项的矢量分别为 $$ \vec{W}=\begin{bmatrix}\rho A\\ \rho u A\\ \rho E ...
12.6 二维结构 Euler/Navier–Stokes 求解器
12.6 二维结构 Euler/Navier–Stokes 求解器 structured_2d 目录包含在结构贴体网格上求解二维 Euler 方程和 Navier–Stokes 方程的程序。空间离散基于4.2.1节的单元中心有限体积方法,采用4.3.1节的带标量人工耗散中心格式,以及4.3.3节的 Roe 迎风格式。控制方程用显式多级格式积分,见6.1.1或6.1.2节,并通过局部时间推进(9.1节)及中心隐式残差光顺(9.3.1节)加速。速度分量与温度梯度采用4.4.1节的对偶控制体方法计算。 图12.2 密...
12.7 二维非结构 Euler/Navier–Stokes 求解器
12.7 二维非结构 Euler/Navier–Stokes 求解器 unstructured_2d 和 C++/unstructured_2d 目录包含在非结构三角形网格上求解二维 Euler 方程与 Navier–Stokes 方程的程序。空间离散采用5.2.2节的中位对偶单元顶点格式。对流通量、黏性通量及梯度的计算采用基于边的数据结构。程序还可模拟极低马赫数的不可压缩流动,见9.5节。 流动求解器的源代码位于 src 子目录;输入文件、网格与结果位于 run 子目录;doc 子目录包含文件、模块、函数和变量的...
12.8 并行化
12.8 并行化 Parallelization 目录包含采用异步代理库、CUDA、MPI 和 OpenMP 实现的并行程序示例,见9.6节。待并行化的程序求解二维 Laplace 方程, $$ \phi_{x x}+\phi_{yy}=0\tag{12.6} $$ 采用结构矩形网格与 Jacobi 迭代,迭代过程中边界值保持固定。 图12.9 叶栅内部的压力等值线。 示例采用 C(CUDA 和 MPI)及 C++ 编写。MPI 的编译由 Makefile 控制,其余示例提供 Visual Studio 2...
12 参考文献
参考文献 [1] Farin GE. Curves and surfaces for computer aided geometric design—a practical guide. 3rd ed. Boston: Academic Press; 1993. 题名中译:计算机辅助几何设计的曲线与曲面:实用指南,第3版。 [2] Hoschek J, Lasser D. Fundamentals of computer aided geometric design. Wellesley, MA: A.K. Pet...
A.1 控制方程的微分形式
附录 A.1 控制方程的微分形式 假设对流通量与黏性通量连续,则先应用 Gauss 定理,可将控制方程(2.19)由积分形式转为微分形式,得到 $$ \frac{\partial}{\partial t}\int_{\Omega}\vec{W}\mathrm{d}\Omega+\int_{\Omega}\vec{\nabla}\cdot\left(\overline{{\overline{{F}}}}_{c}-\overline{{\overline{{F}}}}_{ v}\right)\mathrm{d}\Ome...
A.2 Euler 方程的拟线性形式
A.2 Euler 方程的拟线性形式 这种形式有助于理解控制方程的数学性质,也便于发展和分析数值格式。 拟线性形式由控制方程的微分形式(A.4)推导得到。这里仅考虑 Euler 方程,即 $$ \frac{\partial\vec{W}^{*}}{\partial t}+\frac{\partial\vec{F}_{c,1}}{\partial\xi}+\frac{\partial\vec{F}_{c,2}}{\partial\eta}+\frac{\partial\vec{F}_{c,3}}{\partial\z...
A.3 控制方程的数学类型
A.3 控制方程的数学类型 偏微分方程(PDE)的数学类型,可用经典的二阶拟线性方程说明: $$ a\frac{\partial^{2}U}{\partial x^{2}}+b\frac{\partial^{2}U}{\partial x\partial y}+c\frac{\partial^{2}U}{\partial y^{2}}=d,\tag{A.24} $$ 其中,U 为一般标量函数。系数 a、b、c、d 可以是坐标、U 及 U 的一阶导数的非线性函数,但不能依赖 U 的二阶导数。按判别式 $ (b^{2...
A.4 旋转参考系中的 Navier–Stokes 方程
A.4 旋转参考系中的 Navier–Stokes 方程 在某些情况下,例如叶轮机械、螺旋桨或地球物理应用中,计算域绕某条轴匀速旋转。此时,将 Navier–Stokes 方程变换到旋转参考系更方便。考虑图A.6:点 P 以恒定角速度 $ \vec{\omega} $ 绕固定轴旋转。为简单起见,假设旋转轴与 x 轴重合,因此角速度分量为 $ \vec{\omega} = [\omega_{1}, 0, 0]^{T} $。绝对速度 $ \vec{ v}_{a} $ 为相对速度 $ \vec{ v}_{r} $ 与牵连...
A.5 动网格上的 Navier–Stokes 方程
A.5 动网格上的 Navier–Stokes 方程 在研究流固耦合或模拟外挂物分离等问题时,必须在移动、甚至变形的网格上求解控制方程。最常用的两种方法,是任意 Lagrange–Euler(ALE)形式 $ [4–6] $ 与动态网格 $ [7] $。两者密切相关,得到相同的修正控制方程形式,用于计及网格相对流体的运动。 对于具有面元 dS 的移动或变形控制体 $ \Omega $,Navier–Stokes 方程(2.19)的时变积分形式为 $$ \frac{\partial}{\partial t}\int_...
A.6 薄剪切层近似
A.6 薄剪切层近似 高 Reynolds 数流动中,黏性应力仅在物体周围的狭窄区域影响流动。因此,可合理假设壁面法向梯度占主导,忽略其他方向的梯度 $ [21, 22] $。这就是 Navier–Stokes 方程的薄剪切层(TSL)近似。 以一般曲线网格上的 Navier–Stokes 微分方程(A.4)说明。假设如图2.4所示,壁面位于 $ \eta = const. $,则从扩散项中去掉全部沿流向 $ (\partial/\partial\xi) $ 与横流方向 $ (\partial/\partial\z...
A.7 PNS 方程
A.7 PNS 方程 当满足以下三个条件时: 流动为定常,即 $\partial\vec W/\partial t=0$; 流体主要沿一个方向运动,且不得发生边界层分离; 横流分量可忽略; Navier–Stokes 方程(2.19)可简化为抛物化 Navier–Stokes(PNS)方程 [23]。此时,可在黏性应力项中去掉速度分量与温度对流向的导数。此外,在式(2.23)的黏性通量矢量中,可忽略黏性应力张量 $ \overline{\overline{\tau}} $ 及其功 $ (\overl...
A.8 Navier–Stokes 方程的轴对称形式
A.8 Navier–Stokes 方程的轴对称形式 模拟圆柱形物体绕流或圆柱形腔内流动时,通常可假设流动关于纵轴对称。这意味着没有旋流,且流动量沿周向的导数为零。在这些条件下,可从 Navier–Stokes 方程(2.19)中去掉一个动量方程,控制方程因此由三维降为二维,大幅降低计算量。 Navier–Stokes 方程的轴对称形式为 $$ \frac{\partial}{\partial t}\int_{\Omega}\vec{W}\mathrm{d}\Omega+\oint_{\partial\Omega}...
A.9 对流通量 Jacobian 矩阵
A.9 对流通量 Jacobian 矩阵 对流通量 Jacobian 表示对流通量对守恒变量的梯度,即 $$ \bar{A}_{c}=\frac{\partial\vec{F}_{c}}{\partial\vec{W}},\tag{A.65} $$ 其中,$ \vec{F}_{c} $ 由式(2.21)给出。 二维形式 二维对流通量 Jacobian 矩阵为 $ [24] $: $$ \bar{A}_{c}=\begin{bmatrix}{{{-V_{t}}}}&{{{n_{x}}}}&{{{n_y}}}&{{{...
A.10 黏性通量 Jacobian 矩阵
A.10 黏性通量 Jacobian 矩阵 黏性通量 Jacobian 表示黏性通量对守恒变量的梯度,即 $$ \bar{A}_{ v}=\frac{\partial\vec{F}_{\mathrm{v}}}{\partial\vec{W}},\tag{A.70} $$ 其中,$ \vec{F}_{ v} $ 由式(2.23)给出。为简化讨论,仅考虑 Navier–Stokes 方程的薄剪切层近似,参见2.4.3和A.6节。此外,假设动力黏度与热导率对守恒变量变化及空间变化均作冻结处理。 二维形式 采用薄剪切层近...
A.11 从守恒变量到特征变量的变换
A.11 从守恒变量到特征变量的变换 对流通量 Jacobian(A.9节)具有实特征值和完整的特征向量组,因此可对角化为 $ [25] $ $$ \bar{A}_{c}=\bar{T}\bar{\Lambda}_{c}\bar{T}^{-1},\tag{A.80} $$ 其中,$ \bar{T}^{-1} $ 为左特征向量矩阵,$ \bar{T} $ 为右特征向量矩阵,$ \bar{\Lambda}_{c} $ 为特征值对角矩阵。从守恒变量($ \vec{W} $)到特征变量($ \vec{C} $)的变换,对...
A.12 GMRES 算法
A.12 GMRES 算法 考虑线性方程组 $$ \bar{A}\vec{x}=\vec{b}.\tag{A.90} $$ 寻求以下形式的近似解: $$ \vec{x}=\vec{x}_{0}+\vec{z},\tag{A.91} $$ 其中,$ \vec{x}_{0} $ 为初始估计,$ \vec{z} $ 属于 Krylov 子空间 $$ \vec{z}\in\mathcal{K}_{m},\quad\mathcal{K}_{m}\equiv\operatorname{span}\left\{\vec{r}...
A.13 张量记号
A.13 张量记号 坐标 $ (x_{i}) $ 或速度分量 $ ( v_{i}) $ 这样的表达式表示一阶张量,具有三个分量,对应矢量。因此, $$ \begin{aligned}x_{i}&=[x_{1},x_{2},x_{3}]=[x,y,z]=\vec{r},\\ v_{i}&=[ v_{1}, v_{2}, v_{3}]=[u, v,w]=\vec{ v}.\end{aligned}\tag{A.109} $$ 二阶张量包含九个分量,可写成 $ 3 \times 3 $ 矩阵,例如 $$ v_{i} v...