3.7. Spectral solver load definition


parent_gray

Purpose

Defining the load applied to the the volume element (VE). The load file is a plain text file with default file extension *.load . A load file may contain a number of consecutive load cases; each load case corresponds to one line in the load file.


parent_gray

Valid keywords

All valid keywords are given in the following table. Keywoards are case-insensitive.

Overview

Keyword Meaning Arguments Comments
Fdot, dotF deformation gradient rate ($ \dot{\bar{\tnsr F}}$) 9 real numbers or asterisks instead of L or F; component wise exclusive with P
F deformation gradient aim ($\bar{\tnsr F}$) 9 real numbers or asterisks instead of L or Fdot; component wise exclusive with P
L, velgrad, velocitygrad, velocitygradient velocity gradient ($ \bar{\tnsr L}$) 9 real numbers or asterisks instead of Fdot or F; component wise exclusive with P
P, PK1, piolakirchhoff, s, stress Piola–Kirchhoff stress ($ \bar{\tnsr P}$) 9 real numbers or asterisks component wise exclusive with Fdot, F, and L
t, time, delta total time increment 1 real number
incs, increments, steps, N number of increments; linear time scaling 1 integer instead of logIncs
logIncs, logIncrements, logSteps number of increments; logarithmic time scaling 1 integer instead of incs
freq, frequency, outputfreq frequency of results output 1 integer default value is 1, e.g. every step is written out
euler rotation of loadcase frame by z-x-z Euler angles keyword (optional); 3 real values Keywords: deg, degree (default), radian; instead of rot
rot, rotation rotation of loadcase frame by rotation matrix 9 real values instead of euler
dropguessing, guessreset reset guessing None
r, restart, restartwrite frequency of saving restart information 1 integer default value of 0 disables writing of restart information

Deformation gradient rate (Fdot)

keywordSorted ascending values
dotF 9 real numbers or asterisks
Fdot 9 real numbers or asterisks

Specifies the rate of deformation gradient evolution. See the example "Mixed Boundary Conditions" for more information about applying a deformation gradient rate in combination with stress boundary conditions.

Deformation gradient aim (F)

keyword values
F 9 real numbers or asterisks

Specifies the deformation gradient at the end of the load case. A deformation gradient rate between initial and final deformation gradient is linearly interpolated. See the example "Mixed Boundary Conditions" for more information about applying a deformation gradient rate in combination with stress boundary conditions.

Velocity gradient (L)

keyword values
L 9 real numbers or asterisks
velgrad
velocitygrad
velocitygradient

Specifies the velocity gradient applying deformation to the VE. See the example "Mixed Boundary Conditions" for more information about applying a velocity gradient in combination with stress boundary conditions.

Piola–Kirchhoff stress (P)

keyword values
P 9 real numbers or asterisks
PK1
piolakirchhoff
s
stress

Specifies the stress boundary conditions. See the example "Mixed Boundary Conditions" for more information about using stress boundary conditions in combination with deformation boundary conditions.

Total time increment (t)

keyword values
t 1 real number
time
delta

Specifies the total increment $\Delta t$ of time in seconds for the load case. Thus, the load case runs from $t_0$ to $t_0 + \Delta t$.

With linear time stepping (by keyword incs), the time at increment $n$ out of the total $N$ is given by

\[ t(n) = t_0 + \frac{n}{N} \Delta t \]

If time scaling is switched to logarithmic (by keywords logIncs) then the time of increment $n$ is given by

\[ t(n) = \begin{cases} 2^{n-N} \Delta t & \text{in the first loadcase}; \\ t_0 \left(\displaystyle\frac{t_0 + \Delta t}{t_0}\right)^{n/N} & \text{in subsequent loadcases}. \end{cases} \]

Number of increments ([log]incs)

keyword values
[log]incs 1 integer
[log]increments
[log]steps
N

Specifies the number N of increments the load case is subdivided into. If prefixed by »log«, a logarithmic time scaling is used. Otherwise, linear time scaling is used. See total time increment for details on the time step calculation.

Frequency of results output (freq)

keyword values
freq 1 integer
frequency
outputfreq

