Skip to main content
  • Research article
  • Open access
  • Published:

Thermal modeling of subduction zones with prescribed and evolving 2D and 3D slab geometries


The determination of the temperature in and above the slab in subduction zones, using models where the top of the slab is precisely known, is important to test hypotheses regarding the causes of arc volcanism and intermediate-depth seismicity. While 2D and 3D models can predict the thermal structure with high precision for fixed slab geometries, a number of regions are characterized by relatively large geometrical changes over time. Examples include the flat slab segments in South America that evolved from more steeply dipping geometries to the present day flat slab geometry. We devise, implement, and test a numerical approach to model the thermal evolution of a subduction zone with prescribed changes in slab geometry over time. Our numerical model approximates the subduction zone geometry by employing time dependent deformation of a Bézier spline that is used as the slab interface in a finite element discretization of the Stokes and heat equations. We implement the numerical model using the FEniCS open source finite element suite and describe the means by which we compute approximations of the subduction zone velocity, temperature, and pressure fields. We compute and compare the 3D time evolving numerical model with its 2D analogy at cross-sections for slabs that evolve to the present-day structure of a flat segment of the subducting Nazca plate.

1 Introduction

1.1 The importance of the thermal structure of flat slab segments

Upon subduction the oceanic lithosphere warms and undergoes metamorphic phase changes. These can release fluids that may lead to arc volcanism and intermediate-depth seismicity. These regions have significant potential for major natural hazards that include underthrusting seismic events along the plate interface and explosive arc volcanism. The geophysical and geochemical processes that cause such hazards are strongly controlled by temperature (for a recent review see van Keken and Wilson 2023a) and it is of great interest to a broad community of Earth scientists to understand the thermal structure of subduction zones.

Of particular interest to us is the intermediate-depth and deep seismicity that occurs at depths below the brittle–ductile transition and require mechanisms other than brittle failure. Shear heating instabilities (Kelemen and Hirth 2007), dehydration embrittlement (Jung et al. 2004; Raleigh and Paterson 1965), and hydration-related embrittlement (e.g., Shiina et al. 2013; Shirey et al. 2021; van Keken et al. 2012) are three such mechanisms. The difference between the last two is that dehydration embrittlement would limit the seismicity to the location of metamorphic dehydration whereas hydration-related embrittlement may occur wherever fluids that have been liberated by such dehydration reactions migrate. The wide distribution of these fluids that is predicted by fluid flow modeling (Wilson et al. 2014), observed at locations of intermediate-depth seismicity (Bloch et al. 2018; Shiina et al. 2013, 2017), and seen in petrological studies of exhumed oceanic crust (Bebout and Penniston-Dorland 2016) provides strong support for the latter hypothesis. Thermal modeling suggests intermediate-depth seismicity is limited to be above major dehydration reactions such as that of blueschist-out or antigorite-out phase boundaries (Sippl et al. 2019; van Keken et al. 2012; Wei et al. 2017). Further indications of petrological controls on the locations of seismicity are provided by Abers et al. (2013) who showed that the upper plane of seismicity in cold subduction zones tends to be limited to the oceanic crust whereas the seismicity in warm subduction zones occurs in the mantle portion of the subducting slab. See van Keken and Wilson (2023a) for a broader discussion of the relationship between metamorphic dehydration reactions, fluids, and intermediate-depth seismicity.

The observational evidence, combined with modeling constraints, strongly suggests fluids and intermediate-depth earthquakes are related but how can this relationship be further constrained and quantified? Wagner et al. (2020) lay out an elegant motivation that a number of flat slab regions provide natural experiments to study this question. In a number of regions on Earth, such as below Southern Alaska (Finzel et al. 2011), Colombia (Wagner et al. 2017), Mexico, Peru, and Chile (Manea et al. 2017), subduction zones are characterized by flat slabs where upon subduction the slab top stays flat over significant distances after it reaches a certain depth below the continental lithosphere. Periods of flat slab subduction in the geological past have also been suggested to cause orogenic events and ore deposits far from paleogeographically constrained plate boundaries. These include the late Cretaceous to Paleocene Laramide orogeny (see, e.g., Carrapa et al. 2019; Fan and Carrapa 2014) and the Mesozoic South China fold belt (Li and Li 2007). It is generally understood that these slab segments form by trench rollback with the continental lithosphere overriding the slab at shallow depth causing effective flattening.

Specific modern-day flat slab regions that would allow us to further quantify the fluid-seismicity relationship include the present-day Pampean slab (beneath Chile and Argentina) and the Peruvian flat slab segment. Both likely evolved from steeper subduction to near flat subduction due to the subduction of more buoyant thickened ridges such as the Juan Fernández and Nazca Ridges (Antonijevic et al. 2015; Contreras-Reyes et al. 2019; Gutscher et al. 1999). These regions are of particular interest as the intermediate-depth seismicity varies significantly along-trench. This may be caused by a variable hydration state of the incoming lithosphere and the thermal evolution of the subducting crust and mantle (see Wagner et al. 2020, for observational evidence and the development of a testable hypothesis). These locations therefore suggest at least a qualitative correlation between fluids and seismicity. In order to further test and quantify this correlation we need a good understanding of the thermal structure of the flat slab as it evolves.

Numerical modeling provides an important complement to observational studies as it can predict the subduction zone thermal structure by computing approximate solutions to the partial differential equations governing the conservation of mass, momentum, and thermal energy. Thermal models of flat slab segments have provided insights into the thermal evolution of the slab and overriding lithosphere but have generally been predicted using 2D cross-sections (e.g., Axen et al. 2018; Currie and Copeland 2022; English et al. 2003; Liu et al. 2022; Manea and Manea 2011; Marot et al. 2014). The geological evolution of the South Peruvian and Pampean slabs is influenced by strong temporal changes in 3D geometry over time. This makes reliable predictions of their thermal evolution challenging as it needs to be approached with methods that can prescribe such 3D geometrical evolution in a paleogeographically consistent fashion. A few 3D model simulations exist for flat slab reconstructions (Liu et al. 2008; Schmid et al. 2002) or their geodynamical evolution (Jadamec and Haynie 2017; Jadamec et al. 2013; Taramón et al. 2015) that are useful for their intended comparisons with, for example, seismic tomography or plate motions. The employed numerical resolution is generally low and it is difficult to precisely determine the slab surface, which makes it difficult to use these models for the prediction of the precise thermal structure of the subducting slab needed to understand the relationships between earthquake locations, slab stratigraphy, and water content. For this purpose the slab top location should be precisely known and models should have numerical grid spacings of less than a few km in the thermal boundary layers (van Keken et al. 2002, 2008).

Finite Element (FE) models have the particular advantage of being able to precisely prescribe model interfaces (such as the top of the slab or the Moho of the overriding plate) and to be able to use grid refinement that allows for high resolution near thermal boundary layers with coarse grids where the velocity and temperature solutions have small gradients, allowing for high precision and computational efficiency at the same time (see, e.g., Peacock and Wang 1999; Syracuse et al. 2010; van Keken et al. 2002, 2019; Wada and Wang 2009). In this paper we will lay the computational groundwork for such high-resolution FE models that, due to advances in computational methods and software design, can be used to study the thermal structure of subduction zones in both 2D and 3D and with time-varying geometry in a consistent fashion. This modeling approach will allow us (and other researchers) to study the relationship between intermediate-depth seismicity, mineralogy, and water content as laid out in, for example, Wagner et al. (2020). While the examples presented here are specific for models that evolve from intermediate dip to flat slab, the open-source modeling framework we present here is sufficiently general to be used for the thermal modeling of any deforming slab geometry.

1.2 Finite element modeling of subduction zones

Thermal modeling of subduction zones aids in the interpretation of the chemical and physical processes that take place in the descending slab. To study the thermal structure of present-day subduction zones with known geometry and forcing functions (such as age of the oceanic lithosphere at the trench and convergence speed), most existing 2D models (see summary in van Keken and Wilson 2023a) combine a kinematically prescribed slab (or slab surface) and a dynamic mantle wedge (in addition to a dynamic slab if only the slab surface velocity is kinematically prescribed). This approach works well for regions where the slab geometry is fixed (even if the forcing functions may change with time). The use of numerical methods also allows for the exploration of 3D geometries enabling the study of subduction obliquity, along-trench variations in slab geometry, and interactions between multiple slabs (Bengtson and van Keken 2012; Kneller and van Keken 2012; Rosas et al. 2016; Plunder et al. 2018; Wada and He 2017) that can lead to complicated 3D wedge flow that regionally affect the temperature distribution in the subducting slab.

The kinematic-dynamic approach described above has significant limitations when changes in geometry occur over the lifetime of a subduction zone. This occurs, for example, when slabs change from intermediate or steep dip to shallower dip or even to flat slab subduction.

