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 create complex geometries even more easily.
.. raw:: html
<p align="center">
.. raw:: html
</p>
To create the above mesh, simply do
.. code:: python
import pygmsh as pg
import numpy as np
# Draw a cross.
poly = pg.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]
pg.Extrude(
'Surface{%s}' % poly,
translation_axis=axis,
rotation_axis=axis,
point_on_axis=[0, 0, 0],
angle=2.0 / 6.0 * np.pi
)
print(pg.get_code())
and write the output to a file, e.g., ``screw.geo``. Then use Gmsh to
generate the mesh
.. code:: bash
$ gmsh -3 screw.geo
You will find this example in the directory ``test/examples/`` along
with other small examples.
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
======
|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 create complex geometries even more easily.
.. raw:: html
<p align="center">
.. raw:: html
</p>
To create the above mesh, simply do
.. code:: python
import pygmsh as pg
import numpy as np
# Draw a cross.
poly = pg.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]
pg.Extrude(
'Surface{%s}' % poly,
translation_axis=axis,
rotation_axis=axis,
point_on_axis=[0, 0, 0],
angle=2.0 / 6.0 * np.pi
)
print(pg.get_code())
and write the output to a file, e.g., ``screw.geo``. Then use Gmsh to
generate the mesh
.. code:: bash
$ gmsh -3 screw.geo
You will find this example in the directory ``test/examples/`` along
with other small examples.
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
Metadata
Release files for pygmsh 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pygmsh-0.2.0.tar.gz | 7.7 kB | Details |
Release files / pygmsh-0.2.0.tar.gz
| Download URL | pygmsh-0.2.0.tar.gz |
|---|---|
| Size | 7.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
128ca858736f1adb869f7054461f0f6f0c75989a99d43b6ab88ad51381ff988a
|
|
BLAKE2b-256 checksum How to use checksums |
6488e9820fb2ac7001867db0f2bdaef2af9c939f40d6b1288d0b13d305fdf633
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |