本推文将对TFluid的两相流模块的外层源码进行解析,便于用户了解我们的架构与二次开发的实现方式。
二次开发模块详见:
TFluid二次开发模块 | AI+CUDA赋能,让仿真开发更快更自由
一、完整外层源码(公开版)
下面这段代码,考虑了整个两相流传热耦合计算、自适应网格与PISO压力速度耦合。该求解器使用了半隐式的迭代算法,整体运行框架与OpenFOAM相似,但所有的实现都转移到了GPU上。
(1)计算开始前的初始化
包含:参数定义、时间信息标签

(2)时间循环
部分1 包含:显存开辟、自适应网格更新(网格更新和参数映射)

部分2 包含:两相流模块、传热模块、自定义边界、方程显存开辟

部分3 包含:pimple循环内的动量方程组装

部分4 包含:piso循环内的压力方程组装、求解,更新压力、通量和速度

(3)后处理
包含:清理显存、结果输出

二、基于基础代码的二次开发
下面这段代码,是在公开版的基础上,增加污染物输运扩散模型。用户可以在直接在我们的外层代码中进行:增加模块、结果后处理、增加新的源项等等。
(1)计算开始前的初始化
包含:定义浓度场和边界条件

(2)设置浓度初始值
包含:定义浓度的初始区域和初始值

(3)计算求解
包含:组装浓度方程并求解更新浓度场


(4)后处理
包含:更新材料参数与所需源项更新

(5)结果输出

TFluid团队招聘中:
TFluid功能模块:
夜雨聆风