The thermal structure of flat slabs has been investigated with 2D steady-state kinematic-dynamic models (e.g., Gutscher and Peacock 2003; Manea et al. 2017) but the steady-state nature of these models may obscure important effects of the geometrical evolution of the slab. An alternative approach is to model subduction evolution with dynamical models (e.g., Gerya et al. 2009; Liu et al. 2022) but the modeled evolution may not conform closely to paleogeographic constraints and models of slab evolution. It may also be difficult to precisely trace out the subducting oceanic crust within the evolving slab. The inherent and complex 3D nature of these regions also suggests the best approach to understanding the thermal evolution is achieved in a framework that allows for 3D time-dependent modeling where both geometry and forcing functions can be described.

Developing such a framework lays forth a number of requirements that extend beyond the standard FE discretization scheme. The subduction zone computational model must support: (a) a flexible description of the time-dependent slab interface geometry; (b) imposition of arbitrary geometry dependent boundary conditions; and (c) scalable distribution of the discretized problem for solution with parallel linear algebra packages (i.e., support efficient computation of small 2D models on local machines and large 3D models on high performance computers).

To address these requirements we use the components of the FEniCS project for assembly of our FE systems (Logg et al. 2012). The work presented here builds on our extensive experience using FEniCS for flexible solution of the equations governing subduction zone thermal structure and mantle dynamics. This includes the modeling of the thermal structure of the subduction slab with and without shear heating (Abers et al. 2020; van Keken et al. 2019) and the role of fluid transport through the slab and mantle wedge (Cerpa et al. 2017; Wilson et al. 2014, 2017). We have demonstrated the precision of the FEniCS applications by comparison to semi-analytical approaches (with comparisons, for example, to solutions from Molnar and England (1990) as in van Keken et al. (2019)), published subduction zone benchmarks (van Keken et al. 2008), and intercode comparisons involving detailed reproductions of published models (as shown in van Keken and Wilson 2023b) that were made using fully independent FE software such as Sepran (van den Berg et al. 2015). Other useful geodynamical applications using FEniCS include studies of oceanic crust formation and recycling in mantle convection models (Jones et al. 2021) and the accurate modeling of buoyancy driven flows in incompressible and slightly compressible media (Sime et al. 2021, 2022).

Fig. 1
figure 1

Subduction zone interface geometry data points as retrieved from seismological observations. The resolution of the data is highlighted along the border of Chile and Argentina. Geometry of the present-day structure of the flat slab segment is based on Anderson et al. (2007)

Fig. 2
figure 2

Schematic diagram of the subduction zone geometry employed in the model when \(D=2\). The inset axis highlights the subdivision of the slab interface above the coupling depth \(d_c\). Extension to \(D=3\) can be envisaged as the extrusion of this geometry in the \(\hat{\varvec{y}}\) direction

Fig. 3
figure 3

Schematic of the slab convergence direction. The surface \(\Gamma _\text {slab}\) is colored by depth for visual aid. The plane defined by \(\hat{\varvec{r}} \times \hat{\varvec{d}}_\text {conv}\) and its intersection with \(\Gamma _\text {slab}\) are highlighted. The slab surface normal vector \(\hat{\varvec{n}}_\text {slab}\), the slab convergence direction \(\hat{\varvec{\tau }}_\text {conv}\) and the perpendicular vector \(\hat{\varvec{\tau }}^\bot _\text {conv}\) are drawn as arrows on the surface

Fig. 4
figure 4

Schematic diagram of the slab interface geometry designed as a B-spline in physical space, (xz), evolving over parameterized time, \(\vartheta\). The putative initial and observed final coordinates of points on the assumed slab surface are interpolated to splines with an equal number of control points and equal number of knot vectors yielding \(\Gamma _\text {slab}(\vartheta =0)\) and \(\Gamma _\text {slab}(\vartheta =1)\). The slab interface surface at intermediate time is generated according to Eq. 22. The displacement vector of the slab surface, \(\varvec{d}_\text {slab}\), is shown from the initial to the final configuration

In this paper we will use FEniCS for evolving subduction zone models where the final subduction zone geometry is defined by the approximation of a seismically determined slab surface position (see, e.g., Fig. 1) by a Bézier spline (B-spline). These B-splines may be manipulated such that a time evolving geometry may be defined. The specification of the B-spline further provides convenient interfacing with Computer-Aided Design (CAD) software such that 2D and 3D volumes of the domain of interest may be generated. These CAD geometries furthermore interface with mesh generators in a straightforward manner yielding the spatial tessellation of the domain necessary for discretization of the model by the FE method. The nature of the flow on the slab interface is handled by employing Nitsche’s method for the weak imposition of boundary data (Nitsche 1971). This provides us with much greater flexibility when prescribing the geometry-dependent flow direction along the slab interface. Finally, interfacing with the linear algebra solvers provided by the Portable Extensible Toolkit for Scientific Computation (PETSc) library gives us the ability to tailor scalable solution methods for the underlying discretized FE linear system (Balay et al. 2023).

In the remainder of this paper we will provide the mathematical and technical description for this new modeling approach, describe the numerical implementation, provide examples of modeling the evolution of a flat slab segment loosely based on the Chilean/Argentinian geometry in both 2D and 3D, and provide a detailed comparison of how the 3D models differ from simplified 2D cross-sectional models to show that 3D time-dependent evolution is important for determining the thermal structure of the subducting crust. In a future article we will use this new modeling ability to specifically test the hypotheses regarding the cause of intermediate-depth seismicity as laid out in Wagner et al. (2020).

2 Methods

2.1 Time evolving domain

Let \(t \in {\mathcal {I}} = [0, t_\text {slab}]\) be the time domain of the model where \(t_\text {slab}\) is the total time for the slab surface to deform from its initial to final state. Let \(\Omega (t) \subset {\mathbb {R}}^D\) be the spatial domain of interest at a given time t, where \(D \in \{ 2, 3 \}\) is the spatial dimension. The domain has boundary \(\partial \Omega (t)\) with outward pointing normal unit vector \(\hat{\varvec{n}}(t)\) and tangential unit vectors \(\hat{\varvec{\tau }}_i(t)\), \(i=1,\ldots ,D-1\). For brevity of notation we assume that all quantities deriving from the domain are functions of time and write \(\Omega = \Omega (t)\). Furthermore we uniquely define each point in \(\Omega\) according to the standard Cartesian reference frame with coordinate tuples and orthogonal unit directions \(\varvec{x} = (x, z)\) and \((\hat{\varvec{x}}, \hat{\varvec{z}})\) when \(D=2\) and \(\varvec{x} = (x, y, z)\) and \((\hat{\varvec{x}}, \hat{\varvec{y}}, \hat{\varvec{z}})\) when \(D=3\). We further define the radial distance from the origin \(r = \Vert \varvec{x} \Vert _2\), the unit vector pointing in the radial direction \(\hat{\varvec{r}}\), and given the radius of the Earth \(r_0\) we define the depth \(d = r_0 - r\).

The exterior boundary is divided into components \(\partial \Omega _i\) such that \(\partial \Omega = \cup _i \partial \Omega _i\) and no component overlaps \(\cap _i \partial \Omega _i = \emptyset\). On the interior of the geometry we prescribe an interior boundary, \(\Gamma _\text {slab}\), with unit normal \(\hat{\varvec{n}}_\text {slab}\). This interior boundary aligns with an approximation of the subduction zone’s slab interface geometry. This interface defines the surface of bisection of the domain \(\Omega\) into \(\Omega _\text {slab}\) and \(\Omega _\text {wedge} \cup \Omega _\text {plate}\) such that \(\Omega = \Omega _\text {slab} \cup \Omega _\text {wedge} \cup \Omega _\text {plate}\) (see Fig. 2). \(\Omega _\text {slab}\) extends a depth \(d_\text {slab}\) beneath \(\Gamma _\text {slab}\) while \(\Omega _\text {plate}\) occupies a thickness of \(d_\text {plate}\) at the top of the domain and above \(\Gamma _\text {slab}\). Each of these subdomains has a boundary with outward pointing unit normal vector \(\hat{\varvec{n}}_\text {slab}\), \(\hat{\varvec{n}}_\text {wedge}\), and \(\hat{\varvec{n}}_\text {plate}\), respectively.

Fig. 5
figure 5

Schematic of the slab surface envelopment into a volume by employing spline manipulations typically offered by CAD software

Fig. 6
figure 6

Temperatures and speeds around the evolving slab over 11 Myr. The model is solved with \(D=2\) where the geometry is taken from a cross-section of the \(D = 3\) volume parallel to the y-axis at location \(y={-200\,\mathrm{\text {k}\text {m}}}\). The time interval is discretized with 100 time steps such that \(\Delta t = {0.11}\,\hbox {Myr}\). Tracers are added in the speed plots showing pathlines between the time snapshots

Fig. 7
figure 7

As Fig. 6 but now for \(y={0\,\mathrm{\text {k}\text {m}}}\)

Fig. 8
figure 8

As Fig. 6 but now for \(y={200\,\mathrm{\text {k}\text {m}}}\)

Fig. 9
figure 9

