最近我在研究基于Python有限体积求解微分方程。
首先通过Pygmsh生成一个正方体有限元网格数据文档,代码如下:
import pygmsh
with pygmsh.occ.Geometry() as geom:
geom.characteristic_length_max = 0.1
ellipsoid = geom.add_box([0.0, 0.0, 0.0], [1, 1, 1])
mesh = geom.generate_mesh()
mesh.write("D:\\desktop\\tiji\\zfx.vtk")
生成一个有限元网格数据文件zfx.vtk。将数据转成有限体积网格数据,利用有限体积求解微分方程,具体程序:
from fipy import CellVariable, Gmsh3D, TransientTerm, DiffusionTerm, Viewer, MayaviClient
import pygmsh
with pygmsh.occ.Geometry() as geom:
geom.characteristic_length_max = 0.1
ellipsoid = geom.add_box([0.0, 0.0, 0.0], [1, 1, 1])
mesh = geom.generate_mesh()
mesh.write("D:\\desktop\\tiji\\zfx1.vtk")
mesh = Gmsh3D('''
D:\\desktop\\tiji\\zfx1.vtk'''
)
print(mesh.cellCenters)
但是