def main(): parser = OptionParser( usage = usage, version = "%prog" ) parser.add_option( "-o", "", metavar = 'filename', action = "store", dest = "output_filename", default = 'out.vtk', help = help['filename'] ) parser.add_option('-f', '--format', metavar='format', action='store', type='string', dest='format', default=None, help=help['format']) parser.add_option( "-d", "--dims", metavar = 'dims', action = "store", dest = "dims", default = '[1.0, 1.0, 1.0]', help = help['dims'] ) parser.add_option( "-s", "--shape", metavar = 'shape', action = "store", dest = "shape", default = '[11, 11, 11]', help = help['shape'] ) parser.add_option( "-c", "--centre", metavar = 'centre', action = "store", dest = "centre", default = '[0.0, 0.0, 0.0]', help = help['centre'] ) (options, args) = parser.parse_args() import numpy as nm dims = eval( "nm.array( %s, dtype = nm.float64 )" % options.dims ) shape = eval( "nm.array( %s, dtype = nm.int32 )" % options.shape ) centre = eval( "nm.array( %s, dtype = nm.float64 )" % options.centre ) print dims print shape print centre mesh = gen_block_mesh(dims, shape, centre, name=options.output_filename) io = MeshIO.for_format(options.output_filename, format=options.format, writable=True) mesh.write(options.output_filename, io=io)
def main(): parser = OptionParser( usage = usage, version = "%prog" ) parser.add_option( "-o", "", metavar = 'filename', action = "store", dest = "output_filename", default = 'out.vtk', help = help['filename'] ) parser.add_option('-f', '--format', metavar='format', action='store', type='string', dest='format', default=None, help=help['format']) parser.add_option( "-a", "--axis", metavar = 'axis', action = "store", dest = "axis", default = 'x', help = help['axis'] ) parser.add_option( "-d", "--dims", metavar = 'dims', action = "store", dest = "dims", default = '[1.0, 1.0, 2.0, 2.0, 3.0]', help = help['dims'] ) parser.add_option( "-s", "--shape", metavar = 'shape', action = "store", dest = "shape", default = '[11, 11, 11]', help = help['shape'] ) parser.add_option( "-c", "--centre", metavar = 'centre', action = "store", dest = "centre", default = '[0.0, 0.0, 0.0]', help = help['centre'] ) parser.add_option( "", "--force-hollow", action = "store_true", dest = "force_hollow", default = False, help = help['force_hollow'] ) parser.add_option( "", "--is-open", action = "store_true", dest = "is_open", default = False, help = help['is_open'] ) parser.add_option( "", "--open-angle", metavar = 'angle', type='float', action = "store", dest = "open_angle", default = '0.0', help = help['open_angle'] ) parser.add_option( "", "--non-uniform", action = "store_true", dest = "non_uniform", default = False, help = help['non_uniform'] ) (options, args) = parser.parse_args() import numpy as nm dims = eval( "nm.array( %s, dtype = nm.float64 )" % options.dims ) shape = eval( "nm.array( %s, dtype = nm.int32 )" % options.shape ) centre = eval( "nm.array( %s, dtype = nm.float64 )" % options.centre ) print dims print shape print centre mesh = gen_cylinder_mesh(dims, shape, centre, axis=options.axis, force_hollow=options.force_hollow, is_open=options.is_open, open_angle=options.open_angle, non_uniform=options.non_uniform, name=options.output_filename) io = MeshIO.for_format(options.output_filename, format=options.format, writable=True) mesh.write(options.output_filename, io=io)
def main(): parser = OptionParser(usage=usage) parser.add_option("-s", "--scale", metavar='scale', action="store", dest="scale", default=None, help=help['scale']) parser.add_option("-f", "--format", metavar='format', action="store", type='string', dest="format", default=None, help=help['format']) parser.add_option("-l", "--list", action="store_true", dest="list", help=help['list']) (options, args) = parser.parse_args() if options.list: output_writable_meshes() sys.exit(0) if len(args) != 2: parser.print_help() sys.exit(1) scale = options.scale if scale is not None: try: try: scale = float(scale) except ValueError: scale = [float(ii) for ii in scale.split(',')] scale = nm.array(scale, dtype=nm.float64, ndmin=1) except: output('bad scale! (%s)' % scale) parser.print_help() sys.exit(1) filename_in, filename_out = args mesh = Mesh.from_file(filename_in) if scale is not None: if len(scale) == 1: tr = nm.eye(mesh.dim, dtype=nm.float64) * scale elif len(scale) == mesh.dim: tr = nm.diag(scale) else: raise ValueError('bad scale! (%s)' % scale) mesh.transform_coors(tr) io = MeshIO.for_format(filename_out, format=options.format, writable=True) output('writing %s...' % filename_out) mesh.write(filename_out, io=io) output('...done')
def main(): parser = OptionParser(usage=usage, version='%prog') parser.add_option('-o', '', metavar='filename', action='store', dest='output_filename', default='out.vtk', help=help['filename']) parser.add_option('-f', '--format', metavar='format', action='store', type='string', dest='format', default=None, help=help['format']) parser.add_option('-d', '--dims', metavar='dims', action='store', dest='dims', default='[1.0, 1.0, 1.0]', help=help['dims']) parser.add_option('-s', '--shape', metavar='shape', action='store', dest='shape', default='[11, 11, 11]', help=help['shape']) parser.add_option('-c', '--centre', metavar='centre', action='store', dest='centre', default='[0.0, 0.0, 0.0]', help=help['centre']) parser.add_option('-2', '--2d', action='store_true', dest='is_2d', default=False, help=help['2d']) (options, args) = parser.parse_args() dim = 2 if options.is_2d else 3 dims = nm.array(eval(options.dims), dtype=nm.float64)[:dim] shape = nm.array(eval(options.shape), dtype=nm.int32)[:dim] centre = nm.array(eval(options.centre), dtype=nm.float64)[:dim] output.prefix = 'blockgen:' output('dimensions:', dims) output('shape:', shape) output('centre:', centre) mesh = gen_block_mesh(dims, shape, centre, name=options.output_filename) io = MeshIO.for_format(options.output_filename, format=options.format, writable=True) mesh.write(options.output_filename, io=io)
def main(): parser = OptionParser(usage=usage, version="%prog") parser.add_option("-o", "", metavar='filename', action="store", dest="output_filename", default='out.vtk', help=help['filename']) parser.add_option('-f', '--format', metavar='format', action='store', type='string', dest='format', default=None, help=help['format']) parser.add_option("-a", "--axis", metavar='axis', action="store", dest="axis", default='x', help=help['axis']) parser.add_option("-d", "--dims", metavar='dims', action="store", dest="dims", default='[1.0, 1.0, 2.0, 2.0, 3.0]', help=help['dims']) parser.add_option("-s", "--shape", metavar='shape', action="store", dest="shape", default='[11, 11, 11]', help=help['shape']) parser.add_option("-c", "--centre", metavar='centre', action="store", dest="centre", default='[0.0, 0.0, 0.0]', help=help['centre']) parser.add_option("", "--force-hollow", action="store_true", dest="force_hollow", default=False, help=help['force_hollow']) parser.add_option("", "--is-open", action="store_true", dest="is_open", default=False, help=help['is_open']) parser.add_option("", "--open-angle", metavar='angle', type='float', action="store", dest="open_angle", default='0.0', help=help['open_angle']) parser.add_option("", "--non-uniform", action="store_true", dest="non_uniform", default=False, help=help['non_uniform']) (options, args) = parser.parse_args() import numpy as nm dims = eval("nm.array( %s, dtype = nm.float64 )" % options.dims) shape = eval("nm.array( %s, dtype = nm.int32 )" % options.shape) centre = eval("nm.array( %s, dtype = nm.float64 )" % options.centre) print dims print shape print centre mesh = gen_cylinder_mesh(dims, shape, centre, axis=options.axis, force_hollow=options.force_hollow, is_open=options.is_open, open_angle=options.open_angle, non_uniform=options.non_uniform, name=options.output_filename) io = MeshIO.for_format(options.output_filename, format=options.format, writable=True) mesh.write(options.output_filename, io=io)
def main(): parser = OptionParser(usage=usage, version='%prog') parser.add_option('-o', '', metavar='filename', action='store', dest='output_filename', default='out.vtk', help=help['filename']) parser.add_option('-f', '--format', metavar='format', action='store', type='string', dest='format', default=None, help=help['format']) parser.add_option('-d', '--dims', metavar='dims', action='store', dest='dims', default='[1.0, 1.0, 1.0]', help=help['dims']) parser.add_option('-s', '--shape', metavar='shape', action='store', dest='shape', default='[11, 11, 11]', help=help['shape']) parser.add_option('-c', '--centre', metavar='centre', action='store', dest='centre', default='[0.0, 0.0, 0.0]', help=help['centre']) parser.add_option('-2', '--2d', action='store_true', dest='is_2d', default=False, help=help['2d']) (options, args) = parser.parse_args() dim = 2 if options.is_2d else 3 dims = nm.array(eval(options.dims), dtype=nm.float64)[:dim] shape = nm.array(eval(options.shape), dtype=nm.int32)[:dim] centre = nm.array(eval(options.centre), dtype=nm.float64)[:dim] output.prefix = 'blockgen:' output('dimensions:', dims) output('shape:', shape) output('centre:', centre) mesh = gen_block_mesh(dims, shape, centre, name=options.output_filename) io = MeshIO.for_format(options.output_filename, format=options.format, writable=True) mesh.write(options.output_filename, io=io)
def main(): parser = OptionParser(usage=usage) parser.add_option('-s', '--scale', metavar='scale', action='store', dest='scale', default=None, help=help['scale']) parser.add_option('-c', '--center', metavar='center', action='store', dest='center', default=None, help=help['center']) parser.add_option('-r', '--refine', metavar='level', action='store', type=int, dest='refine', default=0, help=help['refine']) parser.add_option('-f', '--format', metavar='format', action='store', type='string', dest='format', default=None, help=help['format']) parser.add_option('-l', '--list', action='store_true', dest='list', help=help['list']) (options, args) = parser.parse_args() if options.list: output_writable_meshes() sys.exit(0) if len(args) != 2: parser.print_help() sys.exit(1) scale = _parse_val_or_vec(options.scale, 'scale', parser) center = _parse_val_or_vec(options.center, 'center', parser) filename_in, filename_out = args mesh = Mesh.from_file(filename_in) if scale is not None: if len(scale) == 1: tr = nm.eye(mesh.dim, dtype=nm.float64) * scale elif len(scale) == mesh.dim: tr = nm.diag(scale) else: raise ValueError('bad scale! (%s)' % scale) mesh.transform_coors(tr) if center is not None: cc = 0.5 * mesh.get_bounding_box().sum(0) shift = center - cc tr = nm.c_[nm.eye(mesh.dim, dtype=nm.float64), shift[:, None]] mesh.transform_coors(tr) if options.refine > 0: domain = Domain(mesh.name, mesh) output('initial mesh: %d nodes %d elements' % (domain.shape.n_nod, domain.shape.n_el)) for ii in range(options.refine): output('refine %d...' % ii) domain = domain.refine() output('... %d nodes %d elements' % (domain.shape.n_nod, domain.shape.n_el)) mesh = domain.mesh io = MeshIO.for_format(filename_out, format=options.format, writable=True) output('writing %s...' % filename_out) mesh.write(filename_out, io=io) output('...done')
def main(): parser = OptionParser(usage=usage) parser.add_option('-s', '--scale', metavar='scale', action='store', dest='scale', default=None, help=help['scale']) parser.add_option('-r', '--refine', metavar='level', action='store', type=int, dest='refine', default=0, help=help['refine']) parser.add_option('-f', '--format', metavar='format', action='store', type='string', dest='format', default=None, help=help['format']) parser.add_option('-l', '--list', action='store_true', dest='list', help=help['list']) (options, args) = parser.parse_args() if options.list: output_writable_meshes() sys.exit(0) if len(args) != 2: parser.print_help() sys.exit(1) scale = options.scale if scale is not None: try: try: scale = float(scale) except ValueError: scale = [float(ii) for ii in scale.split(',')] scale = nm.array(scale, dtype=nm.float64, ndmin=1) except: output('bad scale! (%s)' % scale) parser.print_help() sys.exit(1) filename_in, filename_out = args mesh = Mesh.from_file(filename_in) if scale is not None: if len(scale) == 1: tr = nm.eye(mesh.dim, dtype=nm.float64) * scale elif len(scale) == mesh.dim: tr = nm.diag(scale) else: raise ValueError('bad scale! (%s)' % scale) mesh.transform_coors(tr) if options.refine > 0: domain = Domain(mesh.name, mesh) output('initial mesh: %d nodes %d elements' % (domain.shape.n_nod, domain.shape.n_el)) for ii in range(options.refine): output('refine %d...' % ii) domain = domain.refine() output('... %d nodes %d elements' % (domain.shape.n_nod, domain.shape.n_el)) mesh = domain.mesh io = MeshIO.for_format(filename_out, format=options.format, writable=True) output('writing %s...' % filename_out) mesh.write(filename_out, io=io) output('...done')
def main(): parser = OptionParser(usage=usage) parser.add_option('-s', '--scale', metavar='scale', action='store', dest='scale', default=None, help=help['scale']) parser.add_option('-c', '--center', metavar='center', action='store', dest='center', default=None, help=help['center']) parser.add_option('-r', '--refine', metavar='level', action='store', type=int, dest='refine', default=0, help=help['refine']) parser.add_option('-f', '--format', metavar='format', action='store', type='string', dest='format', default=None, help=help['format']) parser.add_option('-l', '--list', action='store_true', dest='list', help=help['list']) (options, args) = parser.parse_args() if options.list: output_writable_meshes() sys.exit(0) if len(args) != 2: parser.print_help() sys.exit(1) scale = _parse_val_or_vec(options.scale, 'scale', parser) center = _parse_val_or_vec(options.center, 'center', parser) filename_in, filename_out = args mesh = Mesh.from_file(filename_in) if scale is not None: if len(scale) == 1: tr = nm.eye(mesh.dim, dtype=nm.float64) * scale elif len(scale) == mesh.dim: tr = nm.diag(scale) else: raise ValueError('bad scale! (%s)' % scale) mesh.transform_coors(tr) if center is not None: cc = 0.5 * mesh.get_bounding_box().sum(0) shift = center - cc tr = nm.c_[nm.eye(mesh.dim, dtype=nm.float64), shift[:, None]] mesh.transform_coors(tr) if options.refine > 0: domain = Domain(mesh.name, mesh) output('initial mesh: %d nodes %d elements' % (domain.shape.n_nod, domain.shape.n_el)) for ii in range(options.refine): output('refine %d...' % ii) domain = domain.refine() output('... %d nodes %d elements' % (domain.shape.n_nod, domain.shape.n_el)) mesh = domain.mesh io = MeshIO.for_format(filename_out, format=options.format, writable=True) output('writing %s...' % filename_out) mesh.write(filename_out, io=io) output('...done')