Ejemplo n.º 1
0
def main():
    parser = ArgumentParser(description=__doc__)
    parser.add_argument('--version', action='version', version = "%(prog)s")
    parser.add_argument('-o', metavar = 'filename',
                        action = "store", dest = "output_filename",
                        default = 'out.vtk', help = help['filename'])
    parser.add_argument('-f', '--format', metavar='format',
                        action='store', type=str, dest='format',
                        default=None, help=help['format'])
    parser.add_argument("-a", "--axis", metavar = 'axis',
                        action = "store", dest = "axis",
                        default = 'x', help = help['axis'])
    parser.add_argument("-d", "--dims", metavar = 'dims',
                        action = "store", dest = "dims",
                        default = '[1.0, 1.0, 2.0, 2.0, 3.0]',
                        help = help['dims'])
    parser.add_argument("-s", "--shape", metavar = 'shape',
                        action = "store", dest = "shape",
                        default = '[11, 11, 11]', help = help['shape'])
    parser.add_argument("-c", "--centre", metavar = 'centre',
                        action = "store", dest = "centre",
                        default = '[0.0, 0.0, 0.0]', help = help['centre'])
    parser.add_argument("--force-hollow",
                        action = "store_true", dest = "force_hollow",
                        default = False, help = help['force_hollow'])
    parser.add_argument("--is-open",
                        action = "store_true", dest = "is_open",
                        default = False, help = help['is_open'])
    parser.add_argument("--open-angle", metavar = 'angle', type=float,
                        action = "store", dest = "open_angle",
                        default = '0.0', help = help['open_angle'])
    parser.add_argument("--non-uniform",
                        action = "store_true", dest = "non_uniform",
                        default = False, help = help['non_uniform'])
    options = 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)
Ejemplo n.º 2
0
def main():
    parser = ArgumentParser(description=__doc__)
    parser.add_argument('--version', action='version', version = "%(prog)s")
    parser.add_argument('-o', metavar = 'filename',
                        action = "store", dest = "output_filename",
                        default = 'out.vtk', help = helps['filename'])
    parser.add_argument('-f', '--format', metavar='format',
                        action='store', type=str, dest='format',
                        default=None, help=helps['format'])
    parser.add_argument("-a", "--axis", metavar = 'axis',
                        action = "store", dest = "axis",
                        default = 'x', help = helps['axis'])
    parser.add_argument("-d", "--dims", metavar = 'dims',
                        action = "store", dest = "dims",
                        default = '[1.0, 1.0, 2.0, 2.0, 3.0]',
                        help = helps['dims'])
    parser.add_argument("-s", "--shape", metavar = 'shape',
                        action = "store", dest = "shape",
                        default = '[11, 11, 11]', help = helps['shape'])
    parser.add_argument("-c", "--centre", metavar = 'centre',
                        action = "store", dest = "centre",
                        default = '[0.0, 0.0, 0.0]', help = helps['centre'])
    parser.add_argument("--force-hollow",
                        action = "store_true", dest = "force_hollow",
                        default = False, help = helps['force_hollow'])
    parser.add_argument("--is-open",
                        action = "store_true", dest = "is_open",
                        default = False, help = helps['is_open'])
    parser.add_argument("--open-angle", metavar = 'angle', type=float,
                        action = "store", dest = "open_angle",
                        default = '0.0', help = helps['open_angle'])
    parser.add_argument("--non-uniform",
                        action = "store_true", dest = "non_uniform",
                        default = False, help = helps['non_uniform'])
    options = 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)
Ejemplo n.º 3
0
    def test_gen_cylinder_mesh(self):
        from sfepy.mesh.mesh_generators import gen_cylinder_mesh

        mesh = gen_cylinder_mesh([0.5, 1, 2, 1.5, 3], [5, 4, 3], [0, 2, 1],
                                 axis='z', non_uniform=True, verbose=False)
        filename = op.join(self.options.out_dir, 'gen_cylinger.mesh')
        mesh.write(filename)

        self.report('cylinder mesh generated')
        return True
