在fipy中连接两个或多个均匀网格

时间:2015-09-21 16:44:19

标签: python fipy

是否可以连接两个(或更多)网格? 例如:

import fipy
meshA = fipy.Grid2D(nx=5, ny=3)
meshB = fipy.Grid2D(nx=5, ny=6)
mesh = fipy.vstack(meshA, meshB)

同样适用于1D或2D网格。

中级问题:是否可以定义偏移?

1 个答案:

答案 0 :(得分:1)

当然,你实际上必须做第二件事来做第一件事:

mesh = meshA + (meshB + [[0], [3]])

将meshB向上移动3个单位,然后将其连接到meshA。

Mesh.__add__的文档字符串中介绍了这一点,但遗憾的是,Sphinx文档工具并未将其包含在输出中。我们需要明确地将其放在可以阅读的文档中。

请注意,生成的网格不再是网格,因此会失去一些效率。对于这个简单的案例,您显然最好只设置ny=9。对于更复杂的情况,您可能想要这样做:

mesh = fipy.Grid2D(nx=5, dy=[1,1,1,.5,.5,.5,.5,.5,.5])

如果你嫁接网格的原因是改变分辨率。