def mesh(): if len( sys.argv ) == 3: geom_filename = sys.argv[1] vtk_filename = sys.argv[2] else: print 'Usage: %s <gmsh_filename> <mesh_filename>' % sys.argv[0] return 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" )
def main(): parser = OptionParser(usage=usage, version='%prog ' + sfepy.__version__) parser.add_option('-c', '--conf', metavar='"key : value, ..."', action='store', dest='conf', type='string', default=None, help= help['conf']) parser.add_option('-O', '--options', metavar='"key : value, ..."', action='store', dest='app_options', type='string', default=None, help=help['options']) parser.add_option('-o', '', metavar='filename', action='store', dest='output_filename_trunk', default=None, help=help['filename']) parser.add_option('--create-mesh', action='store_true', dest='create_mesh', default=False, help=help['create_mesh']) parser.add_option('--2d', action='store_true', dest='dim2', default=False, help=help['dim']) parser.add_option('-m', '--mesh', metavar='filename', action='store', dest='mesh', default=None, help=help['mesh']) parser.add_option('--mesh-dir', metavar='dirname', action='store', dest='mesh_dir', default='tmp', help=help['mesh_dir']) parser.add_option('--oscillator', action='store_true', dest='oscillator', default=False, help=help['oscillator']) parser.add_option('--well', action='store_true', dest='well', default=False, help=help['well']) parser.add_option('--hydrogen', action='store_true', dest='hydrogen', default=False, help=help['hydrogen']) parser.add_option('--boron', action='store_true', dest='boron', default=False, help=help['boron']) options, args = parser.parse_args() if options.create_mesh and options.mesh: output('--create-mesh and --mesh options are mutually exclusive!') return if len(args) == 1: filename_in = args[0]; auto_mesh_name = False elif len(args) == 0: auto_mesh_name = True mesh_filename = os.path.join(options.mesh_dir, 'mesh.vtk') ensure_path(mesh_filename) if options.oscillator: filename_in = fix_path("examples/quantum/oscillator.py") elif options.well: filename_in = fix_path("examples/quantum/well.py") elif options.hydrogen: filename_in = fix_path("examples/quantum/hydrogen.py") elif options.boron: filename_in = fix_path("examples/quantum/boron.py") elif options.create_mesh: output('generating mesh...') try: os.makedirs("tmp") except OSError, e: if e.errno != 17: # [Errno 17] File exists raise if options.dim2: output("dimension: 2") gp = fix_path('meshes/quantum/square.geo') os.system("cp %s tmp/mesh.geo" % gp) os.system("gmsh -2 tmp/mesh.geo -format mesh") mtv = fix_path('script/convert_mesh.py') os.system("%s tmp/mesh.mesh %s" % (mtv, mesh_filename)) else: output("dimension: 3") import sfepy.mesh as geom from sfepy.fem.mesh import Mesh try: from site_cfg import tetgen_path except ImportError: tetgen_path = '/usr/bin/tetgen' gp = fix_path('meshes/quantum/box.geo') os.system("gmsh -0 %s -o tmp/x.geo" % gp) 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(mesh_filename, io="auto") output("...mesh written to %s" % mesh_filename) return else: parser.print_help() return
def main(): parser = OptionParser(usage=usage, version='%prog ' + sfepy.__version__) parser.add_option('-c', '--conf', metavar='"key : value, ..."', action='store', dest='conf', type='string', default=None, help=help['conf']) parser.add_option('-O', '--options', metavar='"key : value, ..."', action='store', dest='app_options', type='string', default=None, help=help['options']) parser.add_option('-o', '', metavar='filename', action='store', dest='output_filename_trunk', default=None, help=help['filename']) parser.add_option('--create-mesh', action='store_true', dest='create_mesh', default=False, help=help['create_mesh']) parser.add_option('--2d', action='store_true', dest='dim2', default=False, help=help['dim']) parser.add_option('-m', '--mesh', metavar='filename', action='store', dest='mesh', default=None, help=help['mesh']) parser.add_option('--mesh-dir', metavar='dirname', action='store', dest='mesh_dir', default='tmp', help=help['mesh_dir']) parser.add_option('--oscillator', action='store_true', dest='oscillator', default=False, help=help['oscillator']) parser.add_option('--well', action='store_true', dest='well', default=False, help=help['well']) parser.add_option('--hydrogen', action='store_true', dest='hydrogen', default=False, help=help['hydrogen']) parser.add_option('--boron', action='store_true', dest='boron', default=False, help=help['boron']) options, args = parser.parse_args() if options.create_mesh and options.mesh: output('--create-mesh and --mesh options are mutually exclusive!') return if len(args) == 1: filename_in = args[0] auto_mesh_name = False elif len(args) == 0: auto_mesh_name = True mesh_filename = os.path.join(options.mesh_dir, 'mesh.vtk') ensure_path(mesh_filename) if options.oscillator: filename_in = fix_path("examples/quantum/oscillator.py") elif options.well: filename_in = fix_path("examples/quantum/well.py") elif options.hydrogen: filename_in = fix_path("examples/quantum/hydrogen.py") elif options.boron: filename_in = fix_path("examples/quantum/boron.py") elif options.create_mesh: output('generating mesh...') try: os.makedirs("tmp") except OSError, e: if e.errno != 17: # [Errno 17] File exists raise if options.dim2: output("dimension: 2") gp = fix_path('meshes/quantum/square.geo') os.system("cp %s tmp/mesh.geo" % gp) os.system("gmsh -2 tmp/mesh.geo -format mesh") mtv = fix_path('script/convert_mesh.py') os.system("%s tmp/mesh.mesh %s" % (mtv, mesh_filename)) else: output("dimension: 3") import sfepy.mesh as geom from sfepy.fem.mesh import Mesh try: from site_cfg import tetgen_path except ImportError: tetgen_path = '/usr/bin/tetgen' gp = fix_path('meshes/quantum/box.geo') os.system("gmsh -0 %s -o tmp/x.geo" % gp) 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(mesh_filename, io="auto") output("...mesh written to %s" % mesh_filename) return else: parser.print_help() return