Load case sequence
The response of nonlinear materials depends not only on the magnitude and direction of the applied forces but also on the order in which the loading effects are applied. It is therefore necessary to specify the chronological sequence of loading. We start from the usual concept of a load case, by which we mean the temperature and all forces acting on the body at a given moment in time. All load cases to be used in the nonlinear computation are defined in the usual way using the RPD2/RPD3 program. From these pre-prepared loads, the HPP2/HPP3 program then selects and assembles the sequence needed to model the loading history, as shown schematically in the following figure.
It is automatically assumed that the transition from $L_i$ to $L_{i+1}$ is uniform in terms of strain. This transition between individual states is very close to a uniform change in loading, but it need not always be identical. Therefore, in cases where it is essential to strictly follow the force loading path, the relevant segment must be divided into smaller increments. Under all circumstances, the system passes through any load case that has been prescribed.
To achieve a finer subdivision, it is not necessary to specify additional load cases; a simple option is provided by the HPLS program. In most cases, however, resorting to such measures is unnecessary, since they slow down the computation (usually without real benefit). The accuracy of the constitutive equation integration is ensured in a different way, and in the case of creep, the body passes through an equilibrium state at the end of each time increment.
Load cases are defined as follows:
1)
In the name.i2 file, within batch AS 1 (i.e., in the first load case), the material, zero nodal displacements, any springs, the body’s initial temperature, and pairs of contact surfaces are defined in the usual way. The loads listed below (pressure, concentrated forces, etc.) are taken into account only in the linear problem. For nonlinear problems, the loading effects described in AS 1 cannot be used, and they must be specified in AS 2 and above. In the assignment /R 0 $T_o$ $T_w$/, only the initial temperature $T_o$, corresponding to the stress-free state, is significant. The value of $T_w$ has no effect.
2)
In batches AS 2, AS 3, …, all the load cases to be used in the nonlinear computation are created one after another. Their order does not matter. The loading is not specified incrementally but absolutely (with respect to zero). For example, if the assignment /R 0 $T_o$ $T_w$/ occurs, a load case arises in which the body has the temperature $T_w$. The value of $T_o$ is ignored.
3)
The input data are processed by the RPD2/RPD3 program, and the stiffness matrices are then calculated by the SRH2/SRH3 program, followed by the factorization of the system of linear equations by the FEFS program. It is also possible to calculate the elastic stresses using the STR2/STR3 program.
4)
A sequence of load cases $L_1$, $L_2$, … is assembled, where the numbers $L_i$ are the sequence numbers of the AS batches. For example, $L_2=5$ means that the second load case was defined in AS 5 (the current increment relative to the previous configuration is $L_2-L_1$). If it later turns out that a load case is missing, the entire problem must be recomputed starting from point 2.
5)
In the name.iP file, on the IP line, the following is specified:
IP KREST NLC NCYC KMOD KCRP KLARG KCNT KTPR KURHS 0 $L_1$ $L_2$ $\dots$ $L_\mathtt{NLC}$
where
- NLC is the number of terms in the load case sequence,
- NCYC is the number of cycles (repetitions of the entire sequence, the default value is $1$),
The total number of solved states is $\mathtt{NLC}\cdot\mathtt{NCYC}$.
6)
If the problem is physically time-independent (e.g., elastoplasticity), no further data are specified and $\mathtt{KCRP}=0$. For a creep problem, $\mathtt{KCRP}\ge1$, and in the name.iP file, on the RP line, the times in hours corresponding to all load cases are specified:
RP 10*0 $t_1$ $t_2$ $\dots$ $t_\mathtt{NLC}$
It is assumed that $t_\mathtt{NLC}>\ldots>t_2>t_1>0$ and that $\mathtt{NCYC}$ is always $1$ (i.e., it is also possible to write $\mathtt{NCYC}=0$).
The creep computation is automatically combined with elastoplasticity. Excluding the plastic constitutive relations can be achieved by specifying a sufficiently high yield stress in the name.i2 file.
In computations of long-term creep with an initial elastic state of the material, a common approach is to create a single load case $L_e$, describing a constant load, and then to specify $\mathtt{NLC}=2$, the sequence $L_1=L_e, L_2=L_e$, and the times $t_1=0, t_2=t_\text{end}$. This means that the body is first loaded at time zero to $L_e$ (and therefore elastically), and creep then proceeds for the duration $t_\text{end}$ (the final load case $L_e$ is the same as at the beginning).
7)
The input data are processed by the HPP2/HPP3 program, and the problem is solved by the HPLS program.
If the solution was successful, we can continue at point 5 by specifying additional load cases, which, however, had to be defined in advance within the AS batches in the name.i2 file — returning to point 2 means recomputing the entire problem. In the name.iP file, it is sufficient to write $\mathtt{KREST}=2$ at the first position of the IP line:
IP 2 NLC NCYC KMOD $\dots$
For creep problems, it is naturally assumed that the first time $t_1$ is greater than or equal to the time at which the previous solution ended. Otherwise, the HPP2/HPP3 program reports an error. A restart can be used for solving problems with pre-stress. First, the pre-stress is calculated with $\mathtt{KREST}=1$ (e.g., residual stresses after a cooling process), and then a new series of loading (e.g., cyclic) is started with $\mathtt{KREST}=2$. In this way, it is possible to work with material properties that have been altered by their previous history.
Example
We will investigate the residual stresses in a body after heating from $T_1$ to $T_2>T_1$ and subsequent loading by a force $F$.
The name.i2 file will contain:
⋮ ;Definition of the material, boundary conditions, and base temperature. ;Displacements and stresses will be evaluated relative to this state. AS 1 /… /R 0 <T₁> <T> ; T arbitrary ;Force F at a temperature of 0°C. AS 2 /<assignment of F> ;Temperature T₂ without force. AS 3 /R 0 <T> <T₂> ; T arbitrary ;Temperature T₂ + force F. AS 4 /R 0 <T> <T₂> /<assignment of F> ; T arbitrary ;Initial state (must be specified so that unloading can be described). AS 5 /R 0 <T> <T₁> ; T arbitrary ⋮
Let us now assemble several sequences in the name.iP file:
a) incorrectly:
IP 1 3 0 0 6*0 3 2 5
3 – heating from $T_1$ to $T_2$
2 – loading by $F$, but with simultaneous cooling from $T_2$ to $0~^\circ\text{C}$
5 – unloading of $F$ and simultaneous heating from $0~^\circ\text{C}$ to $T_1$
b) incorrectly:
IP 1 3 0 0 6*0 4 3 5
4 – heating from $T_1$ to $T_2$ with simultaneous loading by $F$
3 – unloading of $F$ at constant temperature
5 – cooling from $T_2$ to $T_1$
c) correctly:
IP 1 3 0 0 6*0 3 4 5
3 – heating from $T_1$ to $T_2$
4 – loading by $F$ at constant temperature $T_2$
5 – cooling from $T_2$ to $T_1$ with simultaneous unloading of $F$
Note that in all cases the resulting load state is the same as at the beginning, but the residual stresses will differ. Sequence c) best corresponds to the example’s specification. Another possibility would be the order 3 4 3 5, since it was not precisely specified whether the unloading should occur simultaneously or gradually.
Example
A rod is subjected to an alternating stress $\sigma_a$. Prior to this, the material underwent a single loading and unloading with stress $\sigma_o$. We will investigate the course of the first twenty cycles.
The name.i2 file will contain:
⋮ AS 1 /… AS 2 /<assignment σ = 0> AS 3 /<assignment σ = σₐ> AS 4 /<assignment σ = -σₐ> AS 5 /<assignment σ = σₒ> ⋮
The first loading and unloading are described in the name.iP file:
IP 1 2 0 0 6*0 5 2
After the HPLS program has run, we repeat the solution with $\mathtt{KREST}=2$:
IP 2 2 20 0 6*0 3 4
Running the HPLS program again gives us the course of 20 cycles.

