Metadata-Version: 1.1
Name: PyDistMesh
Version: 1.2
Summary: A Simple Mesh Generator in Python
Home-page: https://github.com/bfroehle/pydistmesh
Author: Bradley Froehle
Author-email: brad.froehle@gmail.com
License: GPL
Description: PyDistMesh_: A Simple Mesh Generator in Python
        ==============================================
        
        PyDistMesh_ is a simple Python code for generating unstructured
        triangular and tetrahedral meshes using *signed distance functions*. It
        intends to have the same functionality as and similar interface to the
        MATLAB-based DistMesh_. Like DistMesh, upon which it is based,
        PyDistMesh is distributed under the `GNU GPL`_.
        
        .. _PyDistMesh: https://github.com/bfroehle/pydistmesh
        .. _DistMesh: http://persson.berkeley.edu/distmesh/
        .. _`GNU GPL`: http://www.gnu.org/copyleft/gpl.html
        
        2-D Examples
        ------------
        
        * Uniform Mesh on Unit Circle::
        
             >>> import distmesh as dm
             >>> import numpy as np
             >>> fd = lambda p: np.sqrt((p**2).sum(1))-1.0
             >>> p, t = dm.distmesh2d(fd, dm.huniform, 0.2, (-1,-1,1,1))
        
        * Rectangle with circular hole, refined at circle boundary::
        
             >>> import distmesh as dm
             >>> fd = lambda p: dm.ddiff(dm.drectangle(p,-1,1,-1,1),
             ...                         dm.dcircle(p,0,0,0.5))
             >>> fh = lambda p: 0.05+0.3*dm.dcircle(p,0,0,0.5)
             >>> p, t = dm.distmesh2d(fd, fh, 0.05, (-1,-1,1,1),
             ...                      [(-1,-1),(-1,1),(1,-1),(1,1)])
        
        
        3-D Examples
        ------------
        
        * 3-D Unit ball::
        
             >>> import distmesh as dm
             >>> import numpy as np
             >>> fd = lambda p: np.sqrt((p**2).sum(1))-1.0
             >>> p, t = dm.distmeshnd(fd, dm.huniform, 0.2, (-1,-1,-1, 1,1,1))
        
        * Cylinder with hole::
        
             >>> import distmesh as dm
             >>> import numpy as np
             >>> def fd10(p):
             ...     r, z = np.sqrt(p[:,0]**2 + p[:,1]**2), p[:,2]
             ...     d1, d2, d3 = r-1.0, z-1.0, -z-1.0
             ...     d4, d5 = np.sqrt(d1**2+d2**2), np.sqrt(d1**2+d3**2)
             ...     d = dm.dintersect(dm.dintersect(d1, d2), d3)
             ...     ix = (d1>0)*(d2>0); d[ix] = d4[ix]
             ...     ix = (d1>0)*(d3>0); d[ix] = d5[ix]
             ...     return dm.ddiff(d, dm.dsphere(p, 0,0,0, 0.5))
             >>> def fh10(p):
             ...     h1 = 4*np.sqrt((p**2).sum(1))-1.0
             ...     return np.minimum(h1, 2.0)
             >>> p, t = dm.distmeshnd(fd10, fh10, 0.1, (-1,-1,-1, 1,1,1))
        
        Demos
        -----
        
        For a quick demonstration, run::
        
            $ python -m distmesh.demo2d
        
        or::
        
            $ python -m distmesh.demond
        
        Dependencies
        ------------
        
        PyDistMesh is compatible with both Python 2 and Python 3. (The author
        has only tested it in Python 2.7 and Python 3.2). It requires several
        common Python packages:
        
        * NumPy_
        * SciPy_
        * matplotlib_ (optional)
        
        Building the package requires a C compiler and LAPACK_.  Cython_, if
        available, can be used to rebuild the extension module bindings.
        
        .. _NumPy: http://numpy.scipy.org/
        .. _SciPy: http://scipy.org/
        .. _matplotlib: http://matplotlib.sourceforge.net/
        .. _Cython: http://cython.org/
        .. _LAPACK: http://www.netlib.org/lapack/
        
        References
        ----------
        
        The DistMesh_ algorithm is described in the following two references.
        If you use the algorithm in a program or publication, please
        acknowledge its authors by adding a reference to the first paper
        below.
        
        * P.-O. Persson, G. Strang, **A Simple Mesh Generator in MATLAB**.
          *SIAM Review*, Volume 46 (2), pp. 329-345, June 2004 (`PDF
          <http://persson.berkeley.edu/distmesh/persson04mesh.pdf>`__)
        
        * P.-O. Persson, **Mesh Generation for Implicit Geometries**.
          Ph.D. thesis, *Department of Mathematics, MIT*, Dec 2004 (`PDF
          <http://persson.berkeley.edu/thesis/persson-thesis-color.pdf>`__)
        
Keywords: meshing
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3.2
Classifier: Operating System :: POSIX :: Linux
Classifier: Topic :: Scientific/Engineering :: Mathematics
