13.2 Structure of visco-elasto-plastic code 181
1. Defining an optimal computational time step t for the momentum and continuity
equations. One can use a minimum time step value, which satisfies the following three
conditions: a given absolute time step limit on the order of a minimal characteristic
timescale for the processes being modelled; a given relative marker displacement step
limit (typically 0.01–1.0 of minimal grid step) that corresponds to the velocity field
calculated at the previous time step (see Step 3); a given relative fraction of Lagrangian
markers reaching locally the yielding condition (Eq. (12.51)) for the first time (typically
0.0001–0.01 of the total amount of markers representing materials with defined plastic
yielding condition).
2. Calculating the physical properties (η
vp
, µ, ρ, C
P
, k, etc.) for the markers and inter-
polating these newly calculated properties, as well as scalars and tensors defined on
the markers (T, σ
ij
, etc.) to the Eulerian nodes (Fig. 13.2). The plastic yielding con-
dition (Eq. (12.51)) is locally controlled on markers by using Eq. (13.2) to predict
stress changes. This equation is solved in an iterative way for every marker in order to
compute η
vp
based on a local viscous flow law (Eq. 6.5a) and a local plastic flow rule
(Eq. 13.4).
3. Solving the 2D Stokes and continuity equations and computing the velocity and pressure
by solving the global matrix with a direct method.
4. Defining an optimal displacement time step t
m
for markers (typically limiting the
maximal displacement to 0.01–1.0 of the minimal grid step) which can be generally
smaller or equal to the computational time step t (see Step 1).
5. Calculating the stress changes (Eq. (13.2)) on the Eulerian nodes for the displacement
step t
m
(see Step 4) and interpolating these changes to the markers and calculating
new tensor values associated with the markers (see central panel in Fig. 13.1).
6. Calculating the shear and adiabatic heating terms H
s(i,j)
and H
a(i,j)
at the Eulerian
nodes from the computed velocity, pressure, strain rate and stress fields (see Step 3).
7. Defining an optimal time step t
T
for the temperature equation. One can use a minimum
time step value satisfying the following conditions: a given absolute time step limit on
the order of a minimal characteristic thermal diffusion timescale for the processes
being modelled; a given optimal marker displacement time step limit (see Step 3); a
given absolute nodal temperature change limit (typically 1–20 K) (Chapter 10). The
temperature equation can be preliminary solved with the displacement time step t
m
to define possible temperature changes.
8. Solving the temperature equation implicitly in time by a direct method. The temperature
equation can be solved in several steps when t
T
<t
m
.
9. Interpolating the calculated nodal temperature changes (see central panel in Fig. 13.1)
from the Eulerian nodes, to the markers, and calculating new marker temperatures.
10. Advecting all markers throughout the mesh according to the globally calculated velocity
field (see Step 3). Components of the stress tensor defined on the markers are recomputed
analytically to account for any local stress rotation.
Figure 13.2 shows the geometry of an irregularly spaced, fully staggered numer-
ical grid corresponding to the algorithm. The visco-elasto-plastic code can be
developed on the basis of viscous thermomechanical code (Chapter 11). Therefore,