236 Programming of 3D problems
∂σ
xy
∂y
= η
xy(i,j,l−1)
v
x(i+1,j,l)
− v
x(i,j,l)
y
2
+
v
y(i,j+1,l)
− v
y(i,j,l)
yx
−η
xy(i−1,j,l−1)
v
x(i,j,l)
− v
x(i−1,j,l)
y
2
+
v
y(i−1,j +1,l)
− v
y(i−1,j,l)
yx
,
(Fig. 15.5) (15.48)
∂σ
xz
∂z
= η
xz(i−1,j,l)
v
x(i,j,l+1)
− v
x(i,j,l)
z
2
+
v
z(i,j+1,l)
− v
z(i,j,l)
zx
−η
xz(i−1,j,l−1)
v
x(i,j,l)
− v
x(i,j,l−1)
z
2
+
v
z(i,j+1,l−1)
− v
z(i,j,l−1)
zx
,
(Fig. 15.5) (15.49)
C
v
x
(i,j,l)
=−2
η
n(i−1,j,l−1)
+ η
n(i−1,j −1,l−1)
x
2
−
η
xy(i,j,l−1)
+ η
xy(i−1,j,l−1)
y
2
−
η
xz(i−1,j,l)
+ η
xz(i−1,j,l−1)
z
2
, (15.50)
and other terms can be derived similarly (derive as an exercise).
The methodology of using a multigrid approach for 3D models is the same
as in 2D cases, with the single difference that trilinear (Eqs. (15.14)–(15.16))
and not bilinear interpolation schemes should be used to construct the restriction
and prolongation operations. Example implementations of the above algorithm
for the case of constant and variable viscosity are given respectively in the programs,
Stokes_Continuity3D_Multigrid.m, Variable_viscosity3D_Multigrid.m and
Variable_viscosity3D_MultiMultigrid.m associated with this chapter. As can
be seen from Figs. 15.11, 15.12, multigrid allows us to obtain high-accuracy 3D
mechanical solutions at various viscosity contrasts. In the case of large viscos-
ity contrasts, a computer accuracy solution can often be obtained with a ‘multi-
multigrid’ approach (Fig. 15.12) using repetitive cycles of gradual increase in a
computational viscosity contrast, as described in Chapter 14.
Elastic stress rotation. 3D numerical models including elasticity should take
into account the elastic stress rotation (Chapter 12). One possible way is to use the
general form of Jaumann stress rate (see Eqs. (12.29)–(12.36)), which allows us
to compute the rate of change caused by rotation for various stress components
˙σ
ij(Jaumann)
= σ
ik
ω
kj
− ω
ik
σ
kj
, (15.51)
where ˙σ
ij(Jaumann)
is rate of change for the σ
ij
deviatoric stress components, repeated
index k indicates summation and ω
kj
, ω
ik
are components of the anti-symmetric
rotation rate tensor (Eq. (12.29)). Using Eq. (15.51) in 3D for e.g. σ
xx
, the deviatoric
stress component gives (see Eq. (12.31))
˙σ
xx(Jaumann)
= 2σ
xy
ω
yx
+ 2σ
xz
ω
zx
. (15.52)