Specifies the frequency at which results are written to the output file SolverJobName.spectralOut. By default, the results of every increment are written out, e.g. freq is set to 1.

Rotate load frame (euler, rot)

The rotation of the load frame allows loading directions that are not in the direction of the periodic expansion of the VE.

z-x-z Euler angles (euler)

keyword values
euler optional keyword + 3 real numbers

Specifies the rotation between load frame and laboratory frame as z-x-z Euler angles. By default, or when using the keywords deg or degree, angles are given in degree; keyword radian switches to radians.

Rotation matrix (rot)

keyword values
rot 9 real numbers
rotation

Specifies the rotation between load frame and laboratory frame as a rotation matrix $SO(3)$.

Rotation matrices requirements
A rotation matrix must be symmetric and its determinant must be 1.0 (with some allowed numerical tolerances). The following three basic rotation matrices rotate three-dimensional vectors about the $x$, $y$, and $z$ axis, respectively:

\begin{align} R_x(\theta) &= \begin{bmatrix} 1 & 0 & 0 \\ 0 & \cos \theta & -\sin \theta \\ 0 & \sin \theta & \cos \theta \\ \end{bmatrix} \\[6pt] R_y(\theta) &= \begin{bmatrix} \cos \theta & 0 & \sin \theta \\ 0 & 1 & 0 \\ -\sin \theta & 0 & \cos \theta \\ \end{bmatrix} \\[6pt] R_z(\theta) &= \begin{bmatrix} \cos \theta & -\sin \theta & 0 \\ \sin \theta & \cos \theta & 0 \\ 0 & 0 & 1 \\ \end{bmatrix} \end{align}

Reset guessing (dropguessing)

keyword values
dropguessing none
guessreset
Turns off guessing along former trajectory at start of a consecutive load case and calculation start with a homogeneous guess. By default, guessing is on for each load case except for the first one where only a homogeneous guess is possible.

Frequency of saving restart information (restart)

keyword values
restart 1 integer
restartwrite
Specifies the frequency at which restart information is written. By default, restart information is never saved.


parent_gray

Examples

Basic load case (velgrad, L, time, steps)

The most simple load case is defined by prescribing a deformation $\bar{\tnsr F}$ resulting e.g. from a constant technical deformation rate $ \dot{\bar{\tnsr F}}$, a loading time $t$ and the number of steps $n$ in which the problem should be solved.
  • Fdot followed by 9 floating point values lists the deformation rate tensor components in the order 11,12,13,21,22,23,31,32,33.
  • t followed by a positive floating point value specifies the total time of the load case.
  • incs followed by an integer value larger than one indicates the number of steps to use.

Thus, a load case describing tension in 11 and compression in 22 direction is given by:
Fdot 1.0e-4 0.0 0.0   0.0 -1.0e-4 0.0   0.0 0.0 0.0   t 10.0   incs 10

Each increment has the duration of 1.0 second because the total deformation time of 10.0 seconds is divided into 10 increments. The resulting deformation in 11-direction is ≈ 10-3 and in 22-direction ≈ -10-3.

Instead of prescribing a constant technical strain rate by defining $\dot{\bar{\tnsr F}}$, it is possible to prescribe a velocity gradient $\bar{\tnsr L}$ to get a constant true strain rate. The velocity gradient is indicated by the keywords L and is also followed by 9 floating point values:
L 1.0e-4 0.0 0.0   0.0 -1.0e-4 0.0   0.0 0.0 0.0   t 10.0   incs 10

Mixed boundary conditions (stress, velgrad, L)

The samples load cases above force the VE to significantly change its volume at large deformations. Except for special cases (simple shear, rotation, etc.), a load case prescribing all components of $\bar{\tnsr F}$ will lead to a non-volume preserving load. Therefore, the deformation should be undefined at at least one component of the 3x3 tensor $\bar{\tnsr F}$ and a stress must be prescribed at those components to get a unique solution.

To leave a component of the deformation undefined, use an asterisk at the corresponding position. In the following example, a deformation is described in 11 direction and the deformation in 22 direction will be adjusted to a value such that the average Piola–Kirchhoff stress (keyword P) in that direction is 0.0. All other components have 0 deformation (resulting potentially in stress).
Fdot 1.0e-4 0.0 0.0   0.0 * 0.0   0.0 0.0 0.0   P * * *   * 0.0 *   * * *   t 10.0   incs 10

