在带有凹凸的 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 中没有正确应用,因为有凸起。
有没有人遇到过同样的问题? 热通量图