在 fipy 中连接两个或多个均匀网格
concatenate two or more uniform meshes in fipy
是否可以连接两个(或更多)网格?
示例:
import fipy
meshA = fipy.Grid2D(nx=5, ny=3)
meshB = fipy.Grid2D(nx=5, ny=6)
mesh = fipy.vstack(meshA, meshB)
一维或二维网格也是如此。
中级问题:是否可以定义偏移量?
当然可以,实际上你必须做第二个才能做第一个:
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])
如果你嫁接网格的原因是为了改变分辨率。
是否可以连接两个(或更多)网格? 示例:
import fipy
meshA = fipy.Grid2D(nx=5, ny=3)
meshB = fipy.Grid2D(nx=5, ny=6)
mesh = fipy.vstack(meshA, meshB)
一维或二维网格也是如此。
中级问题:是否可以定义偏移量?
当然可以,实际上你必须做第二个才能做第一个:
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])
如果你嫁接网格的原因是为了改变分辨率。