3.6. Spectral solver load definition
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.
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 |
velocity gradient ($ \bar{\tnsr L}$) |
9 real numbers or asterisks |
instead of Fdot or F ; component wise exclusive with P |
P |
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 , N |
number of increments; linear time scaling |
1 integer |
instead of logIncs |
logIncs |
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 |
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.
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)
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.
PiolaKirchhoff stress (P)
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)
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)
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)
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)
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)
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)
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.
Specifies the frequency at which restart information is written.
By default, restart information is never saved.
Examples
Basic load case (Fdot, 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 (P, Fdot, 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:
- Stress and Deformation BCs are mutually exclusive.
- The stress boundary conditions must not allow for rotation, e.g. the opposite off-diagonal elements cannot have stress components at the same time.
- 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
L 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
L * * * * * * * * * 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
L 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
L * * * * * * 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:
L 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
L 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
L * 1.0 * 0.0 0.0 0.0 0.0 0.0 0.0 P 1.0 * 0.0 * * * * * * t 10.0 incs 40
L * 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 | |