DAMASK — Examples

    Effect of the orientation of a single grain on the distribution of stress and strain in neighboring grains

    General idea:

    The influence of the crystallographic orientation of a single grain on the equivalent stress and strain in its neighboring grains is analyzed. For that, a 3D microstructure, discretized into 128 × 128 × 128 grid points, is constructed from a VORONOI tessellation with 50 randomly placed seed points. To change the local mechanical response, a central grain is selected and its initial crystallographic orientation (give as Euler angles) is chosen as ϕ1=0, Φ=0, ϕ2=0 in the reference microstructure and as ϕ1≠0, Φ=0, ϕ2=0, ϕ1=10, 20, 30, 40, 50, 60, 70, 80 and 90 degrees in the microstructure variants.

    The mechanical response of the reference microstructure is compared to the modified microstructures. For that the microstructures are deformed using the Spectral solver and the differences in equivalent stress and strain are calculated between reference simulation and modified microstructure. A detailed description of this work is presented in the following.

    Pre processing:

    Microstructure creation

    First, 50 random seeds are randomly placed within a three-dimensional cube of [0.0, 0.0, 0.0]—[1.0, 1.0, 1.0] by calling seeds_fromRandom (including including parameter N for number of grains and g for the resolution) in DAMASK.

    > seeds_fromRandom -N 50 -g 128 128 128 > orientation.seeds

    geom_fromVoronoiTessellation enables to create a microstructure with random orientations fron an existing the created seed file. Every grid point is assigned to a grain identification number with

    > geom_fromVoronoiTessellation < orientation.seeds > 50grains128x128x128_00.geom
    The notation "_00" here in the output file stands for the value of ϕ1 of the considered grain. The result is a geometry specification for the spectral solver with the <texture> and <microstructure> parts of the material.config in the header.

    To visualize the geometry in DAMASK, a rectilinear grid can be produced by using the geom_check script.
    > geom_check 50grains128x128x128_00.geom
    Figure 1: 3D microstructure containing 50 grains generated by using a Voronoi tessellation and discretized into a grid of 128 × 128 × 128 points.

    Modification of the original microstructure by rotation of a central grain

    The created file 50grains128x128x128_00.vtr is visualized in paraview and the grain ID of a grain located close to the center is identified with help of the threshold filter. Its crystallographic orientation in the part of the material.config is changed to ϕ1 = 0, ϕ = 0, ϕ2 = 0 for the reference microstructure, addititionally ϕ 1 is set to = 10, 20, ..., 90 degrees in the modified microstructures.
    Figure 1 shows the geometry of the generated microstructure. Figure 2 shows the different crystallographic orientations of the central grain starting with the reference structure followed by modified microstructures for ϕ1 = 10, 20, ..., 90 degrees.

    Figure 2: IPF of the central grain for the reference microstructure and the variants

    Summary: Files needed for running the simulation

    • Load definition: Contains all information about the loadcase. Here, the applied strain rate and the stress conditions are shown in tensor form. Components denoted with ``*'' are prescribed with complementary conditions. In this simulation the material is strained in x-direction.
          > fdot 1.0e-3 0 0  0 * 0   0 0 *   stress  * * *   * 0 *   * * 0   time  10  incs   40 freq  4
          > fdot 1.0e-3 0 0  0 * 0   0 0 *   stress  * * *   * 0 *   * * 0   time  60  incs   60
    • Geometry defintion: The geometry defintion as obtained from seeds_fromRandom and geom_fromVoronoiTessellation.
      • Microstructure configuration and Texture configuration are taken from the header of the generated geometry file (including the changes to the Euler angles of the central grain).
      • Homogenization configuration In the presented simulations the spectral solver is used with a dummy homogenization of type none.
      • Crystallite configuration In this file the output at the crystallite level is requested. For this simulation the parameters texture, stress, strain gradient, and Euler angles are considered.
      • Phase configuration Contains all information about the deformation behavior of the material, examples are found in the examples folder of DAMASK.

    Running the simulation:

    After set up the required files for pre processing, the simulation process is started by applying the load to the periodic volume element. DAMASK_spectral is invoked with the arguments giving microstructure definition and the load file.
    > DAMASK_spectral  --geometry 50grains128x128x128_00.geom --load tension.load
    00 is the notation for ϕ1 = 0 (exemplary for orientation ϕ1 = 0, ϕ = 0, ϕ2 = 0). The output data of the simulation is written into spectral.out files.

    Post processing:

    Processing results of the individual simulations

    The first post processing step is the conversion of required data from the binary *.spectralOut file into an ASCIItable with postResults:
    > postResults --cr fp,f,p,eulerangles,grainrotation,texture --co shearrate_slip,shearrate_slip --split --separation x,y,z --increments --range 60 60 1  50grains128x128x128_00_tensionX.spectralOut
    where --split indicates splitting of the results per time increment, --separation x,y,z separates the data spatially (instead of averaging over the whole volume), --increments turns on incremental counting and --range 60 60 1 selects the last increment written out.

    To derive further quantities from these basic results, other tools are included in DAMASK. The commands addStrainTensors that appends to the ASCIItable strain columns derived from the given stretches and addMises for the equivalent values of stress and strain are important for this simulation.
    > addStrainTensors -0 -v 50grains128x128x128_00_tensionX_inc60.txt
    > addStrainCauchy 50grains128x128x128_00_tensionX_inc60.txt
    > addMises -e 'ln(V)' -s Cauchy 50grains128x128x128_00_tensionX_inc60.txt

    The labels of the variables in all ASCIItables are the same, hence they need to be renamed before the data is merged in order to compute the differences. reLabel enables to rename a scalar, vectorial, or tensorial data in the ASCIItable.

    > reLabel -l fp,f,p,'ln(V)',Cauchy,'Mises(ln(V))','Mises(Cauchy)',texture -s fp-00,f-00,p-00,'ln(V)-00',Cauchy-00,'Mises(ln(V))-00','Mises(Cauchy)-00',texture-00 50grains128x128x128_00_tensionX_inc60.txt

    Calculations of the differences in equivalent stress and strain distributions of the neighboring grains due to the rotation of the central grain

    After creating an ASCIItable, the next step is to show the influence of the orientation of a single grain on its neighboring grains. To achieve this effect, differences in stress and strain states are calculated for different orientations. First, to every ASCIItable with ϕ1 > 0 the original table for ϕ1 = 0 is appended, as shown here (exemplarily for ϕ1 = 0 and ϕ1 = 10):

    > paste -d ' ' 50grains128x128x128_10_tensionX_inc60.txt 50grains128x128x128_00_tensionX_inc60.txt >temp.txt
    > mv temp.txt 50grains128x128x128_10_tensionX_inc60.txt
    128 stands for the resolution, 60 for the increment, 00 and 10 for the values of ϕ1 respectively.

    To append further columns to an existing table and perform calculation, addCalculation is used. Reference orientation is the orientation ϕ1 = 0, ϕ = 0, ϕ2 = 0 for central grain 5. For varying orientations (ϕ1 = 0 is increased) variations in equivalent stress and strain can be observed. Here the code for the differences in stress and strain is shown exemplary for the orientation of ϕ1=0 and ϕ1=10 degrees.

    > addCalculation -l "Delta(Cauchy)","Delta(ln(V))","Delta(Mises(Cauchy))","Delta(Mises(ln(V)))" 
    -f  "#1_Cauchy-00#-#1_Cauchy-10#; #2_Cauchy-00#-#2_Cauchy-10#; #3_Cauchy-00#-#3_Cauchy-10#; #4_Cauchy-00#-#4_Cauchy-10#; #5_Cauchy-00#-#5_Cauchy-10#; #6_Cauchy-00#-#6_Cauchy-10#; #7_Cauchy-00#-#7_Cauchy-10#; #8_Cauchy-00#-#8_Cauchy-10#; #9_Cauchy-00#-#9_Cauchy-10#","#1_ln(V)-00#-#1_ln(V)-10#; #2_ln(V)-00#-#2_ln(V)-10#; #3_ln(V)-00#-#3_ln(V)-10#; #4_ln(V)-00#-#4_ln(V)-10#; #5_ln(V)-00#-#5_ln(V)-10#; #6_ln(V)-00#-#6_ln(V)-10#; #7_ln(V)-00#-#7_ln(V)-10#; #8_ln(V)-00#-#8_ln(V)-10#; #9_ln(V)-00#-#9_ln(V)-10#","#Mises(Cauchy)-00#-#Mises(Cauchy)-10#","#Mises(ln(V))-00#-#Mises(ln(V))-10#" 50grains128x128x128_00_tensionX_inc60.txt

    The last operation is the visualization of the results, in particular the calculated differences. This can be done using vtk_rectilinearGrid and vtk_addRectilinearGridData as outlined in Generate a file for visualization.

    These files can be visualized in programs such as ParaView or visit.


    Differences in equivalent strain and stress of neighboring grains in plane for different orientations of a central grain

    Figure 3: Differences in stress obtained by rotation of a single grain in plane.
    The first sequence of results in Figure 3 shows the local influence of the orientation of one grain on the distribution of stress on the neighboring grains for variations of ϕ1 in plane. The variations are presented in steps of 10 degrees for ϕ1.

    The magnitude and long-range spread of local stress changes significantly with continuing rotation. In terms of stress, red colored regions indicate hard grains which are not well aligned to the applied loadcase and blue colored regions soft orientations. Grey color indicates that the orientation of the grain has no local effect on the stress distribution. The rotated grain is clearly visible by its soft orientation, while red stress lines are arranged close to grain boundaries at its neighbors. The rotated grain reaches better aligned orientations to the applied load and then the average stress drops to zero with ϕ1=90 degrees due to the symmetry of slip families in cubic crystals.

    Figure 4: Differences in strain obtained by rotation of a single grain in plane.
    The second sequence in Figure 4 shows the equivalent results for differences in strain dependent on the orientation. For strain, green colored regions undergo low strain, while violet regions exhibit large deformation. Large strained regions are located on and close to the rotated grain and arranged in bands reaching a maximum for a better aligned orientation. Highly contracted regions are located at neighboring grains close to the rotated grain. Grey regions do not show any dependence of the orientation of the central grain. Differences in equivalent strain are arranged in bands and not restricted by grain boundaries. They can be observed not only on the closest neighbors, but decrease exponentially over distance away from the rotated grain.

    Figure 5: Differences in stress obtained by rotation of a single grain in plane in hcp.

    Figure 6: Differences in strain obtained by rotation of a single grain in plane in hcp.

    3D development of differences in equivalent strain and stress of neighbor grains for different orientations of a central grain. Video 2 shows the spatial development of the location for differences in stress distribution with respect of a central grain for varying orientations. The differences illustrated in this video are filtered. Only big deviations are visible representing the locations which are mainly effected by the orientation of the central grain. As seen in the previous results, stress differences can be observed in the 3D cell changing with different orientations of the central grain. After reaching strong variations for φ1=40 and φ1=50, for 90 degrees no differences can be observed as explained before. Differences in stress are arranged in lines mainly at triple junctions and grain boundaries.

    Video 3 shows the equivalent spatial development of local differences in strain distribution on the surrounding microstructure. In the 3D cell only big strain differences are shown, while small differences are filtered. As seen for stress, strain differences increase first with changing orientation and decrease then with increasing ϕ1. This video verifies the previous results regarding for ϕ1=90 degrees no differences can be observed due to cubic slip system geometry. In comparison to differences in stress, strain variations are also located close to triple junctions and grain boundaries, but more clustered.

    Both videos show that differences in distributions of equivalent stress and strain are widespread over the closest neighboring grains and not just restricted to the grains next to the rotated one. Strong local variations in their magnitude reveal the effect of microstructure on deformation processes in this simulation. These variations strongly depend on the orientation relationship between the rotated grain and its neighbors.


    This simulation is implemented to describe quantitatively the change in stress and strain distribution due to different crystallographic orientations of a central grain. The major role of this orientation for plasticity is shown by calculation the local differences in the mechanical response for two simulations with a rotated grain in the microstructure. The distribution of stress and strain during deformation is mainly influenced by the orientation, because the grains alignment to the applied load changes the amount of resulting deformation carried by this grain. This amount consequently changes the mechanical behavior of the closest neighboring grains. For ϕ1 =0 und ϕ1 =90 the rotated grain reaches cube orientation and therefore no influence on differences in stress and strain are observable.

    Topic attachments
    I Attachment Action Size Date Who Comment
    Orientationgrain.ogvogv Orientationgrain.ogv manage 460 K 14 Apr 2015 - 16:26 YannickNaunheim  
    Strain_1030plane.pngpng Strain_1030plane.png manage 194 K 16 Oct 2015 - 09:17 YannickNaunheim  
    Strain_1030plane_hcp.pngpng Strain_1030plane_hcp.png manage 119 K 16 Oct 2015 - 09:19 YannickNaunheim  
    Strain_4060plane.pngpng Strain_4060plane.png manage 250 K 16 Oct 2015 - 09:18 YannickNaunheim  
    Strain_4060plane_hcp.pngpng Strain_4060plane_hcp.png manage 99 K 16 Oct 2015 - 09:19 YannickNaunheim  
    Strain_7090plane.pngpng Strain_7090plane.png manage 109 K 16 Oct 2015 - 09:18 YannickNaunheim  
    Strain_7090plane_hcp.pngpng Strain_7090plane_hcp.png manage 119 K 16 Oct 2015 - 09:19 YannickNaunheim  
    Strain_video.ogvogv Strain_video.ogv manage 861 K 15 Apr 2015 - 14:45 YannickNaunheim  
    Stress_1030plane.pngpng Stress_1030plane.png manage 280 K 16 Oct 2015 - 09:16 YannickNaunheim  
    Stress_1030plane_hcp.pngpng Stress_1030plane_hcp.png manage 229 K 16 Oct 2015 - 09:18 YannickNaunheim  
    Stress_4060plane.pngpng Stress_4060plane.png manage 333 K 16 Oct 2015 - 09:16 YannickNaunheim  
    Stress_4060plane_hcp.pngpng Stress_4060plane_hcp.png manage 199 K 16 Oct 2015 - 09:18 YannickNaunheim  
    Stress_7090plane.pngpng Stress_7090plane.png manage 173 K 16 Oct 2015 - 09:17 YannickNaunheim  
    Stress_7090plane_hcp.pngpng Stress_7090plane_hcp.png manage 229 K 16 Oct 2015 - 09:18 YannickNaunheim  
    Stress_video.ogvogv Stress_video.ogv manage 882 K 15 Apr 2015 - 14:45 YannickNaunheim  
    Topic revision: r36 - 19 Apr 2017, MartinDiehl

    • News
    01 Sep 2016
    CMCn2016 & DAMASK user meeting to be hosted at Max-Planck-Institut für Eisenforschung
    25 Jul 2016
    Release of version v2.0.1
    08 Mar 2016
    Release of version v2.0.0
    22 Feb 2016
    New webserver up and running
    09 Feb 2016
    Migrated code repository from Subversion to GitLab
    17 Dec 2014
    Release of revision 3813
    14 May 2014
    Release of revision 3108
    02 Apr 2014
    Release of revision 3062
    16 Oct 2013
    Release of revision 2689
    15 Jul 2013
    Release of revision 2555
    15 Feb 2013
    Release of revision 2174
    13 Feb 2013
    Doxygen documentation
    16 Dec 2012
    Powered by MathJax rendering
    23 Nov 2012
    Release of revision 1955
    15 Nov 2012
    Release of revision 1924
    01 Nov 2012
    Updated sidebar
    30 Oct 2012
    Significant website updates and content extensions

    This site is powered by FoswikiCopyright by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
    Ideas, requests, problems regarding DAMASK? Send feedback