Temporal convergence test of the \(D=2\) models shown in Figs. 6, 7 and 8 and \(D=3\) models shown in Figs. 12, 13 and 14. Here, in each case, we plot the surface temperatures as a function of depth along \(\Gamma _\text {slab}\) at final time \(t(\vartheta =1) = {11}\,\hbox {Myr}\). We also overlay the initial temperature along the slab at \(t = 0\) as a dotted line. For each case, the temporal domain is discretized by 25, 50 and 100 time steps yielding the time step sizes shown in the legend

The interior boundary \(\Gamma _\text {slab}\) is further subdivided into components above a coupling depth, \(d_c\), that is embedded in \(\Gamma _\text {slab}\) (a point when \(D=2\) or a curve when \(D=3\)). This coupling depth is the component of \(\Gamma _\text {slab}\) below which the slab and wedge velocities will become fully coupled and above which a fault discontinuity will be modeled. To facilitate this the slab and wedge domains are separated above \(d_c\) such that the slab interface is labeled \(\Gamma _\text {slab fault}\) from the slab side and \(\Gamma _\text {wedge no slip}\) from the wedge side. The specific boundary conditions to be applied on each of these components will be introduced in Sect. 2.3. A schematic diagram of an abstract representation of the \(D=2\) subduction zone domain is shown in Fig. 2. The extrusion of the shown domain in the \(\hat{\varvec{y}}\) direction yields a \(D=3\) subduction zone domain. In this case we label the near and far faces \(\partial \Omega _\text {near}\) and \(\partial \Omega _\text {far}\), respectively.

2.2 Underlying partial differential equations (PDEs)

Table 1 Summary of physical quantities and reference values used in the model

The subduction zone evolution is modeled by the incompressible Stokes approximation where we seek velocity \(\varvec{u} : \Omega \rightarrow {\mathbb {R}}^D\), pressure \(p : \Omega \rightarrow {\mathbb {R}}\) and temperature \(T : \Omega \rightarrow {\mathbb {R}}\) that satisfy

$$\begin{aligned} -\nabla \cdot \varvec{\sigma }&= \varvec{0}, \end{aligned}$$
$$\begin{aligned} \nabla \cdot \varvec{u}&= 0, \end{aligned}$$
$$\begin{aligned} \rho c_p \left( \frac{\partial T}{\partial t} + \varvec{u} \cdot \nabla T\right) - \nabla \cdot ( k \nabla T)&= Q, \end{aligned}$$

with a stress tensor

$$\begin{aligned} \varvec{\sigma }= \eta \left( \nabla \varvec{u} + \nabla \varvec{u}^\top \right) - p \varvec{I}. \end{aligned}$$

Here \(\rho\) is the density, \(c_p\) is the heat capacity, and k is the thermal conductivity, which are all considered piecewise constant across the domain. \(\varvec{I} \in {\mathbb {R}}^{D\times D}\) is the identity tensor, \(\eta : \Omega \rightarrow {\mathbb {R}}^+\) is the viscosity, and \(Q : \Omega \rightarrow {\mathbb {R}}^+ \cup \{ 0 \}\) is the volumetric heat production rate. Equations (1) and (2) comprise the Stokes system of equations conserving momentum and mass, respectively. Equation (3) expresses the conservation of energy of the system under our incompressible approximation. In our numerical simulations we solve a rescaled formulation of Eqs. (1) to (3) as described in Appendix A.

The viscosity model employed is that of diffusion creep combined with a near-rigid crust modeled by a constant high viscosity such that

