本科生毕业论文 (学术论文)
题
|
目
|
通用可视化后处理工业软件开发
|
学
|
院
|
计算机学院
|
专
|
业
|
计算机科学与技术
|
通用可视化后处理工业软件开发
计算机科学与技术
[摘要] 工业软件涵盖工程、计算机、物理与数学研究,是重要的生产、研究工具。而这项在各行各业都有广泛应用的工具,却大部分都来自国外,国内所拥有的工业软件大都是内部软件,只能解决 很小范围的问题,不具备通用性。在计算流体力学领域,常用到后处理可视化软件,通过它可以观察流场数据,提取流场的特征用于科研制造。针对这个需求,使用了 VTK、QT 等框架开发了一个具备通用性的后处理可视化软件,其可以完成常用的文件读写以及常用的可视化、后处理操作,可以进行流场 渲染、图表绘制和流场计算。对一定规模数据,使用了并行化、加速数据结构和 LOD 等技术进行优化, 可以较为流畅地处理较大规模的数据。此外,软件提供了接口,并使用 Doxygen 生成了说明文档,能以链接库的形式轻松集成到其他软件当中。软件还使用 QT 框架实现了国际化,使用 cmake 配置实现了跨平台等,这使软件的通用性大大提升,使其足以用于流场的研究。
[主题词] 计算流体力学; 可视化; 后处理; 工业软件
Development of General Visualization and Post-processing Industrial Software
Computer Science and Technology
[Abstract] Will be translated soon...
[Key Words] CFD; Visualization; Post-processing; Industrial software
目录
5
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2 CFD 简介 7
2.1 CFD 历史 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2 CFD 技术 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2.1 CFD 流程 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2.2 CFD 难点和瓶颈 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3 软件设计 9
3.1 需求分析 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.1.1 需求概述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.1.2 功能概述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.2 架构和模块设计 11
3.2.1 公共(Common) 11
3.2.2 文件读写(IO) 12
3.2.3 三维场景管理与渲染(View) 13
3.2.4 图表管理与绘制(Context) 13
3.2.5 后处理(Filter) 14
3.2.6 用户界面(Visualization) 15
3.2.7 软件架构 15
4 软件实现 16
4.1 软件简介 16
4.1.1 VTK 的使用 16
4.1.2 QT 的使用 17
4.2 模块实现 18
4.2.1 抽象工厂模式 18
4.2.2 异步 18
4.2.3 深度冲突(z-fighting) 18
4.2.4 库管理 19
4.2.5 链接库 19
4.2.6 说明文档 20
4.2.7 国际化 20
4.2.8 用户界面设计 20
4.2 优化方法 21
4.3.1 文件读取优化 21
4.3.2 可视化优化 22
4.3.3 后处理优化 22
5 软件测试 23
5.1 单元测试 23
5.1.1 IO 模块测试 23
5.1.2 Filter 模块测试 23
5.1.3 Context 模块测试 23
5.1.4 View 模块测试 24
5.1.5 VTK 模块测试 24
5.2 集成测试 24
5.2.1 可视化渲染 24
5.2.2 可视化交互 24
5.2.2.1 采点 25
5.2.3 后处理 25
5.3 性能测试 25
6 工作总结和心得体会 26











