Solution (source code)

= Solution

A <strain> increment $\Delta\gamma_j$ applied at time $t_j$ contributes
$$
\Delta\sigma_j(t)=\Delta\gamma_j\,G_{\rm rel}(t-t_j)H(t-t_j).
$$
Linearity lets the contributions add, and time-translation invariance makes the kernel depend only on elapsed time:
$$
\boxed{\sigma(t)=\sum_j\Delta\gamma_jG_{\rm rel}(t-t_j)H(t-t_j)}.
$$
In the continuous limit this is <Boltzmann superposition>,
$$
\sigma(t)=\int_{-\infty}^tG_{\rm rel}(t-s)\dot\gamma(s)\,ds.
$$
The material's prehistory must be included, or it must start from a specified relaxed state. Aging, yielding and large-strain changes can violate this simple superposition. An instantaneous Newtonian contribution can be written separately as $\eta_s\dot\gamma(t)$; for an ideal step it is an impulse, not an ordinary finite relaxation tail.