2 つ (またはそれ以上) のメッシュを連結することは可能ですか? 例:
import fipy
meshA = fipy.Grid2D(nx=5, ny=3)
meshB = fipy.Grid2D(nx=5, ny=6)
mesh = fipy.vstack(meshA, meshB)
同じことが 1D または 2D グリッドにも当てはまります。
中間の質問: オフセットを定義することは可能ですか?
絶対に、そして実際には最初のことをするために2番目のことをしなければなりません:
mesh = meshA + (meshB + [[0], [3]])
これにより、meshB が 3 単位だけ上に移動され、meshA に連結されます。
これは の docstring でカバーされていMesh.__add__
ますが、Sphinx ドキュメント ツールは残念ながらそれを出力に含めません。これを読めるドキュメントに明示的に記載する必要があります。
結果のメッシュはもはやグリッドではないため、効率がいくらか失われることに注意してください。この単純なケースでは、 を設定するだけの方が明らかに優れていますny=9
。もう少し複雑な場合は、次のようにします。
mesh = fipy.Grid2D(nx=5, dy=[1,1,1,.5,.5,.5,.5,.5,.5])
メッシュを移植する理由が解像度の変更である場合。