开发目的
基于FastCAE平台开发的多物理场仿真软件,是为了更有效地控制多物理场耦合问题中的重要特征参数,如流体与固体的相互作用力和温度分布,进行了耦合分析。通过该耦合分析,能够深入研究多物理场相互作用的特性,并探索如何优化这些参数对系统行为的影响。
这项分析基于FastCAE和OpenFOAM、CalculiX开源求解器的整合,通过开发适配器建立交互以实现耦合。
项目开发设计
本软件系统主要分为三个方面:前处理方面,适配器方面,求解器方面。
前处理是软件直接与用户进行交互的部分,实现对象选择与用户参数输入,同时将可视化渲染场景展现给用户,让用户直观方便的操作项目内容,检查数据的对错。
适配器主要是采用preCICE-adapters来进行处理不同模拟代码之间的交互。适配器在preCICE框架中担负着关键的角色,其主要功能包括:
1. 接口转换: 适配器负责将不同物理模拟代码的输入和输出转换为preCICE框架所能理解的通用格式。通过接口转换,preCICE能够无缝地整合来自不同来源的模拟数据。
2. 时间步同步: 为了确保不同模拟代码在相同时间点上进行相互作用,适配器负责协调各代码之间的时间步。
3. 通信: 适配器处理模拟代码之间的通信,确保它们能够传递必要的信息,如边界条件、网格信息等。
4. 错误处理: 适配器负责处理可能出现的错误情况,以确保耦合模拟的稳健性。
求解器则是该软件的核心功能层,实现了针对输入调用不同求解器,输出给数据层进行数据文件解析。
本软件系统,采用C++语言为开发语言,软件UI采用FastCAE平台进行开发。展示三维几何文件,以及生成结果文件渲染采用的是开源图形图像处理库VTK。在进行网格操作、参数配置过程生成的中间数据采用轻量化XML文件进行存储,不需要安装、操作灵活。
采用以下的实现技术路线:
项目案例验证
本项目基于Elasticflap弹性板流固耦合案例、Perpendicular flap垂直襟翼案例和Elastic tube 3D三维膨胀案例来验证项目的开发功能。
Elastic Flap弹性板案例是一个经典的结构分析示例,在这个案例中,弹性板固定在一端,受到左侧的来流冲击,从而产生变形和应力。
这个案例包括设置材料属性(如弹性模量和泊松比)、应用边界条件(如固定支撑和载荷)等操作准备模型进行仿真分析。通过对弹性板的分析,用户可以了解到结构在受力后的变形情况、应力分布情况。
"Perpendicular Flap"(垂直襟翼)案例指的是一个垂直于来流方向设置的襟翼。通过改变襟翼的角度,可以研究襟翼对周围流场的影响,包括流速分布、压力分布等参数的变化。
"Elastic Tube 3D"案例中,模拟的对象是一个具有弹性的管道,其内部受到均匀的压力作用,导致管道膨胀。
项目展示
1、首先需要在FaseCAE上插入本插件libPluginPrecice
2、在控制面板几何分析中的算例上右击,类型选择本插件创建新案例
3、点击仿真参数设置左边的扩展
4、打开选择文件左边的扩展
5、左键点击OpenFoamInterface,选择自己想要计算的OpenFOAM文件后,点击扫描文件。若是扫描失败,下面文本框会显示扫描失败的原因。扫描成功,则扫描文件右边的文本栏会显示扫描成功。清空按钮可以将刚刚选择的文件从本界面删除。Calculix部分的操作和这相同。
6、点击参数设置左边的扩展,刚刚选择的文件中的数据全都到对应的Settings中,并且生成了初始文件格式为xml的Precice文件。
7、更改完参数后点击保存参数,将会在对应的文件中相应的位置进行数据的更改。点击开始运行后,就会进行耦合计算。会有监控窗口弹出,上面可以在OpenFoam和Calculix的监控界面来回切换。
8、在左边控制面板中的OpenFoamVector上右键点击Refresh,会显示出可供选择可视化的目录,拥有播放等功能。以下是一些可视化的结果。