在带有凸起的3D网格上使用Fipy和固定通量边界条件时,我注意到一种奇怪的行为。在附图的左侧,我展示了具有理论热通量边界条件的几何形状的2D切割,没有(A:顶部)和(B:底部)凸块。在右边,我展示了在边界处用T.faceGradAverage[0]
计算的热通量的俯视图。在A和B两种情况下都使用GMSH创建网格。
由于我正在解决顶部固定热通量分布和底部传热系数的传热问题,我的问题定义为(FrontFaces * frontValue).divergence
以应用热通量:
Dk.constrain(0., baseMesh.exteriorFaces)
mask_coeff = (boundarySource * baseMesh.faceNormals).divergence
equation = ImplicitDiffusionTerm(coeff=Dk) + ImplicitSourceTerm(mask_coeff) - mask_coeff - (FrontFaces * frontValue).divergence
FrontFaces定义为FrontFaces = mesh.facesLeft & test_xy
正如您在图像上看到的那样,两种情况都会产生截然不同的结果。蓝色表示0热通量,红色表示高热通量。情况B在物理上是不可能的:热通量很高,应该是0.由于凸起,似乎在情况B中没有正确应用边界条件。
是否有人遇到过同样的问题? Heat flux maps
答案 0 :(得分:0)
faceGrad
始终为零。 faceGradAverage
只是愚蠢,我们应该删除它(https://github.com/usnistgov/fipy/issues/557)。
根据定义,该边界处的通量是frontValue
,正如您指定的那样。