- Author: Alexander Hartmaier
- Organization: ICAMS, Ruhr University Bochum, Germany
- Contact: [email protected]
Dislocation Dynamics (DD) is a numerical method for studying the evolution of a population of discrete dislocations in an elastic medium under mechanical loads. The pyLabDD package introduces a simple version of Dislocation Dynamics in 2-dimensional space to study fundamental aspects of plastic deformation associated with the motion and mutual interaction of dislocations. Dislocations are considered as pure edge dislocations where the line direction is normal to the considered plane.
The pyLabDD package requires an Anaconda or Miniconda environment with a recent Python version. Furthermore, a Fortran compiler is required, e.g. gfortran. On MacOS, this can be achived by installing the command line tools with xcode-select --install
.
The pyLabDD package can be installed directly from its GitHub repository with the following command
$ python -m pip install git+https://github.com/AHartmaier/pyLabDD.git
Alternatively, the repository can be cloned and installed locally. It is recommended to create a conda environment before installation. This can be done by the following the command line instructions
$ git clone https://github.com/AHartmaier/pyLabDD.git ./pyLabDD
$ cd pyLabDD
$ conda env create -f environment.yml
$ conda activate pylabdd
$ python -m pip install . --user
The correct implementation can be tested with
$ pytest tests
After this, the package can be used within python, e.g. be importing the entire package with
import pylabdd as dd
pyLabDD is conveniently used with Jupyter notebooks.
Available notebooks with tutorials on the dislocation dynamics method and the Taylor hardening model are contained in the subfolder notebooks
.
The Jupyter notebooks of the pyLabDD tutorials are also available on Binder
Contributions to the pyLabDD package are highly welcome, either in form of new notebooks with application examples or tutorials, or in form of new functionalities to the Python code. Furthermore, bug reports or any comments on possible improvements of the code or its documentation are greatly appreciated.
pyLabDD requires the following packages as imports:
- NumPy for array handling
- MatPlotLib for graphical output
The pyLabDD package comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under the conditions of the GNU General Public License (GPLv3)
The contents of the examples and notebooks are published under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License (CC BY-NC-SA 4.0)