$$\begin{aligned} \eta (\varvec{x}, T) = {\left\{ \begin{array}{ll} \min \left( \eta _\text {max}, A_\text {diff} \exp \left( \frac{E_\text {diff}}{R T} \right) \right) &{} \varvec{x} \in \Omega _\text {slab} \cup \Omega _\text {wedge}, \\ 10^{5} \eta _\text {max} &{} \varvec{x} \in \Omega _\text {plate}. \end{array}\right. } \end{aligned}$$

Here \(A_\text {diff} = {1.32043 \times 10^{9}}\,\hbox {Pa}\,\hbox {s}\) is a constant prefactor, \(E_\text {diff} = {335 \times 10^{3}}\,\hbox {kJ}\,\hbox {mol}^{-1}\) is the activation energy, \(R = {8.3145}\,\hbox {J}\,\hbox {mol}^{-1}\,\hbox {K}^{-1}\) is the gas constant, and \(\eta _\text {max} = {10^{26}}\,\hbox {Pa}\,\hbox {s}\) is the maximum viscosity within \(\Omega _\text {slab}\) and \(\Omega _\text {wedge}\). Here we limit ourselves to this temperature-dependent rheology, that is based on diffusion creep in olivine (Karato and Wu 1993). Detailed comparisons have shown that the near-steady state thermal structure is very similar to that when an olivine dislocation creep rheology is used (van Keken et al. 2008). A full list of assumed constants used in the modeling is provided in Table 1.

2.3 Boundary conditions

Table 2 Boundary conditions imposed in the subduction zone model domain

The domain boundary \(\partial \Omega\) is subdivided into components as shown in Fig. 2 (plus \(\partial \Omega _\text {near}\) and \(\partial \Omega _\text {far}\) when \(D=3\)). The conditions to be imposed on the velocity and temperature fields are tabulated in Table 2. Here we specify the functions that are imposed.

2.3.1 Slab convergence and deformation direction

The down going slab velocity is decomposed into two components, a convergence speed \(u_\text {conv}\) acting in the direction \(\hat{\varvec{\tau }}_\text {conv}\) and the velocity of the geometry’s time evolving deformation, \(\varvec{u}_\text {slab}\), such that \(\varvec{u} = u_\text {conv} \hat{\varvec{\tau }}_\text {conv} + \varvec{u}_\text {slab}\) on \(\Gamma _\text {slab} \cup \Gamma _\text {slab fault}\). We define \(\hat{\varvec{\tau }}_\text {conv}\) in terms of a prescribed direction, \(\hat{\varvec{d}}_\text {conv}\). The vector \(\hat{\varvec{\tau }}_\text {conv}\) is the unit vector lying tangential to \(\Gamma _\text {slab}\), parallel to \(\hat{\varvec{d}}_\text {conv}\) and in the direction of \(\hat{\varvec{d}}_\text {conv}\). This may also be interpreted as \(\hat{\varvec{\tau }}_\text {conv}\) being the vector pointing in direction \(\hat{\varvec{d}}_\text {conv}\) and tangential to the intersection of the surface \(\Gamma _\text {slab}\) and the surface defined by the normal vector \(\hat{\varvec{r}} \times \hat{\varvec{d}}_\text {conv}\) (see Fig. 3). We therefore define

$$\begin{aligned} \hat{\varvec{\tau }}_d&= \hat{\varvec{n}}_\text {slab} \times \left( \hat{\varvec{r}} \times \hat{\varvec{d}}_\text {conv}\right) , \end{aligned}$$
$$\begin{aligned} \hat{\varvec{\tau }}_\text {conv}&= {\left\{ \begin{array}{ll} \hat{\varvec{\tau }}_d &{} \hat{\varvec{\tau }}_d \cdot \hat{\varvec{d}}_\text {conv} \ge 0, \\ -\hat{\varvec{\tau }}_d &{} \hat{\varvec{\tau }}_d \cdot \hat{\varvec{d}}_\text {conv} < 0. \end{array}\right. } \end{aligned}$$

Furthermore we define the remaining vector lying tangential to \(\Gamma _\text {slab}\) and perpendicular to \(\hat{\varvec{\tau }}_\text {conv}\) and \(\hat{\varvec{n}}_\text {slab}\).

$$\begin{aligned} \hat{\varvec{\tau }}^\bot _\text {conv} = \hat{\varvec{n}}_\text {slab} \times \hat{\varvec{\tau }}_\text {conv}. \end{aligned}$$

A schematic diagram of these vectors is shown in Fig. 3.

Fig. 10
figure 10

Comparison of the \(D = 2\) model slab surface temperatures as a function of depth in the steady state on the initial geometry, time dependent \(t={11}\,\hbox {Myr}\), and steady state on the final geometry

Fig. 11
figure 11

Computed \(D=3\) model slab surface temperatures and velocities with an initial 30°  straight dip evolving into the Nazca slab geometry over \({11}\,\hbox {Myr}\) (cf. Fig. 1). The time interval is discretized with 100 time steps such that \(\Delta t = {0.11}\,\hbox {Myr}\). In the instantaneous velocity plot, the size of crosses represents speed in the \(-\hat{\varvec{z}}\) direction (into the page) and arrows correspond to the horizontal velocity component acting in the \(\hat{\varvec{x}}\) and \(\hat{\varvec{y}}\) directions. The colors indicate the total speed

Fig. 12
figure 12

Cross-sectional temperature and speeds of the computed \(D = 3\) model. The data presented is measured at the cross-section of the full volume parallel to the y-axis at location \(y={-200\,\mathrm{\text {k}\text {m}}}\) (compare to \(D=2\) model in Fig. 6). The time domain is discretized with 100 time steps such that \(\Delta t = {0.11}\,\hbox {Myr}\)

Fig. 13
figure 13

As Fig. 12 but now at \(y={0\,\mathrm{\text {k}\text {m}}}\) (compare to \(D=2\) model in Fig. 7)

In addition to the prescribed slab convergence velocity we include the slab deformation velocity as a result of time-dependent geometry changes. We write \(\varvec{u}_\text {slab}\) and \(\hat{\varvec{d}}_\text {slab}\) to be the slab deformation velocity and direction, respectively. These quantities will be fully defined in Sect. 2.4 where we will also describe the mathematical representation of \(\Gamma _\text {slab}\).

2.3.2 Temperature models

The surface temperature is assumed to be a constant value

$$\begin{aligned} T_0 = {273\,\mathrm{\text {K}}}. \end{aligned}$$

The slab inlet temperature is selected from a half space cooling model

$$\begin{aligned} T_\text {in} = T_0 + (T_\text {max} - T_0) \mathop {\textrm{erf}}\limits \left( \frac{d}{2 \kappa _\text {in} t_{{50}\,\hbox {Myr}}}\right) , \end{aligned}$$

where \(T_\text {max} = {1573\,\mathrm{\text {K}}}\) is the maximum temperature, \(\mathop {\textrm{erf}}\limits (\cdot )\) is the error function, \(\kappa _\text {in} = \left. k / (\rho c_p) \right| _{\varvec{x} \in \partial \Omega _\text {slab inlet}}\) is the thermal diffusivity at the slab inlet and \(t_{{50}\,\hbox {Myr}}\) is \({50}\,\hbox {Myr}\).

The outlet temperature is

$$\begin{aligned} T_\text {out} = \min \left\{ T_\text {1D}, T_\text {max} \right\} , \end{aligned}$$

where \(T_\text {1D}(d)\) is the solution of the initial value problem

$$\begin{aligned} -\frac{\textrm{d}}{\textrm{d} \it{d}} \left( k \frac{\textrm{d} \it{T}_\text {1D}}{\textrm{d} \it{d}}\right) = Q, \quad \it{T}_\text {1D}(d=0) = \it{T}_0, \quad \left. \left( k \frac{\textrm{d} \it{T}_\text {1D}}{\textrm{d} \it{d}}\right) \right| _{\it{d}=0} = q_\text {surf}, \end{aligned}$$

where \(q_\text {surf}\) is the surface heat flux.

2.4 Discretization and solution

In this section, we introduce the discretization and solution schemes we employ to compute numerical approximations of the evolving subduction zone model. We summarize our procedure in Algorithm 1.

Algorithm 1 Computational model summary.

2.5 Mapping slab surface geometries to coordinate data

Seismic readings provide observations of the slab interface geometry. These data consist of coordinate tuples of longitude, latitude, and depth. Our aim is to transform these data into a Cartesian system where a central radial vector aligns with the \(\hat{\varvec{z}}\) direction.

Fig. 14
figure 14

As Fig. 12 but now at \(y={200\,\mathrm{\text {k}\text {m}}}\) (compare to \(D=2\) model in Fig. 8)

Fig. 15
figure 15

Comparison of the slab surface temperatures as a function of depth as modeled in the \(D=2\) and \(D=3\) cases. In each case, we plot the surface temperatures as a function of depth along \(\Gamma _\text {slab}\) at the time steps shown in the \(D=2\) models in Figs. 6, 7 and 8 and the cross-sections of the \(D=3\) model in Figs. 12, 13 and 14. The difference between the \(D=2\) and \(D=3\) models at time \(t={0.0}\,\hbox {Myr}\) is indistinguishable at this scale

Fig. 16
figure 16

Rendering of the \(D=3\) model at time \(t=t_\text {slab}\). Tracers are added where tails show \({5.5}\,\hbox {Myr}\) long pathlines. Some pathlines cross through the slab interface shown; however, this is not an indication that the tracers have passed through the interface as the time evolving slab is not shown. There is very minor movement in the tracers located in \(\Omega _\text {plate}\), their displacement is dictated by the slab deformation above the plate depth \(d_\text {plate}\) highlighted as a translucent layer. Pathlines close to the slab surface are dominated by the convergence component of the velocity boundary condition direction \(\hat{\varvec{d}}_\text {conv} = \hat{\varvec{x}}\). An animation of the slab evolution to this final geometry is available in the accompanying zenodo repository (see data availability)

Let the set of \(N_i\) longitude \(\lambda _i\), latitude \(\mu _i\), and depth \(d_i\) data points for a given point on the slab surface be

$$\begin{aligned} \Lambda _\text {slab} = \{\lambda _i, \mu _i, d_i \}_{i=1}^{N_i}, \end{aligned}$$

where longitude and latitude are measured in degrees and depth in kilometers. Initially these data are transformed to align the central radial vector with the \(\hat{\varvec{z}}\) axis of the Cartesian system. We define

$$\begin{aligned} \lambda _\text {mid} = \frac{1}{2}\left( \max _{i=1,\ldots ,N_i} \lambda _i + \min _{i=1,\ldots ,N_i} \lambda _i\right) \text { and } \mu _\text {mid} = \frac{1}{2}\left( \max _{i=1,\ldots ,N_i} \mu _i + \min _{i=1,\ldots ,N_i} \mu _i\right) \end{aligned}$$

such that

$$\begin{aligned} \overline{\Lambda }_\text {slab} = \{\lambda _i - \lambda _\text {mid}, \mu _i - \mu _\text {mid}, d_i \}_{i=1}^{N_i}, \end{aligned}$$

with spherical and Cartesian coordinate representations

$$\begin{aligned} \Phi _\text {slab} = \{r_i, \theta _i, \phi _i\}_{i=1}^{N_i}, \quad X_\text {slab} = \{x_i, y_i, z_i\}_{i=1}^{N_i}, \end{aligned}$$

respectively. The transform to each system is given by

$$\begin{aligned} \Phi _\text {slab} = \begin{pmatrix} r_i \\ \theta _i \\ \phi _i \end{pmatrix} = \begin{pmatrix} r_0 - d_i \\ \textrm{radians}(\lambda _i - \lambda _\text {mid}) \\ \textrm{radians}(90 - (\mu _i - \mu _\text {mid})) \end{pmatrix}, \quad X_\text {slab} = \begin{pmatrix} x_i \\ y_i \\ z_i \end{pmatrix} = \begin{pmatrix} r_i \cos \theta _i \sin \phi _i \\ r_i \sin \theta _i \sin \phi _i \\ r_i \cos \phi _i \end{pmatrix}. \end{aligned}$$

2.6 Surface data to B-spline approximation

We seek a smooth and continuous approximation of the slab interface surface from the seismic observation data \(X_\text {slab}\). To this end, the data \(X_\text {slab}\) are approximated by an \(l_2\) projection to a non-periodic B-spline of order \({p}\) (see, e.g., Piegl and Tiller 1997).

We define a non-periodic B-spline by

$$\begin{aligned} S_{({{p}},\Xi )}(\xi ) = \sum _{i=0}^{n} \varvec{C}_i B_{i,{{p}}}(\xi ), \end{aligned}$$

where \({{p}} = m - n - 1\) is the B-spline order, \(\varvec{C}_i\), \(i=0,\ldots ,n\), are the control points, \(\Xi = \{ \xi _i \}_{i=0}^{m}\) is the knot vector where each knot lies in the unit interval \(\xi _i \in [0, 1]\), \(i=0,\ldots ,m\), each knot is ordered such that \(\xi _i \le \xi _{i+1}\), \(i=0,\ldots ,m-1\), and \(B_{i,{{p}}}(\xi )\), \(i=0,\ldots ,m\), are the B-spline basis functions. On the unit interval \(\xi \in [0, 1]\) these basis functions are

$$\begin{aligned} B_{i,0}(\xi )&= {\left\{ \begin{array}{ll} 1 &{} \text {if } \xi _i \le \xi < \xi _{i+1}, \\ 0 &{} \text {otherwise}, \end{array}\right. } \end{aligned}$$
$$\begin{aligned} B_{i,k}(\xi )&= \left( \frac{\xi - \xi _i}{\xi _{i+k} - \xi _i}\right) B_{i,k-1}(\xi ) + \left( \frac{\xi _{i+k+1} - \xi }{\xi _{i+k+1} - \xi _{i+1}}\right) B_{i+1, k-1}(\xi ), \quad k>0. \end{aligned}$$

A B-spline surface of order \(\varvec{{{p}}} = ({{p}}_1, {p}_{2})\) is defined by a tensor product of B-splines on the orthogonal coordinates \(\varvec{\xi } = (\xi _1, \xi _2) \in [0, 1]^2\) such that

$$\begin{aligned} S_{(\varvec{{{p}}}, \varvec{\Xi })}(\varvec{\xi }) = \sum _{i=0}^{n_1} \sum _{j=0}^{n_2} \varvec{C}_{i,j} B_{i,{{p}}_1}(\xi _1) B_{j,{{p}}_2}(\xi _2). \end{aligned}$$

With the definition of the B-spline surface in place we define the evolution of the slab surface with time. Let \(\vartheta (t) : {\mathcal {I}} \rightarrow [0, 1]\) be a parameterization of the evolution period of the slab. We write the slab surface B-spline

$$\begin{aligned} S^\text {slab}_{(\varvec{{{p}}}, \varvec{\Xi })}(\varvec{\xi }, t) = (1 - \vartheta (t)) S^\text {initial}_{(\varvec{{{p}}}, \varvec{\Xi })}(\varvec{\xi }) + \vartheta (t) S^\text {final}_{(\varvec{{{p}}}, \varvec{\Xi })}(\varvec{\xi }) \end{aligned}$$

where \(S^\text {initial}_{(\varvec{{{p}}}, \varvec{\Xi })}(\varvec{\xi })\) and \(S^\text {final}_{(\varvec{{{p}}}, \varvec{\Xi })}(\varvec{\xi })\) are the initial and final slab geometries, respectively. We emphasize that \(S^\text {initial}\) and \(S^\text {final}\) share a common order, \({{p}}_1 = {{p}}_2\), and knot vector, \(\varvec{\Xi }\). Their individual definition is determined by their distinct control points \(\varvec{C}^\text {initial}_{i,j}\) and \(\varvec{C}^\text {final}_{i,j}\).

With appropriate choices of \(\vartheta (t)\) the putative evolution of the slab may be prescribed in the model. In our experiments we employ a straightforward linear transition such that

$$\begin{aligned} \vartheta (t) = \frac{t}{t_\text {slab}}. \end{aligned}$$

This linear transition also favors a simple definition of the deformation path undertaken by the modeled slab surface

$$\begin{aligned} \varvec{d}_\text {slab} = S^\text {final}_{(\varvec{{\varvec{p}}}, \varvec{\Xi })}(\varvec{\xi }) - S^\text {initial}_{(\varvec{{\varvec{p}}}, \varvec{\Xi })}(\varvec{\xi }) \end{aligned}$$

along with the velocity of the slab deformation

$$\begin{aligned} \varvec{u}_\text {slab} = \frac{1}{t_\text {slab}} \varvec{d}_\text {slab}. \end{aligned}$$

A schematic of the evolution of \(S^\text {slab}_{(\varvec{{\varvec{p}}}, \varvec{\Xi })}\) is shown in Fig. 4. We highlight that this method may be extended to arbitrary numbers of prescribed initial, intermediate, and final subduction zone geometries yielding more sophisticated evolution.

2.7 Enveloping the slab surface

With the representation of the slab evolution using a B-spline we now require its envelopment in a model volume geometry as described in Fig. 2. A motivating advantage of a B-spline representation of \(\Gamma _\text {slab}\) is its typical compatibility with CAD software such as Open CASCADE ( that leverages splines to describe complicated geometries. These splines may be manipulated with a number of geometric operations, of which we employ:

  • Extrusion: Transform a spline along a path generating a higher dimensional shape from the swept path.

  • Union, intersection and difference: On a collection of shapes generate a single shape composed of their boolean union, intersection or difference, respectively.

With these operations we describe the process we employ, in a qualitative sense, which provides us with the geometry volumes demonstrated in this work. A diagram of this process is shown in Fig. 5.

To generate the slab volume, \(\Omega _\text {slab}\), the spline \(S^\text {slab}_{(\varvec{{\varvec{p}}}, \varvec{\Xi })}(\varvec{\xi }, t)\) is extruded in the \(-\hat{\varvec{z}}\) direction by a distance of \(d_\text {slab}\). To generate the plate and wedge volumes, \(\Omega _\text {plate} \cup \Omega _\text {wedge}\), the spline \(S^\text {slab}_{({\varvec{p}}, \varvec{\Xi })}(\varvec{\xi }, t)\) is extruded in the \(\hat{\varvec{z}}\) direction by a distance greater than the maximum extent of the depth of the spline. This volume is then intersected with a sphere of radius \(r_0\) yielding \(\Omega _\text {plate} \cup \Omega _\text {wedge}\). The distinct volumes \(\Omega _\text {plate}\) and \(\Omega _\text {wedge}\) are then formed by embedding the surface of a sphere of radius \(r_0 - d_\text {plate}\). The coupling depth is also embedded in \(S^{\text{slab}}_{(\varvec{{p}}, {\varvec{\Xi }})}\) by finding the intersection with a sphere of radius \(r_0 - d_c\).

2.8 Spatial and temporal discretization

The time interval \({\mathcal {I}} = [0, t_\text {slab}]\) is discretized into time steps \({\mathcal {I}}_{\Delta t} = \{t_0, t_1, \ldots , t_\text {slab}\}\) where \(t_0< t_1< \cdots < t_\text {slab}\). We write the time step size \(\Delta t_n = t_{n+1} - t_n\) and we use the superscript index n to denote the evaluation of a function at a particular time step, e.g., \(T^n = T(t_n)\). At each time step, the domain \(\Omega ^{n} = \Omega (t_n)\) is subdivided into a tessellation of simplices (triangles when \(D=2\) and tetrahedra when \(D=3\)) which we call a mesh. Each simplex in the mesh is named a cell and denoted \(\kappa\) such that the tessellation \({\mathcal {T}}^{n} = \{\kappa ^n\}\). The meshing procedure accounts for the internal boundary \(\Gamma _\text {slab}(t_n)\) ensuring facets of cells are aligned with the surface providing an appropriate approximation.

The spatial components of Eqs. (1), (2) and (3) are discretized by the FE method. We employ a P2-P1 Taylor-Hood element pair for the Stokes system’s velocity and pressure approximations (Taylor and Hood 1973) and a standard quadratic continuous Lagrange element for the temperature approximation. The boundary conditions enforced on \(\Gamma _\text {slab fault}\) and \(\Gamma _\text {wedge no slip}\) require a discontinuous velocity solution. Furthermore a discontinuous pressure solution is required on \(\Gamma _\text {slab fault}\), \(\Gamma _\text {wedge no slip}\) and \(\Gamma _\text {slab}\). The jump conditions of the temperature approximation are satisfied by enforcing \(C^0\) continuity across \(\Gamma _\text {slab fault}\), \(\Gamma _\text {wedge no slip}\) and \(\Gamma _\text {slab}\). To this end we define the following spaces:

  1. 1

    \(\varvec{V}^{h,n} = \{D\)-dimensional piecewise polynomials of degree 2 defined in each cell of the mesh \({\mathcal {T}}^n\) and continuous across cell boundaries except those that overlap the interior boundaries \(\Gamma _{\text{slab fault}}\) and \(\Gamma _{\text{wedge no slip}} \}\)

  2. 2

    \(Q^{h,n} = \{\)scalar piecewise polynomials of degree 1 defined in each cell of the mesh \({\mathcal {T}}^n\) and continuous across cell boundaries except those that overlap the interior boundaries \(\Gamma _\text {slab fault}\), \(\Gamma _\text {wedge no slip}\) and \(\Gamma _\text {slab}\) \(\}\),

  3. 3

    \(S^{h,n} = \{\)scalar piecewise polynomials of degree 2 defined in each cell of the mesh \({\mathcal {T}}^n\) and continuous across all cell boundaries\(\}\).

On \({\mathcal {I}}_{\Delta t}\) the time derivative in the the heat equation is discretized using a finite difference scheme such that

$$\begin{aligned} \frac{\partial T}{\partial t} \approx \frac{(T^{n+1} - T^{n})}{\Delta t_n}. \end{aligned}$$

Using a backward Euler discretization allows us to write the fully discrete FE formulation for the model: find \((\varvec{u}^{n+1}_h, p^{n+1}_h, T^{n+1}_h) \in (\varvec{V}^{h,n+1} \times Q^{h,n+1} \times S^{h,n+1})\) such that

$$\begin{aligned}&{\mathcal {F}}^\text {momentum}(\varvec{u}^{n+1}_h, p^{n+1}_h, T^{n+1}_h) \nonumber \\&\quad = (\varvec{\sigma }^{n+1}_h, \nabla \varvec{v}_h) + A^\text {momentum}_{\partial \Omega }((\varvec{u}^{n+1}_h, p^{n+1}_h, T^{n+1}_h), \varvec{v}_h) \equiv 0, \end{aligned}$$
$$\begin{aligned}&{\mathcal {F}}^\text {mass}(\varvec{u}^{n+1}_h, p^{n+1}_h, T^{n+1}_h) \nonumber \\&\quad = (\nabla \cdot \varvec{u}^{n+1}_h, q_h) + A^\text {mass}_{\partial \Omega }((\varvec{u}^{n+1}_h, p^{n+1}_h, T^{n+1}_h), q_h) \equiv 0, \end{aligned}$$
$$\begin{aligned}&{\mathcal {F}}^\text {energy}(\varvec{u}^{n+1}_h, p^{n+1}_h, T^{n+1}_h) \nonumber \\&\quad = \left( \rho c_p \left( (T^{n+1}_h - T^n_h) / \Delta t_n + \varvec{u}^{n+1}_h \cdot \nabla T^{n+1}_h\right) , s_h\right) + (k \nabla T^{n+1}_h, \nabla s_h) \nonumber \\&\qquad + A^\text {energy}_{\partial \Omega }((\varvec{u}^{n+1}_h, p^{n+1}_h, T^{n+1}_h), s_h) - \left( Q, s_h\right) \equiv 0, \end{aligned}$$

for all \((\varvec{v}_h, q_h, s_h) \in (\varvec{V}^{h,n+1} \times Q^{h,n+1} \times S^{h,n+1})\). Here \((a, b) = \sum _{\kappa \in {\mathcal {T}}^{n+1}} \int _\kappa a : b {\textrm{d}} \varvec{x}\) is the inner product on the mesh and the terms \(A^i_{\partial \Omega }(\cdot , \cdot )\) are the terms arising from the weak imposition of the boundary conditions via Nitsche’s method stated in Sect. 2.3. We refer to Houston and Sime (2018) regarding the formulation of these terms. With this discretization scheme we also define the discretized slab deformation velocity component used in the velocity boundary condition

$$\begin{aligned} \varvec{u}^{n+1}_\text {slab}(\varvec{x}) = \frac{1}{\Delta t_n} \left( S^\text {slab}_{(\varvec{{\varvec{p}}}, \varvec{\Xi })}(\varvec{\xi }(\varvec{x}), t^{n+1}) - S^\text {slab}_{(\varvec{{\varvec{p}}}, \varvec{\Xi })}(\varvec{\xi }(\varvec{x}), t^n)\right) . \end{aligned}$$

2.9 Nonmatching mesh interpolation

An operator \({\mathcal {P}}(\cdot )\) is necessary to transfer the temperature field from the previous time step, \(T^{n}_h({\mathcal {T}}^n)\), to the mesh at the subsequent time step, \(T^n_h({\mathcal {T}}^{n+1})\), such that

$$\begin{aligned} T^{n}_h({\mathcal {T}}^{n+1}) = {\mathcal {P}}(T^{n}_h({\mathcal {T}}^{n})). \end{aligned}$$

The choice of \({\mathcal {P}}(\cdot )\) must account for cases where subsequent meshes do not overlap. In this work we design \({\mathcal {P}}(\cdot )\) to be a nearest-neighbor interpolation such that \({\mathcal {P}}(T^{n}_h({\mathcal {T}}^{n}))\) interpolates \(T^{n}_h({\mathcal {T}}^n)\) in the overlapping volume \({\mathcal {T}}^{n+1} \cap {\mathcal {T}}^n\). In the remaining volume, \({\mathcal {T}}^{n+1} \setminus {\mathcal {T}}^n\), \({\mathcal {P}}(T^{n}_h({\mathcal {T}}^{n}))\) interpolates the value of \(T^{n}_h({\mathcal {T}}^n)\) that lies closest to the interpolation point. Specifically for each interpolation point \(\varvec{x}_i\) of \(T^{n}_h({\mathcal {T}}^{n+1})\) we have

$$\begin{aligned} T^n_h({\mathcal {T}}^{n+1})(\varvec{x}_i) = {\mathcal {P}}(T^n_h({\mathcal {T}}^{n}))(\varvec{x}_i)&= {\left\{ \begin{array}{ll} T^n_h({\mathcal {T}}^n)(\varvec{x}_i) &{} \forall \varvec{x}_i \in {\mathcal {T}}^n, \\ T^n_h({\mathcal {T}}^n)(\mathop {\mathrm {arg\,min}}\limits _{\varvec{y} \in {\mathcal {T}}^n} (\Vert \varvec{x}_i - \varvec{y} \Vert )) &{} \text {otherwise}, \end{array}\right. } \nonumber \\ i&= 1,\ldots ,\dim (S^{h,n+1}). \end{aligned}$$

Our choice of \({\mathcal {P}}(\cdot )\) here is the motivation for selecting the backward Euler finite difference scheme in the temporal discretization. A higher order finite difference scheme would have to carefully account for fields defined on both \({\mathcal {T}}^{n+1}\) and \({\mathcal {T}}^{n}\) in the FE formulation.

2.10 Picard iteration and computational linear algebra solvers

The fully discrete system in Eqs. (27), (28) and (29) is nonlinear. We use a Picard iterative scheme to compute their solutions’ approximations and minimize the residual formulations. This requires us to split the solution of the Stokes system from the energy equation. Therefore we introduce a subscript index, \(\ell\), corresponding to the Picard iteration number. Given an initial guess of the temperature field \(T^{n+1}_{h,\ell =0} = {\mathcal {P}}(T^n_h)\), we compute the sequence as shown in Algorithm 2.

The linear systems that underlie the FE discretization are typically too large to compute in reasonable time with direct factorization due to the spatial fidelity required from the mesh. This is especially pertinent in the \(D=3\) case where computation by direct factorization is unfeasible. We employ an iterative scheme for both the Stokes and heat equation sub problems in each Picard iteration. The Stokes system is solved by full Schur complement reduction using Flexible Generalized Minimal Residual (FGMRES) iterative method (Saad 1993). The velocity block is preconditioned using the algebraic multigrid method with near-nullspace informed smoothed aggregation as provided by PETSc (Balay et al. 2019). The pressure block is preconditioned with the inverse viscosity weighted pressure mass matrix. The heat equation is solved using Generalized Minimal Residual (GMRES) iterative method (Saad and Schultz 1986) and preconditioned with incomplete LU (iLU) factorization. For more details on solving such systems using iterative schemes and devising appropriate preconditioners see, for example, May and Moresi (2008).

Algorithm 2
figure c

Picard iterative scheme employed to compute the approximate solution of the nonlinear system equations (27) to (29). Here \(\Vert \cdot \Vert _{{L_{2} }} = \sqrt{( \cdot , \cdot )}\) is the \(L_{2}\) norm measure and TOL \(\ll\) 1 is the convergence threshold tolerance (selected to be TOL = \(10^{-6}\) in this work).

2.11 Implementation

In this section, we list the computational tools and libraries that facilitate our computational model. The FE system assembly is enabled by the FEniCS project, this includes:

  1. 1

    Basix for pre-computation of FE bases (Scroggs et al. 2022),

  2. 2

    Unified Form Language (UFL) for the computational symbolic algebra representation of FE formulations (Alnæs et al. 2014),

  3. 3

    FEniCS Form Compiler (FFC) for translation to efficient FE kernels (Kirby and Logg 2006),

  4. 4

    DOLFINx for the data structures and algorithms necessary for computing FE functions, tabulating their degrees of freedom, managing meshes and facilitating the solution of FE linear systems by third party linear algebra packages (Logg and Wells 2010).

The components of the FEniCS project have been demonstrated to be scalable in the context of thermomechanical analysis in Richardson et al. (2019) using the same linear operators that underlie the momentum and energy FE discretizations in this work.

DOLFINx-MPC (Dokken 2022) is used in combination with DOLFINx to construct the function spaces \(\varvec{V}^{h,n}\), \(Q^{h,n}\) and \(S^{h,n}\). Specifically DOLFINx-MPC facilitates strong imposition of equality of the FE functions’ degrees of freedom at the \(\Gamma _\text {slab}\), \(\Gamma _\text {slab fault}\) and \(\Gamma _\text {wedge no slip}\) boundaries as required by the velocity and temperature boundary conditions.

The Python library NURBS-Python (geomdl) (Bingol and Krishnamurthy 2019) is employed for the B-spline approximation of \(\Gamma _\text {slab}\). Its data structures and functions are necessary for B-spline initialization and manipulation along with its facilitation of the \(l_2\) minimization of point cloud positional data to the B-spline surface geometry.

The computational domain is defined using the CAD framework offered by the aforementioned Open CASCADE Technology. These geometries are then interpreted by the meshing library gmsh (Geuzaine and Remacle 2009) for generation of the sequence of simplicial meshes for each time step between the initial and final slab geometry configurations.

The PETSc library (Balay et al. 2019, 2023) is used for its data structures and algorithms facilitating distributed parallel computation of the linear algebra systems’ solutions. This includes the implementations of the FGMRES and GMRES methods, along with construction of iLU factorization and construction of algebraic multigrid preconditioners.

Automatic formulation of the variational forms arising from the weak imposition of Dirichlet boundary data in Eqs. (27) to (29) is provided by dolfin_dg (Houston and Sime 2018). Finally, to build the necessary environment required to run our model on a high performance computer we use the Spack package manager (Gamblin et al. 2015).

3 Results

Our examples derive their geometric definition of \(S^\text {final}_{(\varvec{{{p}}}, \varvec{\Xi })}\) from a flat slab geometry within the subducting Nazca plate shown in Fig. 1. The initial slab geometry, \(S^\text {initial}_{(\varvec{{{p}}}, \varvec{\Xi })}\), is defined by a straight slab dipping at an angle of 30°  with the trench aligned with the final state. These initial and final states will describe the evolution of the slab from the reference frame of a stationary trench. The \(D = 3\) volumes for each time step are constructed as described in Sect. 2.7 with \(d_\text {plate} = {50\,\mathrm{\text {k}\text {m}}}\), \(d_c = {75\,\mathrm{\text {k}\text {m}}}\), and \(d_\text {slab} = {200\,\mathrm{\text {k}\text {m}}}\). We choose the slab convergence direction \(\hat{\varvec{d}}_\text {conv} = \hat{\varvec{x}}\) and speed \(u_\text {conv} = {5}\,\hbox {cm}\,\hbox {yr}^{-1}\). The total slab deformation time is \(t_\text {slab} = {11}\,\hbox {Myr}\) that is appropriate for the modeled subduction zone (Antonijevic et al. 2015).

From this \(D = 3\) geometry we further form \(D = 2\) slices by taking cross-sections along the planes defined by constant \(y={-200\,\mathrm{\text {k}\text {m}}}\), \({0\,\mathrm{\text {k}\text {m}}}\), and \({200\,\mathrm{\text {k}\text {m}}}\). We seek to compare the \(D=2\) model solutions with corresponding cross-sections of the \(D=3\) results found by post processing.

The splines \(S^\text {initial}_{(\varvec{{{p}}}, \varvec{\Xi })}\), \(S^\text {final}_{(\varvec{{{p}}}, \varvec{\Xi })}\) and implicitly \(S^\text {slab}_{(\varvec{{{p}}}, \varvec{\Xi })}\) are defined with order \({{p}}_i = 2\) and number of control points \(n_i + 1 = 8\), \(i=1,\ldots ,D-1\). In each model, the meshes are generated with cell size constraints of 2 km within 25 km of the velocity coupling depth \(d_c\), 5 km along the slab interface \(\Gamma _\text {slab}\), and \({10\,\mathrm{\text {k}\text {m}}}\) in the remaining volume. This means the nodal point spacing varies from 1 to 5 km in the model. The degree 2 piecewise polynomials used for the velocity and temperature function spaces \(\varvec{V}^{h,n}\) and \(S^{h,n}\) yield a distance between FE Degree of Freedom (DoF) coordinates of approximately half the cell size. Furthermore in each model, the initial temperature field \(T^{n=0}_h\) is prescribed from the computation of the steady state solution of the nonlinear model, \((\varvec{u}^{n=0}_h, p^{n=0}_h, T^{n=0}_h)\), on the initial mesh \({\mathcal {T}}^{n=0}\).

3.1 2D slab

The temperature and velocity fields computed on the \(D=2\) cross-sections of the \(D=3\) geometry are shown in Figs. (6), (7), and (8), respectively. Each row corresponds to time snapshots taken over the \(t_\text {slab}={11}\,\hbox {Myr}\) model maximum time that has been discretized with 100 time steps such that \(\Delta t = {0.11}\,\hbox {Myr}\). The slab B-spline is overlaid in each plot as a dotted line. Tracers are added in the velocity plots showing pathlines between the shown time snapshots. Should a tracer leave the geometry between each snapshot, it is removed from the visualization leaving only its remaining tail. The geometry deformation is not shown between snapshots and the tracers do not cross over \(\Gamma _\text {slab}\) at any time in the simulation (though their pathlines may appear to do so).

Convergence of the surface temperature as a function of time step size in the temporal discretization is shown in Fig. 9. In Fig. 10 we show the slab surface temperature as a function of depth as computed in the steady state on the initial geometry \(S^\text{initial}_{({{\varvec{p}}}, \varvec{\Xi })}\), as computed in the full time dependent \(D=2\) model at time \(t = t_\text {slab}\) and as the steady state on the final geometry \(S^\text{final}_{({{\varvec{p}}}, \varvec{\Xi })}\). Finally, the temperature as a function of depth along \(\Gamma _\text {slab}\) at the final time \(t=t_\text {slab}\) are shown in Fig. 15.

3.2 3D slab

Snapshots of the \(D = 3\) case temperature and velocity approximations evaluated on the slab interface are shown in Fig. 11. As in the \(D=2\) case, we discretize the temporal domain with 100 time steps such that \(\Delta t = {0.11}\,\hbox {Myr}\). Overlaid on the velocity plot are arrows indicating the horizontal velocity of flow on the surface in the \(\hat{\varvec{x}}\) and \(\hat{\varvec{y}}\) directions along with cross markers with sizes corresponding to speed in the \(-\hat{\varvec{z}}\) direction (into the page). Cross-sections of the temperature and velocity solution at \(y = {-200\,\mathrm{\text {k}\text {m}}}\), \({0\,\mathrm{\text {k}\text {m}}}\), and \({200\,\mathrm{\text {k}\text {m}}}\) are shown in Figs. 12, 13 and 14, respectively. Tracers and their pathlines are not added to these velocity cross-sections due to the inability to visualize their \(\hat{\varvec{y}}\) component.

Cross-sections of the temperature field taken at constant \(y = {-200\,\mathrm{\text {k}\text {m}}}\), \({0\,\mathrm{\text {k}\text {m}}}\), and \({200\,\mathrm{\text {k}\text {m}}}\) as a function of depth along \(\Gamma _\text {slab}\) at final time \(t=t_\text {slab}\) is shown in Fig. 15. These data overlay the slab surface temperatures as a function of depth computed from the corresponding \(D = 2\) models. Furthermore, convergence of the surface temperatures as a function of time step size in the temporal discretization at these cross-sections is shown in Fig. 9. The volume of the \(D=3\) model at \(t=t_\text {slab}\) with these cross-sections and additional path tracers is shown in Fig. 16.

The model presented in Fig. 16 gives rise to the largest linear systems solved in this work, comprising \(\backsim {14 \times 10^{6}}\) DoFs at initial time \(t=0\) and \(\backsim {20\times 10^{6}}\) DoFs at final time \(t=t_\text {slab}\). The wall time required to complete the simulation was approximately 16 h when distributed over 64 processes on two AMD \(\hbox {EPYC}^\text {TM}\) 7452 processors. This includes 100 time steps, each requiring an average of 6.5 Picard iterations to resolve the nonlinearity of the coupled system (Eqs. (27), (28) and (29)).

4 Discussion

The surface temperatures computed from the \(D = 2\) and \(D=3\) models shown in Fig. 15 indicate a warming of the slab above the coupling point. This appears to be caused by the slab surface transitioning to a shallower angle than the initial condition, pushing the surface into a warmer region of the wedge (see Figs. 6, 7 and 8, 12, 13, and 14). Examining the \(y = {200\,\mathrm{\text {k}\text {m}}}\) cross-section in Fig. 14 the slab surface does not reach as shallow a depth as in the \(y = {-200\,\mathrm{\text {k}\text {m}}}\) and \(y = {0\,\mathrm{\text {k}\text {m}}}\) cross-section cases. This leads to less significant warming of the slab surface above \(d_c\). Consider also the slab surface temperatures shown in Fig. 10 that increase as the slab evolves from the initial steady state to \(t = t_\text {slab}\) and that are reduced when evolved to the steady state with no further slab deformation.

In all cases, the steady-state solution used for the initial temperature field \(T_h^{n=0}\) exhibits a diffusive thickening of the plate within the approximate depths of \({50\,\mathrm{\text {k}\text {m}}}\) and \({100\,\mathrm{\text {k}\text {m}}}\). This feature persists through the simulation and is displaced by the slab deformation. Future models may be improved by prescribing the initial temperature field computed from an unsteady simulation run to a time just after transient effects in the slab become negligible.

The configuration of the slab surface temperature in the \(D = 3\) case shown in Fig. 11 is largely dictated by the velocity boundary condition applied to \(\Gamma _\text {slab}\). Choosing \(\hat{\varvec{d}}_\text {conv} = \hat{\varvec{x}}\) restricts the velocity profile to be very similar to the \(D = 2\) cases along \(\Gamma _\text {slab}\). Deviating from this decision, one avenue is to choose \(\hat{\varvec{d}}_\text {conv} = -\hat{\varvec{z}}\) that would yield a convergence velocity in the direction of steepest descent. However in this case, the flow above and below \(\Gamma _\text {slab}\) will become unreasonable for the subduction zone model as a result of satisfying mass conversation, \(\nabla \cdot \varvec{u} = 0\). These flows, that are not realistic in a subduction zone model, typically form as velocity fields impinging or jetting out from \(\Gamma _\text {slab}\) in order to account for diverging and converging flows on the \(\Gamma _\text {slab}\) topology, respectively. An approach to alleviate this issue is to solve for some component of the flow, \(\varvec{u}\), on \(\Gamma _\text {slab}\) implicitly. For example, the velocity prescription on \(\Gamma _\text {slab}\) could be changed such that only the \(\hat{\varvec{\tau }}_\text {conv}\) component is imposed allowing the remaining tangential component in the \(\hat{\varvec{\tau }}^\bot _\text {conv}\) direction to be implicit in the model. This, however, introduces an issue where the deformation velocity component, \((\varvec{u}_\text {slab} \cdot \hat{\varvec{\tau }}^\bot _\text {conv}) \hat{\varvec{\tau }}^\bot _\text {conv}\), must be neglected. Another approach would be to impose a convergence velocity \(\varvec{u}_\text {conv}\), such that \(\varvec{u}|_{\Gamma _\text {slab}} = \varvec{u}_\text {conv} + \varvec{u}_\text {slab}\), which is computed from a Stokes problem of topological dimension \(D - 1\) defined on \(\Gamma _\text {slab}\). The divergence free constraint defined on the topology of the surface would then ensure no regions of converging or diverging flow. However, the complexity of the mathematical formulation of this problem as well as its implementation for parallel computation is challenging.

The slab temperature approximation close to \(\partial \Omega _\text {slab outlet}\) and \(\partial \Omega _\text {wedge outlet}\) is significantly affected by the non-overlapping component of the interpolation operation \({\mathcal {P}}(\cdot )\) described in Fig. 2.9. This is indicated, for example, in the \(t>0\) cases of Fig. 15 at depths below 215 km (i.e., the component of the \(\Gamma _\text {slab}\) closest to \(\partial \Omega _\text {slab outlet}\) and \(\partial \Omega _\text {wedge outlet}\)). One can see a small downturn in the temperature that arises from interpolation of \(T_\text {out}\) (Eq. 11). This is colder than the material in the volume that is displaced by the moving slab. This issue could be addressed by ensuring all meshes overlap such that the overall volume remains consistent negating the need for non-overlapping interpolation. However, this would introduce a large computational cost resolving a volume that is largely spatially removed from the domain of interest close to \(\Gamma _\text {slab}\).

The decision to choose the B-spline properties \({{p}}_i = 2\) and \(n_i + 1 = 8\), \(i=1,\ldots ,D-1\), was made to balance production of a robust numerical model against the performance of iterative solvers applied to the linear system underlying the Stokes problem. Choosing a greater fidelity in the knot vector led to degradation of the rate of convergence of the FGMRES method for slab geometries that exhibit rapid non-smooth changes. Future development of the model would investigate methods to retain the robust solution of the velocity and pressure approximations with greater spatial fidelity of \(\Gamma _\text {slab}\). Additionally the geometric operations required to define the volume using CAD as described in Sect. 2.7 become prohibitively expensive as the B-spline approximation order and control point vectors’ cardinality increases.

The modeling described above shares many of the characteristics of those developed in, e.g., Wilson and van Keken (2023). Importantly, we assumed a kinematic slab surface and solve for the Stokes equation in slab and mantle wedge. We ignored buoyancy in the mantle wedge, but the methodology can be extended in a straightforward manner to include density variations caused by temperature differences, variable water content, or composition. Our models do not currently allow for the evolution of water or composition fields and we do not allow for material exchange between the slab and mantle wedge. This makes it difficult to use this approach for more dynamical investigations that are possible with the particle-in-cell methods used in, e.g., Gerya and Yuen (2003).

As in Wilson and van Keken (2023) we made the simplifying assumption that the top of the slab is decoupled from the overriding crust and mantle wedge to a depth of 80 km by using a kinematic boundary condition on the mantle wedge that switches from zero velocity to full slab velocity around this depth. While this is a reasonable approximation at shallow depth, where the slab is likely decoupled over long geological timescales by repeated underthrusting events along the seismogenic zone, it does not fully represent the likely complex rheological decoupling that occurs past the down-dip limit of the seismogenic zone. As such these models cannot be easily used to understand dynamical processes along the plate interface. We note that Wada and Wang (2009) used a thin layer of low viscosity material between slab and wedge to a depth of 75 km which provides a similar effective decoupling (see comparison in van Keken and Wilson 2023b). Introducing this rheological separation creates a pathway to study dynamics along the plate interface (e.g., Behr and Becker 2018; Sobolev and Brown 2019) while maintaining a kinematic-dynamic approach. Alternatively a more fully dynamic approach could be used (e.g., Gerya and Meilick 2010). We note that the models described below can be easily extended to study the influence of shear heating due to brittle–ductile processes along the shallow plate interface. This merely requires the introduction of a shear heating term in the heat equation as discussed in, for example, van Keken et al. (2019) and Abers et al. (2020).

We finish this discussion on a cautionary note. These models are sensu stricto based on a toy model (if admittedly a complicated one). The results presented here should be interpreted to indicate that precise description of the slab evolving geometry leads to significant differences between 3D models and 2D cross-sections, but the temperature-pressure paths should not be used to compare directly to existing slab models or observations of flat slab subduction. In future work we will apply this modeling framework to regions of flat slab subduction with locally adjusted parameters for geometry, coupling point, structure of the overriding plate, etc.

5 Conclusions

We have devised, implemented, and demonstrated a numerical model of a subduction zone that accounts for a kinematic prescription of a geometrically evolving slab surface. We do this by approximating seismic observations of slab geometries with a B-spline. By constructing a deformation path for the B-spline surface from an initial to a final slab geometry, we are able to evolve this prescribed slab surface geometry over time. Enveloping the slab surface spline in a volume using CAD allows us to create a sequence of meshes in which we compute approximations of the velocity, pressure and temperature of a subduction zone model discretized by the FE method.

Data availability

An implementation of the subduction zone model is provided at The data generated by the subduction zone model code and presented in this paper is available in a zenodo repository available via Sime et al. (2023). An animation of a selected 3D flow evolution is available in either repository.



Bézier spline


Computer-aided design


Degree of freedom


Finite element


FEniCS form compiler


Flexible generalized minimal residual


Generalized minimal residual


Incomplete LU


Partial differential equation


Portable extensible toolkit for scientific computation


Unified form language


Download references


The authors thank Lara Wagner for providing the slab surface geometry used in Fig. 1 and for discussions. The authors also thank Jørgen Dokken for his advice regarding the use of DOLFINx-MPC.


This work was supported by National Science Foundation Grant 2021027.

Author information

Authors and Affiliations



NS developed and tested the FEniCS finite element approach in collaboration with CW. PvK aided in benchmarking the 2D subduction zone models. All contributed to writing the manuscript.

Corresponding author

Correspondence to Peter E. van Keken.

Ethics declarations

Competing interests

The authors declare that they have no competing interest.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Appendix A: Model equations rescaling

Appendix A: Model equations rescaling

Using velocity, length and viscosity scales \(u_r\), \(h_r\) and \(\eta _r\), respectively we define the rescaled quantities

$$\begin{aligned} \varvec{u}&= u_r \varvec{u}^\prime , \quad \varvec{x} = h_r \varvec{x}^\prime , \quad \eta = \eta _r \eta ^\prime , \quad p = \frac{u_r\eta _r}{h_r}p^\prime \nonumber \\ \nabla&= \frac{1}{h_r} \nabla ^\prime , \quad t = \frac{h_r}{u_r} t^\prime , \quad k = h_r u_r k^\prime , \quad Q = \frac{u_r}{h_r} Q^\prime . \end{aligned}$$

Employing these quantities we arrive at the rescaled Stokes-energy formulation of Eqs. (1), (2) and (3) where we seek \(\varvec{u}^\prime\), \(p^\prime\) and T such that

$$\begin{aligned} -\eta _r \frac{u_r}{h_r^2}\nabla ^\prime \cdot \varvec{\sigma }^\prime&= \varvec{0}, \end{aligned}$$
$$\begin{aligned} \frac{u_r}{h_r} \nabla ^\prime \cdot \varvec{u}^\prime&= 0, \end{aligned}$$
$$\begin{aligned} \rho c_p \left( \frac{u_r}{h_r} \frac{\partial T}{\partial {t^\prime }} + \frac{u_r}{h_r} \varvec{u}^\prime \cdot \nabla ^\prime T \right) - \frac{h_r u_r}{h_r^2} \nabla ^\prime \cdot \left( k^\prime \nabla ^\prime T \right)&= \frac{u_r}{h_r} Q^\prime , \end{aligned}$$

which after simplification reads

$$\begin{aligned} - \nabla ^\prime \cdot \varvec{\sigma }^\prime&= \varvec{0}, \end{aligned}$$
$$\begin{aligned} \nabla ^\prime \cdot \varvec{u}^\prime&= 0, \end{aligned}$$
$$\begin{aligned} \rho c_p \left( \frac{\partial T}{\partial {t^\prime }} + \varvec{u}^\prime \cdot \nabla ^\prime T \right) - \nabla ^\prime \cdot \left( k^\prime \nabla ^\prime T \right)&= Q^\prime . \end{aligned}$$

The numerical values used in our computations are \(h_r = {1\,\mathrm{\text {k}\text {m}}}\), \(u_r = {5}\,\hbox {cm}\,\hbox {yr}^{-1}\) and \(\eta _r = {10^{21}}\,\hbox {Pa}\,\hbox {s}\).

Rights and permissions

Open Access This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article's Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article's Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Sime, N., Wilson, C.R. & van Keken, P.E. Thermal modeling of subduction zones with prescribed and evolving 2D and 3D slab geometries. Prog Earth Planet Sci 11, 14 (2024).

Download citation

  • Received:

  • Accepted:

  • Published:

  • DOI: