FEniCS,细化不“尊重”域边界

计算科学 芬尼克斯
2021-12-06 01:15:05

简短的问题:如何确保在调用细化函数后额外的点不包含在“边界”点中。

更多细节。

我正在使用六面体网格3d。X是网格点的集合。网格描述了一个具有不规则几何形状的连接对象,但在某种意义上是平坦的,如果xxX,则的第三个分量在集合中。xx{z1,z2}

六面体网格不适合在 FEniCS 中使用,所以我在 paraview 中使用了四面体过滤器。然后我转换为 xml 格式,并能够将其读入 FEniCS 代码。

网格不适合求解 PDE,因为所有网格点都是边界点。然后我调用了细化并有网格点使得它们的 z 分量在集合中。我通过调用 bmesh = BoundaryMesh(mesh, "exterior", True) 提取了边界网格。我发现 bmesh 坐标点太多,并且它们位于我正在网格化的对象的内部。不幸的是,网格的几何形状很复杂,所以我无法用像这样的简单函数来描述边界。xx{z1,z3/2,z2}x[0]=0

0个回答
没有发现任何回复~