Ejemplo n.º 4
0
    def test_gen_cylinder_mesh(self):
        from sfepy.mesh.mesh_generators import gen_cylinder_mesh

        mesh = gen_cylinder_mesh([0.5, 1, 2, 1.5, 3], [5, 4, 3], [0, 2, 1],
                                 axis='z', non_uniform=True, verbose=False)
        filename = op.join(self.options.out_dir, 'gen_cylinder.mesh')
        mesh.write(filename)
        self.report('cylinder mesh generated')

        csum = nm.sum(mesh.coors - nm.min(mesh.coors, axis=0), axis=0)
        return nm.linalg.norm(csum - nm.array([120, 90, 90])) < tolerance
Ejemplo n.º 5
0
    def test_gen_cylinder_mesh(self):
        from sfepy.mesh.mesh_generators import gen_cylinder_mesh

        mesh = gen_cylinder_mesh([0.5, 1, 2, 1.5, 3], [5, 4, 3], [0, 2, 1],
                                 axis='z', non_uniform=True, verbose=False)
        filename = op.join(self.options.out_dir, 'gen_cylinder.mesh')
        mesh.write(filename)
        self.report('cylinder mesh generated')

        csum = nm.sum(mesh.coors - nm.min(mesh.coors, axis=0), axis=0)
        return nm.linalg.norm(csum - nm.array([120, 90, 90])) < tolerance
Ejemplo n.º 6
0
def main():
    parser = ArgumentParser(description=__doc__)
    parser.add_argument('--version', action='version', version="%(prog)s")
    parser.add_argument('-o',
                        metavar='filename',
                        action="store",
                        dest="output_filename",
                        default='out.vtk',
                        help=helps['filename'])
    parser.add_argument('-f',
                        '--format',
                        metavar='format',
                        action='store',
                        type=str,
                        dest='format',
                        default=None,
                        help=helps['format'])
    parser.add_argument("-a",
                        "--axis",
                        metavar='axis',
                        action="store",
                        dest="axis",
                        default='x',
                        help=helps['axis'])
    parser.add_argument("-d",
                        "--dims",
                        metavar='dims',
                        action="store",
                        dest="dims",
                        default='[1.0, 1.0, 2.0, 2.0, 3.0]',
                        help=helps['dims'])
    parser.add_argument("-s",
                        "--shape",
                        metavar='shape',
                        action="store",
                        dest="shape",
                        default='[11, 11, 11]',
                        help=helps['shape'])
    parser.add_argument("-c",
                        "--centre",
                        metavar='centre',
                        action="store",
                        dest="centre",
                        default='[0.0, 0.0, 0.0]',
                        help=helps['centre'])
    parser.add_argument("--force-hollow",
                        action="store_true",
                        dest="force_hollow",
                        default=False,
                        help=helps['force_hollow'])
    parser.add_argument("--is-open",
                        action="store_true",
                        dest="is_open",
                        default=False,
                        help=helps['is_open'])
    parser.add_argument("--open-angle",
                        metavar='angle',
                        type=float,
                        action="store",
                        dest="open_angle",
                        default='0.0',
                        help=helps['open_angle'])
    parser.add_argument("--non-uniform",
                        action="store_true",
                        dest="non_uniform",
                        default=False,
                        help=helps['non_uniform'])
    options = parser.parse_args()

    dims = nm.array(eval(options.dims), dtype=nm.float64)
    shape = nm.array(eval(options.shape), dtype=nm.int32)
    centre = nm.array(eval(options.centre), dtype=nm.float64)

    output.prefix = 'cylindergen:'
    output('dimensions:', dims)
    output('shape:', shape)
    output('centre:', centre)
    output('output file:', options.output_filename)

    check_format_suffix(options.format,
                        op.splitext(options.output_filename)[1][1:])

    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.any_from_filename(options.output_filename,
                                  file_format=options.format,
                                  mode='w')

    mesh.write(options.output_filename, io=io)