0

在带有凹凸的 3D 网格上使用 Fipy 和固定通量边界条件时,我注意到一个奇怪的行为。在所附图片的左侧,我展示了具有理论热通量边界条件的几何图形的二维切割,没有(A:顶部)和(B:底部)凸块。在右侧,我显示了T.faceGradAverage[0]在边界处计算的热通量的俯视图。在 A 和 B 两种情况下,网格都是使用 GMSH 创建的。

由于我正在解决顶部固定热通量分布和底部传热系数的传热问题,因此我的 fipy 问题定义(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 中没有正确应用,因为有凸起。

有没有人遇到过同样的问题? 热通量图

4

1 回答 1

0

faceGrad在外部边界处始终为零,除非您在该边界处定义狄利克雷条件。faceGradAverage这很愚蠢,我们应该删除它(https://github.com/usnistgov/fipy/issues/557)。

根据定义,该边界处的通量是 ,frontValue正如您指定的那样。

于 2018-02-13T15:59:33.313 回答