Metadata-Version: 2.1
Name: microstructpy
Version: 1.1.0
Summary: Microstructure modeling, mesh generation, analysis, and visualization.
Home-page: https://github.com/kip-hart/MicroStructPy
Author: Kenneth (Kip) Hart
Author-email: kiphart91@gmail.com
License: MIT License
Project-URL: Documentation, https://docs.microstructpy.org
Description: MicroStructPy - Microstructure Mesh Generation in Python
        ========================================================
        
        |s-travis|
        |s-license|
        
        |l-github| `Repository`_
        |l-rtd| `Documentation`_
        |l-pypi| `PyPI`_
        
        MicroStructPy is a microstructure mesh generator written in Python.
        Features of MicroStructPy include:
        
        * 2D and 3D microstructures
        * Grain size, shape, orientation, and position control
        * Polycrystals, amorphous phases, and voids
        * Mesh verification
        * Visualizations
        * Output to common file formats
        * Customizable workflow
        
        
        .. image:: https://docs.microstructpy.org/en/latest/_images/banner.png
            :alt: Banner image showing the three steps for creating microstructure.
        
        *The three steps to creating a microstructure are:
        1) seed the domain with particles,
        2) create a Voronoi power diagram, and
        3) convert the diagram into an unstructured mesh.*
        
        Download & Installation
        -----------------------
        
        To install MicroStructPy, download it from PyPI using::
        
            pip install microstructpy
        
        If there is an error with the install, try ``pip install pybind11`` first,
        then install MicroStructPy.
        
        
        MicroStructPy can also be installed from source::
        
            git clone https://github.com/kip-hart/MicroStructPy.git
            pip install -e MicroStructPy/
        
        Installing MicroStructPy creates the command line program ``microstructpy`` and
        the Python package ``microstructpy``.
        The command line program executes a standard workflow on XML input files,
        while the package exposes classes and functions for a customized workflow.
        
        
        Run a Demo
        ----------
        
        MicroStructPy includes several demo and example files to help new users get
        started with the program.
        A full list of examples is available online at
        https://docs.microstructpy.org/examples.html.
        
        Here is minimal example input file:
        
        .. code-block:: XML
        
            <?xml version="1.0" encoding="UTF-8"?>
            <input>
                <material>
                    <shape> circle </shape>
                    <size> 0.15 </size>
                </material>
        
                <domain>
                    <shape> square </shape>
                </domain>
            </input>
        
        This example can be run from the command line by excuting::
        
            microstructpy --demo=minimal.xml
        
        Alternatively, you can copy the text to a file such as
        ``my_input.xml`` and run ``microstructpy my_input.xml``.
        
        The same output can be obtained from using the package in a script:
        
        .. code-block:: python
        
            import matplotlib.pyplot as plt
            import microstructpy as msp
        
        
            phase = {'shape': 'circle', 'size': 0.15}
            domain = msp.geometry.Square()
        
            # Unpositioned list of seeds
            seeds = msp.seeding.SeedList.from_info(phase, domain.area)
        
            # Position seeds in domain
            seeds.position(domain)
        
            # Create polygonal mesh
            polygon_mesh = msp.meshing.PolyMesh.from_seeds(seeds, domain)
        
            # Create triangular mesh
            triangle_mesh = msp.meshing.TriMesh.from_polymesh(polygon_mesh)
        
            # Plot outputs
            for output in [seeds, polygon_mesh, triangle_mesh]:
                plt.figure()
                output.plot(edgecolor='k')
                plt.axis('image')
                plt.axis([-0.5, 0.5, -0.5, 0.5])
                plt.show()
        
        Documentation
        -------------
        
        MicroStructPy documentation is available online at
        https://docs.microstructpy.org.
        
        To build a local copy of the documentation, execute the following from the
        top-level directory of the MicroStructPy repository::
        
            pip install tox
            tox -e docs
        
        Once built, the documentation will be in ``docs/build/``.
        
        Contributing
        ------------
        
        Contributions to the project are welcome.
        Please use the GitHub pull request and issue submission features.
        
        
        License and Attributions
        ------------------------
        
        MicroStructPy is open source and freely availabe under the terms of the the
        MIT license.
        Copyright for MicroStructPy is held by Georgia Tech Research Corporation.
        MicroStructPy is a major part of Kenneth (Kip) Hart's doctoral thesis,
        advised by Prof. Julian Rimoli.
        
        
        .. LINKS
        
        .. _Documentation : https://microstructpy.readthedocs.io
        .. _GitHub: https://github.com/kip-hart/MicroStructPy
        .. _PyPI : https://pypi.org/project/microstructpy/
        .. _Repository: https://github.com/kip-hart/MicroStructPy
        
        .. EXTERNAL IMAGES
        
        .. |l-github| image:: https://api.iconify.design/octicon:mark-github.svg?color=black0&inline=true&height=16
            :alt: GitHub
        
        .. |l-rtd| image:: https://api.iconify.design/simple-icons:readthedocs.svg?color=black&inline=true&height=16
            :alt: ReadTheDocs
        
        .. |l-pypi| image:: https://api.iconify.design/mdi:cube-outline.svg?color=black&inline=true&height=16
            :alt: PyPI
        
        
        .. SHIELDS
        
        .. |s-travis| image:: https://img.shields.io/travis/kip-hart/MicroStructPy
            :target: https://travis-ci.org/kip-hart/MicroStructPy
            :alt: Travis CI
        
        .. |s-license| image:: https://img.shields.io/github/license/kip-hart/MicroStructPy
            :target: https://github.com/kip-hart/MicroStructPy/blob/master/LICENSE.rst
            :alt: License
        
Keywords: microstructure,micromechanics,finite element,FEM,FEA,mesh,polycrystal,tessellation,Laguerre tessellation,multi-sphere
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Scientific/Engineering :: Mathematics
Classifier: Topic :: Scientific/Engineering :: Physics
Description-Content-Type:  text/x-rst
