首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有非恒定容量的传导扩散热2D模型

具有非恒定容量的传导扩散热2D模型
EN

Stack Overflow用户
提问于 2015-09-23 13:17:07
回答 1查看 1K关注 0票数 1

我花了相当长的时间来开发一个用于稳态近似的二维热传导扩散模型。

为了简单起见,考虑层流剪切膜,即底部的零速度和恒定的速度增加。

热容量可能是恒定的,也可能是随着温度的线性增加。

边界条件是一个恒定的入口温度(左)和恒定的输入流量(顶部),而所有外部表面都被迫没有梯度。

请参阅代码这里

当使用恒定的热容量时,输入功率等于输出功率。

代码语言:javascript
复制
input = 50.00e3 W
ouput = 50.00e3 W

当使用非恒定热容量时,它们的差别很大。热容量随温度变化越大,输入输出差异越大。

代码语言:javascript
复制
input = 50.00e3 W
ouput = 33.78e3 W

引入一个可变的速度系数(这里是v*c* rho),正如fipy中所指出的那样(它只是明确地显示了扩散项的一个例子)。网格分辨率不会改变输出功率。所以我想说这不是网格问题。我还尝试添加一个临时项,并解决一个非常高的时间步骤,这不会改变解决方案。

我担心在定义对流项时做了一些非常错误的事情,但是找不到错误。我也很困惑,如果fipy能够混合theta (一个rank=0单元变量)和velocity (一个rank=1单元变量),然后将它们转换成一个面变量,这是对流项所必需的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-26 02:32:47

散度定理

我会计算表面通量

代码语言:javascript
复制
Cp = mymodel.fluid.capacity(solution, use_constant_cp)
veloc = fipy.CellVariable(mesh=mesh, value=0., rank=1, name='velocity')
veloc[0] = mymodel.shear * mesh.y
R = ((Cp * solution * veloc).faceValue.dot(mesh._orientedAreaProjections) * mesh.facesRight * mymodel.fluid.rho).sum()
L = ((Cp * solution * veloc).faceValue.dot(mesh._orientedAreaProjections) * mesh.facesLeft * mymodel.fluid.rho).sum()
print "{:.3e} J/s received.".format((R+L).value)

我得到了4.958e+04 J/s received.,答案随着x分辨率的提高而提高。

注意,因为这使用了速度矢量,所以L是通量in,R是通量输出,所以我们将它们相加以得到差异。_orientedAreaProjections矢量指向所有外部面的域,因此,当通量进入区域时,点积为正,当通量退出时,则为负值。因为我们在整个外部边界上集成,你可以只写

代码语言:javascript
复制
J_dot_n = ((Cp * solution * veloc).faceValue.dot(mesh._orientedAreaProjections) * (mesh.facesLeft + mesh.facesRight) * mymodel.fluid.rho).sum()
print "{:.3e} J/s received.".format(J_dot_n.value)

类似地,我会用(mymodel.flux * mesh._faceAreas * mesh.facesTop).sum()计算输入热流。

我想你计算出来的是

如果你想计算散度定理的体积积分形式,你可以这样做,但它是

代码语言:javascript
复制
velocF = fipy.FaceVariable(mesh=mesh, value=0., rank=1, name='velocity')
velocF[0] = mymodel.shear * mesh.faceCenters[1]
((Cp * solution).faceValue * velocF * mymodel.fluid.rho).divergence.cellVolumeAverage * mesh.cellVolumes.sum()

_faceAreas_orientedAreaProjections经常出现,因此我们应该将它们作为公共API的一部分。

为解决评论中出现的问题而编辑

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32740663

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档