A Flexible and Efficient Output File Format for Grain-Scale Multiphysics Simulations
Modern high-performing structural materials gain their excellent properties from the complex interactions of various constituent phases, grains, and subgrain structures that are present in their microstructure. To further understand and improve their properties, simulations need to take into account multiple aspects in addition to the composite nature. Crystal plasticity simulations incorporating additional physical effects such as heat generation and distribution, damage evolution, phase transformation, or changes in chemical composition enable the compilation of comprehensive structure–property relationships of such advanced materials under combined thermo-chemo-mechanical loading conditions. Capturing the corresponding thermo-chemo-mechanical response at the microstructure scale usually demands specifically adopted constitutive descriptions per phase. Furthermore, to bridge from the essential microstructure scale to the component scale, which is often of ultimate interest, a sophisticated (computational) homogenization scheme needs to be employed. A modular simulation toolbox that allows the problem-dependent use of various constitutive models and/or homogenization schemes in one concurrent simulation requires a flexible and adjustable file format to store the resulting heterogeneous data. Besides dealing with heterogeneous data, a file format suited for microstructure simulations needs to be able to deal with large (and growing) amounts of data as (i) the spatial resolution of routine simulations is ever increasing and (ii) more and more quantities are taken into account to characterize a material. To cope with such demands, a flexible and adjustable data layout based on HDF5 is proposed. The key feature of this data structure is the decoupling of spatial position and data, such that spatially variable information can be efficiently accommodated. For position-dependent operations, e.g., spatially resolved visualization, the spatial link is restored through explicit mappings between simulation results and their spatial position.
KeywordsCrystal plasticity Heterogeneous data Microstructures HDF5 XDMF DAMASK
Storage of results obtained by multiphysics simulations at the grain scale require a data format that can handle rather complex data structures in a problem-dependent way. Here, we present a flexible and expandable file structure based on HDF5 [1, 2] that enables the storage of heterogeneous data at two (or more) scales.
Heterogeneity might be a direct consequence of the properties of the investigated microstructure, e.g. different slip and twin systems due to different lattice structures in a multiphase material. Additionally, when using different constitutive models with their specific output for certain phases or regions of the microstructure, the results will also differ between the selected models (see ).
For multiscale simulations, a homogenization scheme typically bridges between two (or even more) scales. It is therefore required to store aggregated/homogenized results as well as the underlying, lower-scale quantities. A direct consequence of such a multiscale approach is the existence of multiple data resulting in the lower scale being present “in parallel” at the same upper-scale point.
Microstructure-scale simulation of a Ti-6Al-4V alloy
Component-scale deep drawing simulation of a dualphase (DP) steel sheet
We first introduce the general structure of the proposed file format and a possible implementation, discuss the details on the above mentioned examples, and finish with concluding remarks and an outlook on further usage of the proposed data format.
A Flexible and Adjustable Data Structure
Consider an arbitrarily shaped body that is discretised into N c (e.g. hexahedral) cells (equivalent to “material points”) with an associated set of data. Since the amount and type of data might be rather different among the different cells, a rigid file format that has the same fixed data layout at every point as found, for instance, in [4, 5], is problematic. Instead, for a flexible, memory-efficient, and self-explanatory data structure, the simulation results are stored in HDF5 file format according to their intrinsic structure plus an additional mapping connecting such data to their spatial location as detailed in depth later. This has the additional advantage that each sub-model (such as a constitutive law for plasticity) can store its output results independently of that of others. For position-dependent operations such as spatially resolved visualization, an explicit mapping between simulation results and their spatial position is introduced. Writing an XML file following the XDMF1 standard based on the mapping from results to spatial positions, the VTK library  can be used to visualize the results directly from the stored data using, for instance, Paraview2 or VisIt3. An implementation of the above concept that is suitable for the Düsseldorf Advanced Material Simulation Kit (DAMASK) will be outlined in the following.
Structure of DAMASK Results
Four types of outputs considered in the data structure
To uniquely identify every instance of each output type that is requested in a simulation, instances are named by prepending its description with an incrementing counter. Taking plasticity constitutive laws as an exemplary case, two instances would result from either different deformation physics (e.g., dislocation density-based versus phenomenological power law) or same deformation physics but different adjustable parameters (e.g., phenomenological power law for Cu and Nb in a composite microstructure).
Mapping Between Data and Spatial Positions
Two mappings, from data to cells as well as from cells to data, allow for position-dependent manipulations of the data sets and are maintained under the top-level group mapping (see Fig. 3).
The first mapping, called cells, is directly stored under the name of the respective instance. This one-dimensional integer array indexes every cell that is included in the respective instance of materialpoint, homogenization, constituent, or constitutive. Therefore, any spatial resolution at the microstructure scale within a single cell is not maintained, i.e., the same cell might be indexed by multiple constituent or constitutive results—even from the same instance.
cells: At which spatial position is the given data located?
cellResults: Which data exist at a given spatial position?
For visualizing data, the cells mapping allows to establish an integer array in order to make use of the coordinate feature specified in the XDMF standard. Using this array in an XML file following the XDMF standard (“light data”) together with the HDF5 file containing the actual output data (“heavy data”) allows the use of the VTK library for visualizing the data spatially resolved (Fig. 1b).
As time provides a natural sequence of results, it serves as the primary categorization. All data of each time increment i (at time t i ) is stored in a separate group called inc_i. This group itself contains four subgroups that hold output at the component scale (materialpoint and homogenization) and at the microstructure scale (constituent and constitutive). Figure 3 summarizes this top-level hierarchy.
The data per materialpoint instance is stored in a subgroup of the materialpoint group with the description of the instance prepended by a unique numerical identifier k. The first dimension of each data array equals the number N k of points requested by the respective materialpoint instance k, while the subsequent dimensions depend on the data type (scalar, vector, tensor). Figure 4 shows an exemplary tree structure where two output sets called “mp1” and “matpoint2” with two and three vector outputs, respectively, of size s j=1,…,5 have been requested by the user. Possible output data could be, e.g., stress, strain, temperature, or concentration of a solute species.
The homogenization results per instance are stored in a similar way as for the materialpoint results, yet a further level of subgroups is introduced to differentiate among the various categories of homogenization schemes. Consider, as an example, a homogenization scheme called “thermomechHomog” being the 2nd active one. Any mechanical output of that homogenization scheme would be stored in inc_i/homogenization/ 2_thermomechHomog/mechanical, while thermal output would live in inc_i/homogenization/ 2_thermomechHomog/thermal.
The storage of the constituent results, i.e., the universal results at the microstructure scale, follows the structure of the materialpoint results. Exemplary output data could be stress or strain (before homogenization, i.e., of each constituent at the microstructure scale) as well as plastic velocity gradient or heat rate.
The storage of the constitutive results is similar to the structure of the homogenization results. Subgroups are introduced per constitutive type, for instance plasticity, damage, or thermal, that hold the specific outputs.
Two common—but complex—simulation set ups are presented in the following to show how the presented data structure might be used. These examples are based on existing simulation studies and are selected in order to address a variety of different requirements.
Micromechanics of a Ti-6Al-4V Alloy
Consider modeling the deformation of a two- or three-dimensional microstructure obtained, for example via EBSD as shown in . By mirroring the measured microstructure in all spatial directions, a periodically repeated volume element is obtained on which periodic boundary conditions can be applied. For such a volume element,5 a spectral method [8, 9] can be used as a boundary value solver. For such a spatially resolved microstructure simulation, no homogenization scheme is used6; hence, universal outputs at the component scale would be equivalent to the corresponding outputs at the microstructure scale. Universal outputs of interest at the microstructure scale are tensors of stress (“P”) and deformation gradient (“F”) as well as crystallographic orientation (in quaternion notation, denoted as “Q”). Since the stress and deformation gradient are equivalent at the constituent and the materialpoint level, writing them out at both levels would simply double the data. While this is generally left to the user as an option, here the data is stored only in constituent together with the orientation vector—which cannot be meaningfully defined in a homogenization context—leaving materialpoint empty.
Deep Drawing of a Dualphase Steel Sheet
Conclusion and Outlook
The presented data structure allows storage of not only data sets that have spatially invariant structure, but it can capture spatially varying data as obtained, for instance, from multiphysics micromechanical simulations. Therefore, this output capability has been implemented in the Düsseldorf Advanced Material Simulation Kit. The use of HDF5 as the underlying file format combines the advantages of plain text files, i.e., human readability, with those of (compressed) binary files, i.e., memory-efficient storage and fast access times. In addition to what has been outlined here, HDF5 features attributes that can be employed to hold supporting information of individual data (such as physical units) or of the simulation as a whole (such as configuration options used). Moreover, the structured data layout simplifies the development of numerous post processing tools that either generate and add derived data (e.g., strain measures from the deformation gradient) or statistically analyze the data. As a lightweight method to visualize the simulation results based on the existing HDF5 file, we envision the use of an adjustable XDMF wrapper.
The volume element might be “representative” if it contains all important microstructural features and is of sufficient size.
In DAMASK, formally a Taylor homogenization scheme with one constituent is used that effectively just passes quantities from the constituent to the materialpoint level.
This research was carried out in the project TCMPrecipSteel of the SPP 1713 Strong coupling of thermo-chemical and thermo-mechanical states in applied materials of the Deutsche Forschungsgemeinschaft (DFG). The support of G. Heber from the HDF Group in designing the data structure is gratefully acknowledged.
- 1.Folk M, Heber G, Koziol Q, Pourmal E, Robinson D (2011) An overview of the HDF5 technology suite and its applications, pp 36–47. doi: 10.1145/1966895.1966900
- 3.Roters F, Eisenlohr P, Kords C, Tjahjanto DD, Diehl M, Raabe D (2012) DAMASK: the Düsseldorf Advanced Material Simulation Kit for studying crystal plasticity using an FE based or a spectral numerical solver. In: Cazacu O (ed) Procedia IUTAM: IUTAM Symposium on Linking Scales in Computation: From Microstructure to Macroscale Properties. doi: 10.1016/j.piutam.2012.03.001, vol 3. Elsevier, Amsterdam, pp 3–10
- 6.Schroeder W, Martin K, Lorensen B (2006) The visualization toolkit, 4th edn, KitwareGoogle Scholar
- 8.Moulinec H, Suquet P (1994) A fast numerical method for computing the linear and nonlinear properties of composites. Comptes rendus de l’Académie des sciences. Série II, Mécanique, physique, chimie, astronomie 318:1417–1423Google Scholar