【MFiX后处理】MFiX中使用des_usr_var输出颗粒的传热量(2020-11-27更新变更输出变量名方法)

22 篇文章 7 订阅

参考之前Yin的那一篇博客
https://www.cnblogs.com/Jay-CFD/p/10621274.html
输出一下颗粒传热量

使用的算例是fluid_bed_dem_2d

1. 打开des scalar tracking

前面都和Yin那篇一样,打开enable user scalar tracking
输入2
因为第一个用来测试Y加速度了
第二个输出传热量

然后在output vtk中勾选好

2. 更改源代码

源代码为des_thermo_newvalues.f
在mfix-GUI自带的editor里搜索
然后copy到自己的文件夹中
在这里插入图片描述
添加如下代码
先在导入模块处导入des_usr_var变量
在这里插入图片描述然后在Q_source(: ) 也就是颗粒传热量清零之前复制到des_usr_var中
在这里插入图片描述这里可以看出来,这个变量是每个时间步都清零的,所以必须在这里输出,要不然只能得到零。

3. 编译运行

结果如下,可以看到传热过程了

在这里插入图片描述

2020-8-24补充1:存储反应热的数组

反应热的变量是RXNS_Qs,同样由moduel des_thermo声明。Q_source应该是所有热源项的总和,包括反应热。

2020-8-24补充2:MFiX-PIC中使用des_usr_var

经过调试发现MFiX-PIC其实也可以用des_usr_var这个变量,只不过目前GUI不支持

要点就在于:
必须手动在.mfx中给定关键字

注意:一定不要在更改完.mfx之后在GUI中点击保存!!!否则将会把添加的代码自动删掉!(试了一个上午才发现是这里的问题)

步骤如下:
在你的.mfx 中“### UDF control”的后边添加如下行
在这里插入图片描述

des_usr_var_size = 2
vtk_part_usr_var(1,1) = .True.
vtk_part_usr_var(1,2) = .True.

然后和前面一样,在des_thermo_newvalues.f添加如下代码

在这里插入图片描述
在这里插入图片描述
编译运行即可

补充3 输出对流传热和化学反应传热的方法 2020-9-4

注意:与上面不同,这里编号1的数组给了q_source
des_usr_var(2,:)给对流传热
3给反应热

在calc_thermo_des.f中添加

IMPLICIT NONE之前添加

!#########
USE discretelement, only:des_usr_var`

END SUBROUTINE CALC_THERMO_DES之前添加

!########
des_usr_var(2,:)=CONV_Qs
des_usr_var(3,:)=RXNS_Qs

在.mfx文件中添加

在### UDF control之后添加

des_usr_var_size = 3
vtk_part_usr_var(1,1) = .True.
vtk_part_usr_var(1,2) = .True.
vtk_part_usr_var(1,3) = .True.

补充

2020-11-27

补充1: des_usr_var后处理的调用位置

write_des_data.f 156行
在这里插入图片描述

和vtp_mod.f 657行
在这里插入图片描述

补充2 更改des_usr_var的变量名(在paraview中的显示)

通常来说,des_usr_var变量的命名为User_Defined_Var_数字

在这里插入图片描述

这样看来很不直观。
可以在vtp_mod.f中给它们起个新名字

首先看看原名字在哪来的?
通过查找User_Defined_Var这个关键词发现

vtp_mod.f 657行
在这里插入图片描述

我们测试一下更改这里是否会显示新名字:
在原有基础上增加一个my
在这里插入图片描述

编译运行后,后处理中可以看到
在这里插入图片描述

看来确实是在这里改的名字

于是就在它的下面增加一行
在这里插入图片描述

这里再重新输出一次des_usr_var(1,:), 并把它命名为p_HT_all
意思是颗粒上的全部传热量

编译运行后处理看到
在这里插入图片描述

同时原有的User_Defined_Var_my1也还在,这里只是改了个名字重复输出了一下

我们比较一下数值
在这里插入图片描述可以看到完全一致

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值