近年来,多物理场耦合仿真技术的重要性日益凸显,preCICE作为通用开源耦合框架提供跨软件、跨物理场耦合方案。本书系统介绍了开源多物理场耦合框架preCICE的核心原理、软件架构、适配器开发流程与工程应用算例。从理论与实践两个维度出发,既深入介绍了preCICE支持的分区耦合算法、数据映射与通信机制,又详细剖析了OpenFOAM、Fluent等主流求解器的耦合适配器开发方法,并结合典型流固、流热、固固耦合算例进行演示。
更多科学出版社服务,请扫码获取。
2004.09-2008.06 哈尔滨工程大学,计算机科学与技术学士
2008.09-2009.06 哈尔滨工程大学,计算机应用技术硕士
2009.09-2015.06 哈尔滨工程大学,计算机应用技术博士2015.07-2019.5 哈尔滨工程大学船舶工程学院,博士后
2019.5-2023.6 哈尔滨工程大学船舶工程学院,副教授
2023.7至今 哈尔滨工程大学计算机科学与技术学院,教授工业仿真软件开发中国力学学会产学研工作委员会委员,《计算机集成制造系统》期刊理事会理事,软件学报“面向领域软件的软件工程”专刊特约编辑,中国工业软件产业发展联盟 CAE 分联盟“船舶流体力学仿真行业专业委员会委员,数字孪生体联盟专家顾问,青岛数智船海科技有限公司, 总经理
目录
前言
第1章 preCICE概述 1
1.1 简介 1
1.2 术语 3
1.3 典型算例 9
1.3.1 二维弹性板流固耦合模拟 9
1.3.2 加热板流热耦合模拟 14
1.4 安装 17
1.4.1 不同系统的preCICE安装 17
1.4.2 求解器链接到preCICE 27
1.5 官方适配器 28
1.5.1 OpenFOAM 28
1.5.2 CalculiX 31
1.5.3 deal.II 34
1.5.4 SU2 37
1.5.5 FEniCS 40
1.5.6 Code_Aster 42
第2章 分区耦合理论与算法 45
2.1 分区耦合算法简介 45
2.2 耦合方案 46
2.2.1 基本耦合方案 46
2.2.2 显式耦合方案 48
2.2.3 隐式耦合方案 52
2.3 加速方法 54
2.3.1 概述 54
2.3.2 分类与实现 54
2.4 数据映射 68
2.4.1 映射方法 68
2.4.2 R-Tree数据结构 76
2.4.3 PETSc库 76
2.5 多对多通信 77
2.5.1 集中式通信模型 77
2.5.2 分布式通信模型 78
2.5.3 集中式通信模型与分布式通信模型的差异 79
2.5.4 通信实现方式 79
第3章 preCICE软件架构 87
3.1 总体设计 87
3.2 功能层 88
3.2.1 mesh模块 90
3.2.2 com模块 98
3.2.3 mapping模块 108
3.2.4 cplscheme模块 115
3.3 接口层 125
第4章 耦合代码开发流程 138
4.1 适配概述 138
4.1.1 求解器适配 138
4.1.2 耦合代码开发模式 139
4.2 深度集成式接口开发 140
4.2.1 流体求解器代码示例 140
4.2.2 preCICE关键API函数调用 141
4.2.3 耦合网格定义和数据访问 143
4.2.4 扩展API 146
4.3 中间件对接式开发 164
4.3.1 Adapter类定义 164
4.3.2 初始化 166
4.3.3 数据读取 167
4.3.4 数据写出 168
4.3.5 配置文件 168
4.3.6 特殊功能 169
4.4 可扩展插件化集成 188
4.4.1 求解器接口 188
4.4.2 preCICE接口 190
第5章 适配器开发实践 196
5.1 适配器开发方式 196
5.2 deal.II适配器开发 197
5.2.1 开发思路 197
5.2.2 代码实现 199
5.3 CalculiX适配器开发 208
5.3.1 开发思路 208
5.3.2 代码实现 212
5.4 OpenFOAM适配器开发 220
5.4.1 开发思路 220
5.4.2 代码实现 223
5.5 Code_Aster适配器开发 233
5.5.1 开发思路 233
5.5.2 代码实现 235
5.6 风雷适配器开发 248
5.6.1 软件简介 248
5.6.2 适配器开发方式 249
5.6.3 代码实现 251
5.7 Fluent适配器开发 268
5.7.1 开发思路 268
5.7.2 代码实现 274
第6章 preCICE多物理场仿真算例 282
6.1 分区热传导模拟 282
6.1.1 问题描述 282
6.1.2 求解器信息 283
6.1.3 算例配置 283
6.1.4 运行命令与后处理 298
6.1.5 高级设置 298
6.1.6 直接访问设置 310
6.2 热交换器流热耦合模拟 317
6.2.1 问题描述 317
6.2.2 求解器信息 318
6.2.3 算例配置 319
6.2.4 运行命令与后处理 331
6.3 加热板流热耦合模拟 332
6.3.1 问题描述 332
6.3.2 求解器信息 333
6.3.3 算例配置 333
6.3.4 运行命令与后处理 343
6.3.5 注意事项 344
6.4 弹性竖板流固耦合模拟 345
6.4.1 问题描述 345
6.4.2 求解器信息 347
6.4.3 算例配置 347
6.4.4 运行命令与后处理 357
6.5 一维弹性管流固耦合模拟 358
6.5.1 问题描述 358
6.5.2 求解器信息 359
6.5.3 算例配置 359
6.5.4 运行命令与后处理 371
6.6 三维弹性管流固耦合模拟 374
6.6.1 问题描述 374
6.6.2 求解器信息 375
6.6.3 算例配置 375
6.7 分区弹性梁变形模拟 386
6.7.1 问题描述 386
6.7.2 求解器信息 388
6.7.3 算例配置 388
6.7.4 运行命令与后处理 393
6.8 分区管道流动模拟 394
6.8.1 问题描述 394
6.8.2 求解器信息 395
6.8.3 算例配置 395
6.8.4 运行命令与后处理 407
第7章 preCICE常用测试工具介绍 409
7.1 preCICE工具概述 409
7.2 人工求解器测试环境 410
7.2.1 ASTE工具适用场景 410
7.2.2 安装ASTE核心模块、VTK库及相关依赖项 410
7.2.3 命令行界面 412
7.3 内置工具 419
7.3.1 XML配置信息输出 419
7.3.2 preCICE版本 420
7.3.3 配置检查 420
参考文献 422