You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: paper.md
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -37,7 +37,7 @@ bibliography: paper.bib
37
37
# Summary
38
38
39
39
DAMASK, the Düsseldorf Advanced Material Simulation Kit, is a modular multi-physics crystal plasticity simulation package distributed as free and open-source software under the GNU Affero General Public License (AGPL) [@roters2019damask].
40
-
To facilitate easy pre- and post-processing of DAMASK simulations and simplify the creation of custom workflows for Integrated Computational Materials Engineering (ICME), an accompanying Python library has been developed.
40
+
To facilitate easy pre- and post-processing of DAMASK simulations and simplify the creation of custom workflows for Integrated Computational Materials Engineering (ICME), an accompanying Python library has been developed.
41
41
This library, which is also AGPL-licensed, is introduced here.
42
42
43
43
# Statement of need
@@ -58,13 +58,13 @@ In contrast, the configuration of the materialpoint model and the DAMASK-specifi
58
58
The DAMASK Python library is a package called `damask` and contains functionality for pre-processing tasks, such as the generation and modification of microstructures, load cases, material definition, or numerical parameters, as well as functionality for post-processing that enables analysis and visualization of DAMASK results.
59
59
A particular focus is laid on finite-strain continuum mechanics and crystallography.
60
60
The routines for conversion between the different kinds of orientation representations, such as Euler angles, rotation matrices, unit quaternions, or axis-angle pairs, are based on a consistent set of conventions [@rowenhorst2015consistent].
61
-
The provided routines and data tructures interoperate seamlessly with other libraries from the Python ecosystem, such as `NumPy`[@harris2020array], `pandas`[@mckinney-proc-scipy-2010], `Matplotlib`[@hunter2007matplotlib], `SciPy`[@2020SciPy-NMeth], `VTK`/`PyVista`[@ahrens200536][@Sullivan_PyVista_3D_plotting_2019], `PyYAML`, `h5py`[@collette_python_hdf5_2014][@FolkEtAl2011], and `orix`[@johnstone2020density] to facilitate the definition of custom ICME workflows.
61
+
The provided routines and data structures interoperate seamlessly with other libraries from the Python ecosystem, such as `NumPy`[@harris2020array], `pandas`[@mckinney-proc-scipy-2010], `Matplotlib`[@hunter2007matplotlib], `SciPy`[@2020SciPy-NMeth], `VTK`/`PyVista`[@ahrens200536][@Sullivan_PyVista_3D_plotting_2019], `PyYAML`, `h5py`[@collette_python_hdf5_2014][@FolkEtAl2011], and `orix`[@johnstone2020density] to facilitate the definition of custom ICME workflows.
62
62
63
63
Apart from its DAMASK-specific processing capabilities, many routines of the library can be used in other material science and continuum mechanics applications.
64
64
65
65
## Pre-Processing
66
66
67
-
The main goal of the pre-processing tools is to provide users with the possibility to incorporate data from various sources into their simulation setup.
67
+
The main goal of the pre-processing tools is to enable users to incorporate data from various sources into their simulation setup.
68
68
For example, the users can integrate domain-specific software such as `Neper`[@quey2011large], `DREAM.3D`[@groeber2014dream], and `Gmsh`[@geuzaine2009gmsh] to define microstructures and employ the provided Python routines to convert them into DAMASK-compatible input files.
69
69
Similarly, the materialpoint configuration and load case definition are internally represented as particular Python classes that simplify the creation, modification, and export to YAML files.
70
70
In addition to the three mandatory input files, i.e., geometry definition, material configuration, and the load case description, the creation and modification of an optional YAML file to fine-tune numerical parameters is also supported.
@@ -73,9 +73,9 @@ In addition to the three mandatory input files, i.e., geometry definition, mater
73
73
74
74
The post-processing tools are centered around the HDF5 output file resulting from a DAMASK simulation.
75
75
This flexible file format is called DADF5, short for "DAMASK HDF5" [@DiehlEtAl2017b], which allows data storage according to the FAIR principles [@WilkinsonEtAl2016].
76
-
All data in DADF5 is enriched with metadata such as the date of creation, a human-understandable description, and the physical unit to ensure that the data is findable by humans and computers.
76
+
All data in DADF5 is enriched with metadata, such as the date of creation, a human-understandable description, and the physical unit, to ensure that the data is findable by humans and computers.
77
77
The `Result` class provides custom views on the hierarchical data layout of the DADF5 file for easy accesibility.
78
-
Moreover, it provides routines the computation of derived quantities that are stored alongside with automatically created metadata in the output file.
78
+
Moreover, it provides routines for the computation of derived quantities that are stored alongside with automatically created metadata in the output file.
79
79
The data can be further processed within Python or exported to various file formats for analysis using third-party tools such as `DREAM.3D`, `ParaView`, or `MTEX`[@BachmannEtAl2010].
80
80
This, together with the fact that the complete simulation setup is stored in the DADF5 file, makes it possible to re-use and re-evaluate the data.
0 commit comments