在fipy中定义一个非笛卡尔网格

Define a non-cartesian mesh in fipy

我正在尝试在 fipy 中模拟具有 P6mm 对称性的二维系统的基本单元,我想定义一个非笛卡尔网格来描述下面描述的系统。然而,

mesh = fipy.Grid2D(nx = 10, ny = 10, dx = 1., dy = 1.)

只有 returns 个均匀的网格。我想改变 FaceVariable,但它似乎只接受布尔变量。我也可以模拟一个与此等效的笛卡尔系统,但会有冗余数据。有人会有更好的方法吗?

或者,我可以这样定义我的系统。有人反对吗?

FiPy 不提供您想要的网格 class。 UniformGrid2D could be used as the starting point for an equilateral triangular mesh (or a hexahedral mesh, if really required). Whosebug isn't the right venue for that, though. Please open an issue 如果你愿意的话。

Gmsh 会生成结构化的三角形网格,但我不确定是否可以强制生成规则的等边三角形。