# Continuing a constant engineering strain rate deformation in LAMMPS

An engineering strain is always defined relative to a reference volume
or shape. Worse, an engineering strain rate also depends on this
reference. The command `fix deform`

in
LAMMPS obviously also uses this
reference. A problem arises when one wants to continue the simulation
from a restart or data file: LAMMPS does not remember the original
reference box.

## tl;dr

Quick summary for the impatient: When restarting a deformation with uniaxial strain, the engineering strain rate must be adjusted. Calculate the strain rate for the restarted simulation using

Shear deformation does not need adjustments.

## Uniaxial deformation

Let us look more closely at this, using the example of a tensile
test. Given a strain rate $\dot\epsilon$,
the length *l* of the box changes with time *t* according to

Note that *l* depends on the initial box length *l _{0}*. The
corresponding LAMMPS
command is, e.g.,

```
fix 1 all deform 1 z erate 0.01
```

If we now write a data/restart file and simply start a new run from
there with the same rate `0.01`

, we get a higher actual strain rate
than we would have gotten using a single simulation without break. The
reason is that we are now at time *t _{1}*, but LAMMPS starts a
new run from $t' = 0$ (corresponding to

*t*). It has forgotten

_{1}*l*and uses the new length

_{0}*l*as a reference instead. The evolution of the length is therefore

_{1}Graphically, this looks like this:

The solution is to find a new strain rate $\dot\epsilon'$, such that the length *l* at time *t* is the same as if we
just continued straining without a break. Then, the following picture
holds true:

To find this equation, we define

Since the result for *l* needs to be the same—both for a single run
using the original formula, as well as for restarting with a corrected
rate—it is:

Solving for $\dot\epsilon'$ gives

Alternatively, using $l_1 = l_0 (\dot\epsilon t_1 + 1)$, we can avoid the box lengths in the formula and obtain

## Shearing

When shearing, LAMMPS simply varies the tilt factor, e.g., xz. The shear strain is defined as $\epsilon = \mathrm{xz}/l_z$, and the shear rate is also defined correspondingly as

Since *l _{z}* does not change, the shear rate is not subject
to the same effect as the uniaxial strain rate above.