Consider a rectangular box
\(\tau \) consisting of two leaf boxes
\(\alpha \) and
\(\beta \), and suppose that all local operators for
\(\alpha \) and
\(\beta \) defined in Sect.
3 have been computed. Our objective is now to construct the Dirichlet-to-Neumann operator for
\(\tau \) from the local operators for its children. In this operation, only sets of Gaussian nodes on the boundaries will take part, cf. Fig.
2. We group these nodes into three sets, indexed by vectors
\(J_{1}\),
\(J_{2}\), and
\(J_{3}\), defined as follows:
\(J_{1}\)
Edge nodes of box \(\alpha \) that are not shared with box \(\beta \).
\(J_{2}\)
Edge nodes of box \(\beta \) that are not shared with box \(\alpha \).
\(J_{3}\)
Edge nodes that line the interior edge shared by \(\alpha \) and \(\beta \).
We also define
$$\begin{aligned} J_\mathrm{ge}^{\tau } = J_{1} \cup J_{2} \quad \text{ and }\quad J_\mathrm{gi}^{\tau } = J_{3} \end{aligned}$$
as the exterior and interior nodes for the parent box
\(\tau \). Finally, we let
\(\varvec{\mathsf {h}}^{\alpha }, \varvec{\mathsf {h}}^{\beta } \in \mathbb {R}^{4q}\) denote two vectors that hold the boundary fluxes for the two local particular solutions
\(w^{\alpha }\) and
\(w^{\beta }\), cf. (
12),
$$\begin{aligned} \varvec{\mathsf {h}}^{\alpha }_\mathrm{ge} = \varvec{\mathsf {H}}_\mathrm{ge,ci}^{\alpha }\,\varvec{\mathsf {g}}_\mathrm{ci}^{\alpha }, \quad \text{ and }\quad \varvec{\mathsf {h}}^{\beta }_\mathrm{ge} = \varvec{\mathsf {H}}_\mathrm{ge,ci}^{\beta }\,\varvec{\mathsf {g}}_\mathrm{ci}^{\beta }. \end{aligned}$$
(14)
Then the equilibrium equations for each of the two leaves can be written
$$\begin{aligned} \varvec{\mathsf {v}}^{\alpha }_\mathrm{ge} = \varvec{\mathsf {T}}^{\alpha }_\mathrm{ge,ge}\,\varvec{\mathsf {u}}^{\alpha }_\mathrm{ge} + \varvec{\mathsf {h}}^{\alpha }_\mathrm{ge}, \quad \text{ and }\quad \varvec{\mathsf {v}}^{\beta }_\mathrm{ge} = \varvec{\mathsf {T}}^{\beta }_\mathrm{ge,ge}\,\varvec{\mathsf {u}}^{\beta }_\mathrm{ge} + \varvec{\mathsf {h}}^{\beta }_\mathrm{ge}. \end{aligned}$$
(15)
Now partition the two equations in (
15) using the notation shown in Fig.
2:
$$\begin{aligned} \left[ \begin{array}{c} \varvec{\mathsf {v}}_{1}\\ \varvec{\mathsf {v}}_{3} \end{array}\right] =&\left[ \begin{array}{cc} \varvec{\mathsf {T}}_{1,1}^{\alpha } &{}\quad \varvec{\mathsf {T}}_{1,3}^{\alpha } \\ \varvec{\mathsf {T}}_{3,1}^{\alpha } &{}\quad \varvec{\mathsf {T}}_{3,3}^{\alpha } \end{array}\right] \, \left[ \begin{array}{c} \varvec{\mathsf {u}}_{1}\\ \varvec{\mathsf {u}}_{3} \end{array}\right] + \left[ \begin{array}{c} \varvec{\mathsf {h}}_{1}^{\alpha } \\ \varvec{\mathsf {h}}_{3}^{\alpha } \end{array}\right] , \end{aligned}$$
(16)
$$\begin{aligned} \left[ \begin{array}{c} \varvec{\mathsf {v}}_{2}\\ \varvec{\mathsf {v}}_{3} \end{array}\right] =&\left[ \begin{array}{cc} \varvec{\mathsf {T}}_{2,2}^{\beta } &{}\quad \varvec{\mathsf {T}}_{2,3}^{\beta } \\ \varvec{\mathsf {T}}_{3,2}^{\beta } &{}\quad \varvec{\mathsf {T}}_{3,3}^{\beta } \end{array}\right] \, \left[ \begin{array}{c} \varvec{\mathsf {u}}_{2}\\ \varvec{\mathsf {u}}_{3} \end{array}\right] + \left[ \begin{array}{c} \varvec{\mathsf {h}}_{2}^{\beta } \\ \varvec{\mathsf {h}}_{3}^{\beta } \end{array}\right] . \end{aligned}$$
(17)
[the subscript “ge” is suppressed in (
16) and (
17) since all nodes involved are Gaussian exterior nodes]. Combine the two equations for
\(\varvec{\mathsf {v}}_{3}\) in (
16) and (
17) to obtain the equation
$$\begin{aligned} \varvec{\mathsf {T}}_{3,1}^{\alpha }\,\varvec{\mathsf {u}}_{1} + \varvec{\mathsf {T}}_{3,3}^{\alpha }\,\varvec{\mathsf {u}}_{3} + \varvec{\mathsf {h}}_{3}^{\alpha } = \varvec{\mathsf {T}}_{3,2}^{\beta }\,\varvec{\mathsf {u}}_{2} + \varvec{\mathsf {T}}_{3,3}^{\beta }\,\varvec{\mathsf {u}}_{3} + \varvec{\mathsf {h}}_{3}^{\beta }. \end{aligned}$$
This gives
$$\begin{aligned} \varvec{\mathsf {u}}_{3} = \left( \varvec{\mathsf {T}}^{\alpha }_{3,3} - \varvec{\mathsf {T}}^{\beta }_{3,3}\right) ^{-1} \left( \varvec{\mathsf {T}}^{\beta }_{3,2}\varvec{\mathsf {u}}_{2} -\varvec{\mathsf {T}}^{\alpha }_{3,1}\varvec{\mathsf {u}}_{1} +\varvec{\mathsf {h}}_{3}^{\beta } -\varvec{\mathsf {h}}_{3}^{\alpha } \right) \end{aligned}$$
(18)
Using the relation (
18) in combination with (
16), we find that
$$\begin{aligned} \left[ \begin{array}{c} \varvec{\mathsf {v}}_{1} \\ \varvec{\mathsf {v}}_{2} \end{array}\right] =&\ \left( \left[ \begin{array}{cc} \varvec{\mathsf {T}}_{1,1}^{\alpha } &{}\quad \varvec{\mathsf {0}} \\ \varvec{\mathsf {0}} &{}\quad \varvec{\mathsf {T}}_{2,2}^{\beta } \end{array}\right] + \left[ \begin{array}{c} \varvec{\mathsf {T}}_{1,3}^{\alpha } \\ \varvec{\mathsf {T}}_{2,3}^{\beta } \end{array}\right] \, \left( \varvec{\mathsf {T}}^{\alpha }_{3,3} - \varvec{\mathsf {T}}^{\beta }_{3,3}\right) ^{-1} \left[ -\varvec{\mathsf {T}}^{\alpha }_{3,1}\ \big |\ \varvec{\mathsf {T}}^{\beta }_{3,2}\right] . \right) \left[ \begin{array}{c} \varvec{\mathsf {u}}_{1} \\ \varvec{\mathsf {u}}_{2} \end{array}\right] \\&+\left[ \begin{array}{c} \varvec{\mathsf {h}}^{\alpha }_{1} \\ \varvec{\mathsf {h}}^{\beta }_{2} \end{array}\right] + \left[ \begin{array}{c} \varvec{\mathsf {T}}_{1,3}^{\alpha } \\ \varvec{\mathsf {T}}_{2,3}^{\beta } \end{array}\right] \, \left( \varvec{\mathsf {T}}^{\alpha }_{3,3} - \varvec{\mathsf {T}}^{\beta }_{3,3}\right) ^{-1} \left( \varvec{\mathsf {h}}_{3}^{\beta }-\varvec{\mathsf {h}}_{3}^{\alpha }\right) . \end{aligned}$$
We now define the operators
$$\begin{aligned} \varvec{\mathsf {X}}^{\tau }_\mathrm{gi,gi} =&\ \left( \varvec{\mathsf {T}}^{\alpha }_{3,3} - \varvec{\mathsf {T}}^{\beta }_{3,3}\right) ^{-1},\\ \varvec{\mathsf {S}}^{\tau }_\mathrm{gi,ge} =&\ \left( \varvec{\mathsf {T}}^{\alpha }_{3,3} - \varvec{\mathsf {T}}^{\beta }_{3,3}\right) ^{-1}\left[ -\varvec{\mathsf {T}}^{\alpha }_{3,1}\ \big |\ \varvec{\mathsf {T}}^{\beta }_{3,2}\right] = \varvec{\mathsf {X}}^{\tau }_\mathrm{gi,gi}\left[ -\varvec{\mathsf {T}}^{\alpha }_{3,1}\ \big |\ \varvec{\mathsf {T}}^{\beta }_{3,2}\right] ,\\ \varvec{\mathsf {T}}^{\tau }_\mathrm{ge,ge} =&\left[ \begin{array}{cc} \varvec{\mathsf {T}}_{1,1}^{\alpha } &{}\quad \varvec{\mathsf {0}} \\ \varvec{\mathsf {0}} &{}\quad \varvec{\mathsf {T}}_{2,2}^{\beta } \end{array}\right] + \left[ \begin{array}{c} \varvec{\mathsf {T}}_{1,3}^{\alpha } \\ \varvec{\mathsf {T}}_{2,3}^{\beta } \end{array}\right] \,\left( \varvec{\mathsf {T}}^{\alpha }_{3,3} - \varvec{\mathsf {T}}^{\beta }_{3,3}\right) ^{-1}\left[ -\varvec{\mathsf {T}}^{\alpha }_{3,1}\ \big |\ \varvec{\mathsf {T}}^{\beta }_{3,2}\right] \\ =&\left[ \begin{array}{cc} \varvec{\mathsf {T}}_{1,1}^{\alpha } &{}\quad \varvec{\mathsf {0}}\\ \varvec{\mathsf {0}} &{}\quad \varvec{\mathsf {T}}_{2,2}^{\beta } \end{array}\right] + \left[ \begin{array}{c} \varvec{\mathsf {T}}_{1,3}^{\alpha } \\ \varvec{\mathsf {T}}_{2,3}^{\beta } \end{array}\right] \,\varvec{\mathsf {S}}_\mathrm{gi,ge}^{\tau }. \end{aligned}$$
The approximate solution on the shared edge
\(\varvec{\mathsf {u}}_\mathrm{gi}^{\tau }\) can be constructed via an upward pass to compute the approximate boundary flux by
$$\begin{aligned} \varvec{\mathsf {h}}_\mathrm{ge}^{\tau } =\ \left[ \begin{array}{c} \varvec{\mathsf {h}}^{\alpha }_{1} \\ \varvec{\mathsf {h}}^{\beta }_{2} \end{array}\right] +\left[ \begin{array}{c} \varvec{\mathsf {T}}_{1,3}^{\alpha } \\ \varvec{\mathsf {T}}_{2,3}^{\beta } \end{array}\right] \varvec{\mathsf {w}}_\mathrm{gi}^{\tau }, \end{aligned}$$
(19)
where
\(\varvec{\mathsf {w}}_\mathrm{gi}^{\tau } =\ \varvec{\mathsf {X}}_\mathrm{gi,gi}^{\tau }\bigl (\varvec{\mathsf {h}}_{3}^{\beta }-\varvec{\mathsf {h}}_{3}^{\alpha }\bigr )\), followed by a downward pass
$$\begin{aligned} \varvec{\mathsf {u}}^{\tau }_\mathrm{gi} = \varvec{\mathsf {S}}_\mathrm{gi,ge}\varvec{\mathsf {u}}^{\tau }_\mathrm{ge} + \varvec{\mathsf {w}}_\mathrm{gi}^{\tau }. \end{aligned}$$