求解调整:
• Begin Iteration 每次迭代前执行 UDF
• End Iteration 每次迭代后执行 UDF
• Initialization 每次初始化执行 UDF
• Simulation Begin 计算前执行 UDF
• Simulation End 计算后执行 UDF
• Output Frequency 每n个迭代步或时间步长执行 UDF
• Before Solver 初始化之后,计算之前执行 UDF
• Every Time Step 每个时间步执行 UDF
• Every Particle Substep 每次求解颗粒步时执行 UDF
• Every Iteration 每个迭代步执行 UDF
源项。如质量源项、动量源项、能量源项、湍动能和耗散率源项等
储水池初始化条件设置
储水池结构示意图
对储水池计算域进行网格划分,采用VirtualFlow笛卡尔网格技术结合分块网格优化,对计算域分为4个块(block)。
储水池网格
采用均相多相流进行模拟,两相分别为水和空气,湍流模型为RANS k-ε 模型,求解类型为非稳态求解。
对于两相流,初始界面需要指定,为了给出相的初始位置和初始压力分布,需要对其进行初始化,在此模型中,=0.25m为界面位置,>的区域为空气,<的区域为水。
在VirtualFlow中,初始化分为普通初始化和高级初始化,该案例设置涉及到复杂边界的初始化,需采用高级初始化条件,创建一个C++子程序,命名为initialconditions.cxx,将此程序文件复 制到计算文件夹中,在软件执行窗口点击初始化编译按钮,即可将初始化程序编译到软件中。
此案例中我们想要得到区域内水质量随时间的变化情况,可通过UDF的方式实现,UDF需要准备头文件mass_output.h和主程序文件mass_output.cxx两个文件,其中主程序主要包括变量声明、数据更新计算以及数据输出三部分。
在User Defined Functions窗口添加用户自定义函数,VirtualFlow为用户创建自定义函数提供了很多模板,用户可直接进行添加,如下图所示。
在t=2s时的水的体积分数
水的质量随时间变化而变化
通过对储水池的抽水仿真说明了VirtualFlow软件的用户自定义函数功能,VirtualFlow软件不仅提供了多种后处理的模板供用户使用,而且用户可根据需要,对想要的结果进行定制化编写。