1
是否可以連接兩個(或多個)網格? 示例:在fipy中連接兩個或多個統一網格
import fipy
meshA = fipy.Grid2D(nx=5, ny=3)
meshB = fipy.Grid2D(nx=5, ny=6)
mesh = fipy.vstack(meshA, meshB)
同樣適用於一維或二維網格。
中級問題:是否可以定義偏移量?
是否可以連接兩個(或多個)網格? 示例:在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個單位,然後它加到米沙。
這包含在Mesh.__add__
的文檔字符串中,但不幸的是,Sphinx文檔工具不包括在輸出中。我們需要明確地將它放在可以閱讀的文檔中。
請注意,生成的網格不再是網格,因此失去了一些效率。對於這個簡單的例子,你只需設置ny=9
即可。對於比較複雜一點的情況下,你可能想要做的:
mesh = fipy.Grid2D(nx=5, dy=[1,1,1,.5,.5,.5,.5,.5,.5])
如果你移植網的原因是更改分辨率。
非常感謝。我想使用它的原因是定義兩個分辨率不同的域(僅在一個維度上)。我認爲使用'dy'解決方案是最好的。 – DavidT
BTW:我剛試過'mesh = fipy.Grid2D(nx = 5,dy = [1] * 2 + [.5] * 4,Lx = 3,Ly = 1)',它的細胞中心看起來不正確。它似乎忽略了「Lx」和「Ly」輸入。 – DavidT
我想說'mesh = fipy.Grid2D(nx = 5,dy = [1] * 2 + [.5] * 4,Lx = 3,Ly = 1)'做的是正確的事情,但它不做我們記錄的事情。我很好奇你預期的細胞中心,因爲沒有辦法調和dy = [1] * 2 + [.5] * 4'和'Ly = 1'。 – jeguyer