Mixed boundary conditions need to fulfill the following requirements:

  1. Stress and Deformation BCs are mutually exclusive.
  2. The stress boundary conditions must not allow for rotation, e.g. the opposite off-diagonal elements cannot have stress components at the same time.
  3. If a velocity gradient is prescribed, each row of the tensors must either contain stress or velocity gradient.

Load cases not possible due to restriction 1:
Fdot    1.0e-4 0.0 0.0   1.0 0.0 0.0   0.0 0.0 0.0   P 0.0 0.0 0.0   0.0 10.0 0.0   0.0 0.0 0.0   t 10.0    incs 40
velgrad 1.0e-4 0.0 0.0   1.0 0.0 0.0   0.0 0.0 0.0   P 0.0 0.0 0.0   0.0 10.0 0.0   0.0 0.0 0.0   t 10.0    incs 40
Fdot     *      *   *     *   *   *     *   *   *    P  *   *   *     *    *   *     *   *   *    t 10.0    incs 40
velgrad  *      *   *     *   *   *     *   *   *    P  *   *   *     *    *   *     *   *   *    t 10.0    incs 40
Fdot    1.0e-4  *   *     *   *   *     *   *   *    P 0.0 0.0 0.0   2.0  0.0 0.0   0.0 0.0 0.0   t 10.0    incs 40
Fdot    0.0    0.0   *   0.0 0.0 0.0   0.0 0.0 0.0   P  *   *   *    0.0   *   *     *   *   *    t 10.0    incs 40
velgrad 0.0    0.0  0.0   *   *   *     *   *   *    P  *   *   *     *    *   *    0.0 0.0 0.0   t 10.0    incs 40

Load cases not possible due to restriction 2:
Fdot    1.0e-4  *  0.0    *  0.0 0.0   0.0 0.0 0.0   P  *  0.0  *    0.0  *   *     *   *   *    t 10.0    incs 40
velgrad  *      *   *     *   *   *    0.0 0.0 0.0   P 0.0 0.0 0.0   0.0 0.0  *     *   *   *    t 10.0    incs 40
Fdot    1.0e-4 0.0  *    0.0 0.0 0.0    *  0.0 0.0   P  *   *  0.0    *   *   *    0.0  *   *    t 10.0    incs 40
Fdot    1.0e-4  *   *     *  0.0 0.0    *  0.0 0.0   P  *  0.0 0.0   0.0  *   *    0.0  *   *    t 10.0    incs 40

Load cases not possible due to restriction 3:
velgrad 1.0e-4  *  0.0   0.0  *  0.0   0.0 0.0 0.0   P  *  0.0  *     *  0.0  *     *   *   *    t 10.0    incs 40
velgrad 1.0e-4  *  0.0   0.0 0.0 0.0   0.0 0.0 0.0   P  *  0.0  *     *   *   *     *   *   *    t 10.0    incs 40
velgrad  *     1.0  *    0.0 0.0 0.0   0.0 0.0 0.0   P 1.0  *  0.0    *   *   *     *   *   *    t 10.0    incs 40
velgrad  *     1.0  *    0.0 0.0 0.0    *   *   *    P 1.0  *  0.0    *   *   *    0.0 0.0 0.0   t 10.0    incs 40

The following load cases do not offend any of the restrictions and are allowed:
Fdot 1.0e-4 0.0 0.0   0.0   *     0.0   0.0 0.0 0.0   P  *  * *   * 0.0 *   * * *   t 10.0    incs 40
Fdot  *     0.0 0.0   0.0 10.0e-4 0.0   0.0 0.0 0.0   P 0.0 * *   *  *  *   * * *   t 10.0    incs 40

Change of loading direction (dropguessing)

