是否可以连接两个(或更多)网格?例子:
import fipy
meshA = fipy.Grid2D(nx=5, ny=3)
meshB = fipy.Grid2D(nx=5, ny=6)
mesh = fipy.vstack(meshA, meshB)
1D 或 2D 网格也是如此。
中级问题:是否可以定义偏移量?
绝对可以,而且你实际上必须做第二个才能做第一个:
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])
如果您嫁接网格的原因是更改分辨率。