![]()
内容推荐 工程技术中越来越依赖于多物理场的有效求解来理解所遇到实际问题的物理本质,OpenFOAM是工程和科学计算领域解决多物理场数值计算的有力工具。本书内容涵盖使用OpenFOAM必须掌握的基础知识和针对特定物理问题编制OpenFOAM求解器的应用实例,既能满足初学者的学习需求,又能供熟练使用OpenFOAM的人员用于提高OpenFOAM编程能力。 全书共分为11章,前5章为基础部分,包括Linux操作系统基础、ParaView数据分析和可视化基础、OpenFOAM编程的C++基础、OpenFOAM编程基础和有限体积法基础;后6章为应用部分,包括编写OpenFOAM算例、编写OpenFOAM求解器、不可压缩流体流动求解器、多区域静磁场求解器、铁磁流体磁-流耦合流动求解器和纳米颗粒直接荷电过程多场耦合求解器。 本书可作为高等院校机械工程、动力工程及工程热物理、航空航天等专业的研究生教材,也可以供从事计算多物理场研究和使用OpenFOAM的技术人员参考。 目录 第1章 Linux操作系统基础 1.1 Linux操作系统简介 1.2 Shell及其基本操作 1.3 Linux文件系统结构及管理 1.4 gedit文档编辑 第2章 ParaView数据分析和可视化基础 2.1 ParaView图形用户界面组成 2.2 由数据源生成数据集和可视化 2.3 加载数据文件 2.4 ParaView数据模型 2.5 显示数据 2.5.1 创建视图 2.5.2 渲染视图(RenderView) 2.5.3 图表视图(ChartView) 2.5.4 比较视图(ComparativeView) 2.6 过滤数据(FilteringData) 2.6.1 创建和修改过滤器 2.6.2 用于提取子数据集的过滤器 2.6.3 用于几何操作的过滤器 2.6.4 用于数据采集的过滤器 2.6.5 用于属性操作的过滤器 2.7 选择数据(SelectingData) 2.7.1 使用视图创建数据选择 2.7.2 使用FindData面板创建数据选择 2.7.3 提取和冻结数据选择 2.8 动画 2.8.1 动画视图(AnimationView) 2.8.2 为包含时间值的数据集创建动画 2.8.3 设置动画中的相机参数 2.9 保存结果 2.9.1 保存数据集 2.9.2 保存渲染结果 2.9.3 保存动画 2.9.4 保存状态 2.9.5 提取器(Extractors) 2.10 ParaView高级设置 2.10.1 颜色设置 2.10.2 多块数据检查器(MultiblockInspector) 2.10.3 注释 2.10.4 坐标轴设置 2.10.5 定制ParaView 第3章 OpenFOAM编程的C++基础 3.1 C++程序组成 3.1.1 C++程序的总体组成 3.1.2 C++语句 3.1.3 代码块 3.1.4 函数简介 3.2 C++支持的数据类型 3.2.1 基本数据类型 3.2.2 复合类型 3.2.3 数据的存储方式 3.2.4 名称空间 3.3 C++函数 3.3.1 处理数组的函数 3.3.2 处理字符串的函数 3.3.3 处理结构的函数 3.3.4 内联函数 3.3.5 使用引用变量作为函数形参 3.3.6 函数的默认参数 3.3.7 函数重载 3.3.8 函数模板 3.4 类和对象 3.4.1 类的定义和使用 3.4.2 对象数组 3.4.3 操作符重载 3.4.4 友元 3.4.5 类对象作为返回值时的返回种类 3.4.6 静态数据成员和静态成员函数 3.4.7 类的类型转换 3.4.8 指向对象的指针 3.4.9 类继承 3.4.10 类模板 第4章 OpenFOAM编程基础 4.1 OpenFOAM介绍 4.1.1 OpenFOAM简介及功能 4.1.2 OpenFOAM安装 4.1.3 OpenFOAM的目录结构 4.2 OpenFOAM中的张量运算 4.2.1 张量表示法 4.2.2 张量运算 4.2.3 二阶张量及其代数运算 4.2.4 常用矢量公式 4.2.5 张量运算在OpenFOAM中的表示 4.2.6 OpenFOAM中的基本张量类 4.2.7 OpenFOAM中的量纲和单位制 4.3 OpenFOAM的基本数据类型 4.3.1 简单数据类型 4.3.2 Tuple 4.3.3 多项式方程 4.3.4 链表 4.3.5 HashTable 4.3.6 autoPtr 4.3.7 物理常数 4.4 编程中常用的OpenFOAM标准类 4.4.1 tmp 4.4.2 refCount 4.4.3 IOobject 4.4.4 dictionary 4.4.5 Time 4.4.6 argList 4.4.7 token 4.5 Foam名称空间 4.5.1 Foam名称空间中的函数 4.5.2 Foam名称空间中的变量 4.5.3 Foam名称空间中的别名 4.6 OpenFOAM中的物理场类 4.6.1 Field 4.6.2 FieldField 4.6.3 DimensionedField 4.6.4 GeometricField 4.6.5 Boundary 4.6.6 fvPatchField 4.7 OpenFOAM编程语句 4.7.1 简单语句 4.7.2 与字典操作相关的语句 4.7.3 输入输出 第5章 有限体积法基础 5.1 物理现象的数学描述 5.1.1 控制微分方程的物理含义 5.1.2 质量守恒方程 5.1.3 动量守恒方程 5.1.4 能量守恒方程 5.1.5 化学组分守恒方程 5.2 离散方法 5.2.1 偏微分方程数值求解的总体过程 5.2.2 有限体积法离散 5.2.3 以单元为中心的FVM 5.2.4 离散方法需满足的基本原则 5.2.5 有限体积网格 5.3 代数方程组求解 5.3.1 直接法 5.3.2 迭代法 5.3.3 求解代数方程的松弛技术 5.3.4 方程的残差 5.4 扩散项的离散 5.4.1 二维规则笛卡儿网格内部单元上的离散 5.4.2 二维规则笛卡儿网格边界单元上的离散 5.4.3 非均匀扩散系数的处理 5.4.4 非正交非结构化网格时的离散 5.4.5 非正交网格时的边界条件 5.4.6 网格偏斜时的离散 5.4.7 各向异性扩散 5.4.8 正交曲线坐标系中的离散 5.5 梯度计算 5.5.1 笛卡儿网格中的梯度计算 5.5.2 非结构化网格上的梯度计算——Green-Gauss梯度 5.5.3 非结构 |