Metadata-Version: 1.1
Name: pygmsh
Version: 2.1.1
Summary: Python frontend for Gmsh
Home-page: https://github.com/nschloe/pygmsh
Author: Nico Schlömer
Author-email: nico.schloemer@gmail.com
License: License :: OSI Approved :: MIT License
Download-URL: https://pypi.python.org/pypi/pygmsh
Description: PyGmsh
        ======
        
        |Build Status| |Code Health| |Coverage Status| |Documentation Status|
        |PyPi Version| |PyPi Downloads|
        
        `Gmsh <http://geuz.org/gmsh/>`__ is powerful mesh generation tool and
        its scripting language is notoriously hard to write.
        
        The goal PyGmsh is to combine the power of Gmsh with the versatility of
        Python and to provide useful abstractions from the Gmsh scripting
        language so you can create complex geometries even more easily.
        
        .. figure:: https://nschloe.github.io/pygmsh/screw.png
           :alt: 
        
        To create the above mesh, simply do
        
        .. code:: python
        
            import pygmsh as pg
            import numpy as np
        
            geom = pg.Geometry()
        
            # Draw a cross.
            poly = geom.add_polygon([
                [0.0,   0.5, 0.0],
                [-0.1,  0.1, 0.0],
                [-0.5,  0.0, 0.0],
                [-0.1, -0.1, 0.0],
                [0.0,  -0.5, 0.0],
                [0.1,  -0.1, 0.0],
                [0.5,   0.0, 0.0],
                [0.1,   0.1, 0.0]
                ],
                lcar=0.05
                )
        
            axis = [0, 0, 1]
        
            geom.extrude(
                'Surface{%s}' % poly,
                translation_axis=axis,
                rotation_axis=axis,
                point_on_axis=[0, 0, 0],
                angle=2.0 / 6.0 * np.pi
                )
        
            print(geom.get_code())
        
        and write the output to a file, e.g., ``screw.geo``. Then use Gmsh to
        generate the mesh ``screw.msh``,
        
        .. code:: bash
        
            gmsh -3 screw.geo
        
        You will find this case in the directory ``test/examples/`` along with
        other small examples.
        
        To convert from Gmsh's mesh format to other, more common formats (VTK,
        VTU, Exodus), you can use
        `MeshIO <https://github.com/nschloe/meshio>`__'s ``meshio-convert``.
        Converting is as easy as
        
        ::
        
            meshio-convert screw.msh screw.vtu
        
        The output file can be visualized with various tools, e.g.,
        `ParaView <http://www.paraview.org/>`__.
        
        Installation
        ~~~~~~~~~~~~
        
        Python Package Index
        ^^^^^^^^^^^^^^^^^^^^
        
        PyGmsh is `available from the Python Package
        Index <https://pypi.python.org/pypi/pygmsh/>`__, so simply type
        
        ::
        
            pip install pygmsh
        
        to install or
        
        ::
        
            pip install pygmsh -U
        
        to upgrade.
        
        Manual installation
        ^^^^^^^^^^^^^^^^^^^
        
        Download PyGmsh from `PyPi <https://pypi.python.org/pypi/pygmsh/>`__ or
        `GitHub <https://github.com/nschloe/pygmsh>`__ and install it with
        
        ::
        
            python setup.py install
        
        Requirements
        ~~~~~~~~~~~~
        
        PyGmsh depends on
        
        -  `NumPy <http://www.numpy.org/>`__
        
        and, obviously, `Gmsh <http://geuz.org/gmsh/>`__.
        
        Usage
        ~~~~~
        
        Just
        
        ::
        
            import pygmsh as pg
        
        and make use of all the goodies the module provides. The
        `documentation <http://pygmsh.readthedocs.org/>`__ and the examples
        under ``test/examples/`` might inspire you.
        
        Testing
        ~~~~~~~
        
        To run the PyGmsh unit tests, check out this repository and type
        
        ::
        
            nosetests
        
        or
        
        ::
        
            nose2 -s test
        
        Distribution
        ~~~~~~~~~~~~
        
        To create a new release
        
        1. bump the ``__version__`` number,
        
        2. create a Git tag,
        
           ::
        
               git tag -a v0.3.1
               git push --tags
        
           and
        
        3. upload to PyPi:
        
           ::
        
               make upload
        
        License
        ~~~~~~~
        
        PyGmsh is published under the `MIT
        license <https://en.wikipedia.org/wiki/MIT_License>`__.
        
        .. |Build Status| image:: https://travis-ci.org/nschloe/pygmsh.svg
           :target: https://travis-ci.org/nschloe/pygmsh
        .. |Code Health| image:: https://landscape.io/github/nschloe/pygmsh/master/landscape.png
           :target: https://landscape.io/github/nschloe/pygmsh/master
        .. |Coverage Status| image:: https://coveralls.io/repos/nschloe/pygmsh/badge.svg?branch=master&service=github
           :target: https://coveralls.io/github/nschloe/pygmsh?branch=master
        .. |Documentation Status| image:: https://readthedocs.org/projects/pygmsh/badge/?version=latest
           :target: http://pygmsh.readthedocs.org/en/latest/?badge=latest
        .. |PyPi Version| image:: https://img.shields.io/pypi/v/pygmsh.svg
           :target: https://pypi.python.org/pypi/pygmsh
        .. |PyPi Downloads| image:: https://img.shields.io/pypi/dm/pygmsh.svg
           :target: https://pypi.python.org/pypi/pygmsh
        
Platform: any
Classifier: Development Status :: 4 - Beta
Classifier: License :: OSI Approved :: MIT License
Classifier: Intended Audience :: Science/Research
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Scientific/Engineering :: Mathematics
Requires: numpy