Each line in a load file specifies one load case, the load cases are subsequently applied to the VE. In the following example, uniaxial tension in 11 direction is applied at the same rate with increasing time increments.
Fdot 1.0e-4 0.0 0.0   0.0 * 0.0   0.0 0.0 0.0   p * * *   * 0.0 *   * * *   t 2.0    incs 2
Fdot 1.0e-4 0.0 0.0   0.0 * 0.0   0.0 0.0 0.0   p * * *   * 0.0 *   * * *   t 3.0    incs 2
Fdot 1.0e-4 0.0 0.0   0.0 * 0.0   0.0 0.0 0.0   p * * *   * 0.0 *   * * *   t 5.0    incs 2
To increase the performance of the iterative scheme, the predicted deformation at the beginning of each new load case (and also during subsequent increments of the same load case) follows the rate of the last increment. However, when changing the loading direction, this strategy can lead to longer calculation times or even prevent convergence. The keyword dropguessing disables the guessing at the beginning of a new load case as shown in the following example where the deformation direction changes form the 11 to the 22 component:
Fdot 1.0e-4 0.0 0.0   0.0  *     0.0   0.0 0.0 0.0   p * * *   * 0.0 *   * * *   t 2.0    incs 2
Fdot  *     0.0 0.0   0.0 1.0e-4 0.0   0.0 0.0 0.0   p * * *   * 0.0 *   * * *   t 2.0    incs 2   dropguessing
Naturally, no guessing is possible for the first increment of the first load case.

Rotation of load frame (rotation, euler)

The rotation of the load frame allows to load the VE in arbitrary directions, e.g. not following the sample x-y-z coordinate system.

Equivalent load cases (Rotation by 180°)

By rotating the VE by 180°, the sample x-y-z coordinate axes are aligned with the the lab x-y-z coordinate axes, thus the load
Fdot 1.0e-4 0.0 0.0   0.0  *     0.0   0.0 0.0 0.0   p * * *   * 0.0 *   * * *   t 2.0    incs 2
can be applied also using the following load cases (rotation of 180° around z) when using an isotropic material. For crystalline material, the orientation definition also needs to be rotated, i.e. using the keyword rotation in the texture part in material.config
Fdot  *     0.0 0.0   0.0 1.0e-4 0.0   0.0 0.0 0.0   p * * *   * 0.0 *   * * *   t 2.0    incs 2   rot -1.0 0.0 0.0   0.0 -1.0 0.0   0.0 0.0 1.0
Fdot  *     0.0 0.0   0.0 1.0e-4 0.0   0.0 0.0 0.0   p * * *   * 0.0 *   * * *   t 2.0    incs 2   euler 180.0 0.0 0.0
Fdot  *     0.0 0.0   0.0 1.0e-4 0.0   0.0 0.0 0.0   p * * *   * 0.0 *   * * *   t 2.0    incs 2   euler radian 3.14159265359 0.0 0.0

Rotation by 45°

The following load cases apply the same load, but for the second one load and lab frame are rotated to each other by 45°.
Fdot 1.0e-4 0.0 0.0  0.0 * 0.0  0.0 0.0 0.0   p * * *   * 0.0 *   * * *   t 2.0    incs 2
Fdot 1.0e-4 0.0 0.0  0.0 * 0.0  0.0 0.0 0.0   p * * *   * 0.0 *   * * *   t 2.0    incs 2   rot 0.70710678 -0.70710678 0.0   0.70710678 0.70710678 0.0   0.0 0.0 1.0

The shape change of the original loading direction and of the rotated one are shown in figure 1 in blue and red, respectively.


(a) not rotated

(b) rotated by 45°
Figure 1: Shape changes of VE for unrotated and rotated load frame


Rotating loadcase about z-axis in 10\deg increments
Figure 2: Shape changes of VE under rotating load frame

Topic revision: r42 - 07 Feb 2018, BrendanVandeKieft


  • News
26 Mar 2019
DREAM.3D 6.5.119
(released 2019/03/22) comes with a DAMASK export filter
25 Mar 2019
Release of version v2.0.3
21 Jan 2019
DAMASK overview paper finally published with full citation information available
01 Dec 2018
DAMASK overview paper now online
17 Sep 2018
CMCn2018 & DAMASK user meeting to be hosted at Max-Planck-Institut für Eisenforschung
22 May 2018
Release of version v2.0.2
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
§ Imprint § Data Protection