Kanapy
Kanapy: A Python package for generating complex synthetic polycrystalline microstructures - Published in JOSS (2019)
Science Score: 93.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 22 DOI reference(s) in README and JOSS metadata -
✓Academic publication links
Links to: joss.theoj.org, zenodo.org -
○Committers with academic emails
-
○Institutional organization owner
-
✓JOSS paper metadata
Published in Journal of Open Source Software
Keywords
ellipsoid-packing
finite-element-analysis
materials-science
microstructure-generator
Scientific Fields
Mathematics
Computer Science -
40% confidence
Last synced: 6 months ago
·
JSON representation
Repository
Synthetic microstructure generator. Online documentation:
Basic Info
- Host: GitHub
- Owner: mrgprasad
- License: agpl-3.0
- Language: Python
- Default Branch: master
- Homepage: https://mrgprasad.github.io/kanapy/index.html
- Size: 42.5 MB
Statistics
- Stars: 22
- Watchers: 5
- Forks: 7
- Open Issues: 0
- Releases: 2
Topics
ellipsoid-packing
finite-element-analysis
materials-science
microstructure-generator
Created over 6 years ago
· Last pushed almost 5 years ago
Metadata Files
Readme
Changelog
Contributing
License
Authors
README.rst
.. highlight:: shell
.. image:: https://joss.theoj.org/papers/10.21105/joss.01732/status.svg
:target: https://doi.org/10.21105/joss.01732
.. image:: https://zenodo.org/badge/DOI/10.5281/zenodo.3662366.svg
:target: https://doi.org/10.5281/zenodo.3662366
.. image:: https://img.shields.io/badge/Platform-Linux%2C%20MacOS%2C%20Windows-critical
.. image:: https://img.shields.io/travis/mrgprasad/kanapy.svg
:target: https://travis-ci.org/mrgprasad/kanapy
.. image:: https://codecov.io/gh/mrgprasad/kanapy/branch/master/graph/badge.svg
:target: https://codecov.io/gh/mrgprasad/kanapy
.. image:: https://img.shields.io/badge/License-GNU%20AGPLv3-blue
:target: https://www.gnu.org/licenses/agpl-3.0.html
.. image:: https://img.shields.io/github/v/release/mrgprasad/kanapy
Kanapy is a python package for generating complex synthetic polycrystalline microstructures. The general implementation is done in Python_ with the performance critical part for the geometry module implemented in C++. The Python bindings for the code written in C++ are generated using the lightweight header-only library pybind11_. The C++ part of the implementation utilizes the Eigen_ library for efficient linear algebra calculations. The texture module of Kanapy is implemented as MATLAB_ functions. It also utilizes several algorithms implemented in MTEX_ for texture analysis.
.. _Python: http://www.python.org
.. _pybind11: https://pybind11.readthedocs.io/en/stable/
.. _Eigen: http://eigen.tuxfamily.org/index.php?title=Main_Page
.. _MATLAB: https://www.mathworks.com/products/matlab.html
.. _MTEX: https://mtex-toolbox.github.io/
.. figure:: /docs/figs/Kanapy_graphical_abstract.png
:align: center
Features
--------
* User interface to kanapy through CLI.
* Efficient collision handling of particles through a two-layer collision detection method employing the Octree spatial data structure and the bounding sphere hierarchy.
* Efficient ODF reconstruction directly using orientations from experimantal data.
* Optimal orientaion assignment based on Measured misorientation distribution.
* Independent execution of individual modules through easy data storage and handling.
* In-built hexahedral mesh generator for complex polycrystalline microstructures.
* Flexibility in the choice of the particle packing time step to be sent for voxelization (meshing).
* Option to generate spherical particle position- and radius files that can be read by the Voronoi tessellation software Neper_.
* Option to generate input files for the commercial finite-element software Abaqus_.
* High-performance for the critical part of the geometry code using Python-C++ bindings.
.. _Neper: http://neper.sourceforge.net/
.. _Abaqus: https://www.3ds.com/products-services/simulia/products/abaqus/
.. role:: bash(code)
:language: bash
Installation
------------
The preferred method to install kanapy is through
Anaconda or Miniconda Python distributions. If you do not have any, we suggest installing miniconda_.
.. _miniconda: https://docs.conda.io/en/latest/miniconda.html
Once done, create a virtual environment for Kanapy installation and clone the repository to
a desired location and install.
.. code-block:: console
$ conda create -y -n knpy python=3.6 pip git
$ conda activate knpy
(knpy) $ git clone https://github.com/mrgprasad/kanapy.git /kanapy-master
(knpy) $ cd kanapy-master/
(knpy) $ conda install -y -c conda-forge --file requirements.txt
(knpy) $ pip install -e .
Kanapy is now installed along with all its dependencies. If you intend to use Kanapy's
texture module, link Kanapy with MATLAB_ and MTEX_ installations by
running: :bash:`kanapy setupTexture` and follow the instructions.
.. _MATLAB: https://www.mathworks.com/products/matlab.html
.. _MTEX: https://mtex-toolbox.github.io/
Running tests
--------------
Kanapy uses pytest to perform all its unit testing.
.. code-block:: console
(knpy) $ kanapy runTests
Documentation build
-------------------
Documentation for kanapy is generated using Sphinx. The HTML documentation can be
found at *../kanapy-master/docs/builds/html/index.html*
.. code-block:: console
(knpy) $ kanapy genDocs
Citation
---------
The preferred way to cite Kanapy is:
.. code-block:: bibtex
@article{Prasad2019,
doi = {10.21105/joss.01732},
url = {https://doi.org/10.21105/joss.01732},
year = {2019},
publisher = {The Open Journal},
volume = {4},
number = {43},
pages = {1732},
author = {Mahesh R.G. Prasad and Napat Vajragupta and Alexander Hartmaier},
title = {Kanapy: A Python package for generating complex synthetic polycrystalline microstructures},
journal = {Journal of Open Source Software}
}
Related works and applications
------------------------------
* Prasad et al., (2019). Kanapy: A Python package for generating complex synthetic polycrystalline microstructures. Journal of Open Source Software, 4(43), 1732. https://doi.org/10.21105/joss.01732
* Biswas, Abhishek, R.G. Prasad, Mahesh, Vajragupta, Napat, & Hartmaier, Alexander. (2020, February 11). Kanapy: Synthetic polycrystalline microstructure generator with geometry and texture (Version v2.0.0). Zenodo. http://doi.org/10.5281/zenodo.3662366
* Biswas, A., Prasad, M.R.G., Vajragupta, N., ul Hassan, H., Brenne, F., Niendorf, T. and Hartmaier, A. (2019), Influence of Microstructural Features on the Strain Hardening Behavior of Additively Manufactured Metallic Components. Adv. Eng. Mater., 21: 1900275. http://doi.org/10.1002/adem.201900275
* Biswas, A., Vajragupta, N., Hielscher, R. & Hartmaier, A. (2020). J. Appl. Cryst. 53, 178-187. https://doi.org/10.1107/S1600576719017138
* Biswas, A., Prasad, M.R.G., Vajragupta, N., Kostka, A., Niendorf, T. and Hartmaier, A. (2020), Effect of Grain Statistics on Micromechanical Modeling: The Example of Additively Manufactured Materials Examined by Electron Backscatter Diffraction. Adv. Eng. Mater., 22: 1901416. http://doi.org/10.1002/adem.201901416
* R.G. Prasad, M., Biswas, A., Geenen, K., Amin, W., Gao, S., Lian, J., Röttger, A., Vajragupta, N. and Hartmaier, A. (2020), Influence of Pore Characteristics on Anisotropic Mechanical Behavior of Laser Powder Bed Fusion–Manufactured Metal by Micromechanical Modeling. Adv. Eng. Mater., https://doi.org/10.1002/adem.202000641
License
--------
Kanapy is made available under the GNU AGPLv3 license_.
.. _license: https://www.gnu.org/licenses/agpl-3.0.html
About
-------
The name kanapy is derived from the sanskrit word káṇa_ meaning particle. Kanapy is primarily developed at the `Interdisciplinary Center for Advanced Materials Simulation (ICAMS), Ruhr-University Bochum - Germany `__. Our goal is to build a complete synthetic microstructure generation tool for research and industry use.
.. _káṇa: https://en.wiktionary.org/wiki/%E0%A4%95%E0%A4%A3
JOSS Publication
Kanapy: A Python package for generating complex synthetic polycrystalline microstructures
Published
November 08, 2019
Volume 4, Issue 43, Page 1732
Authors
Mahesh R.g. Prasad
Interdisciplinary Centre for Advanced Materials Simulation, Ruhr-Universität Bochum, Universitätsstr. 150, 44801 Bochum, Germany.
Interdisciplinary Centre for Advanced Materials Simulation, Ruhr-Universität Bochum, Universitätsstr. 150, 44801 Bochum, Germany.
Tags
Microstructure modeling Additive manufacturing Particle packing Collision detection Spatial partitioning VoxelizationGitHub Events
Total
- Watch event: 2
Last Year
- Watch event: 2
Committers
Last synced: 7 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Mahesh R.G Prasad | m****d@r****e | 115 |
| Arfon Smith | a****n | 1 |
Committer Domains (Top 20 + Academic)
rub.de: 1
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 7
- Total pull requests: 1
- Average time to close issues: 4 days
- Average time to close pull requests: about 1 hour
- Total issue authors: 2
- Total pull request authors: 1
- Average comments per issue: 2.57
- Average comments per pull request: 1.0
- Merged pull requests: 1
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- chennachaos (4)
- KedoKudo (3)
Pull Request Authors
- arfon (1)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
libs/pybind11/docs/requirements.txt
pypi
- breathe ==4.5.0
requirements.txt
pypi
- click *
- cmake *
- codecov *
- matplotlib *
- numpy *
- pytest *
- pytest-cov *
- pytest-mock *
- scipy *
- seaborn *
- sphinx *
- sphinx_rtd_theme *
- tqdm *