-
Notifications
You must be signed in to change notification settings - Fork 1
/
convert.py
executable file
·38 lines (32 loc) · 937 Bytes
/
convert.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#!/usr/bin/env python
import os, sys
import geom
from sfepy.fem import Mesh
try:
from site_cfg import tetgen_path
except ImportError:
tetgen_path = '/usr/bin/tetgen'
def mesh():
if len( sys.argv ) == 3:
geom_filename = sys.argv[1]
vtk_filename = sys.argv[2]
if len( sys.argv ) == 2:
geom_filename = sys.argv[1]
vtk_filename = "tmp/t.1.vtk"
else:
geom_filename = "database/box.geo"
vtk_filename = "tmp/t.1.vtk"
os.system( "gmsh -0 %s -o tmp/x.geo" % geom_filename )
g=geom.read_gmsh("tmp/x.geo")
g.printinfo()
geom.write_tetgen(g,"tmp/t.poly")
geom.runtetgen("tmp/t.poly",a=0.03,Q=1.0,quadratic=False,
tetgenpath = tetgen_path)
m = Mesh.from_file("tmp/t.1.node")
m.write( vtk_filename, io = "auto" )
try:
os.makedirs( "tmp" )
except OSError, e:
if e.errno != 17: # [Errno 17] File exists
raise
mesh()