1 Introduction

The scaled boundary finite element method (SBFEM) is a semi-analytical technique—loosely based on finite elements—that involves only a boundary discretization of the computational (sub-)domains. Roughly speaking, this method aims at transforming a partial differential equation (PDE) in two or three spatial coordinates into a set of ordinary differential equations (ODE) in one coordinate by discretizing all but this one coordinate. In order to apply this idea effectively, a particular coordinate system is generally chosen in which one coordinate \(\xi \) points from the originFootnote 1 to the boundary while the remaining one or two coordinate(s) (\(\eta \), \(\zeta \)) describe a parametrization of the boundary. The ‘radial’ coordinate \(\xi \) is typically set to unity everywhere on the boundary.

The SBFEM was originally developed to model large and unbounded domains in the context of soil-structure interaction and was inspired by concepts such as similarity [64], cloning [65], as well as the thin layer method [30, 32]. There, it was assumed that the entire computational domain was enclosed by a simply connected boundary which was discretized by finite elements. The analytical solution of the resulting ODE can then be applied to describe either a bounded (\(\xi \le 1\)) or an unbounded domain (\(\xi \ge 1\)). A detailed description of the underlying formulation can be found in the early papers [57, 58, 66], as well as in the recent monograph by Song [56]. Later, it has been noticed that the SBFEM can be employed as a means to construct arbitrary star-convexFootnote 2 elements [8, 45,46,47]. Each element is treated like an SBFEM domain, hence only its outer surface needs to be discretized by finite elements. Stiffness and mass matrices are computed based on the semi-analytical solution and coupled like in the finite element method. Since these subdomains require discretization of the surface only, they facilitate the coupling of different meshes and types of interpolants. Furthermore, such polygonal/polyhedral elements enable the application of rather flexible meshing procedures, compared to conventional finite elements, which are usually restricted to triangular/quadrilateral and tetrahedral/hexahedral shapes. A particular variant of such a meshing paradigm consists in the use of domain decompositions of the quadtree/octree type. The most common of this class of decompositions consists of square/cube-shaped cells (see Fig. 1a for a minimal example). While, from a geometrical viewpoint, these meshes only require quadrilateral/hexahedral subdomains, the SBFEM concept allows each side to be divided into an arbitrary number of surface elements on the boundary. Hence, coupling subdomains of different sizes is relatively simple. This idea has been used for the meshing of complex geometries, where flexible local refinement is desirable [24, 27, 43, 44]. Such a meshing paradigm is particularly useful for image-based analyses, i.e., in applications where the geometry (the distribution of material parameters, etc.) is provided in a pixel graphics format. A number of approaches have been developed to mesh images, most of which can be divided into two categories (see [67] for a comprehensive literature review): The first type includes meshing based on boundary detection for each region in the image, where a region is assumed to be homogeneous. This can be straightforwardly achieved using techniques such as a marching cubes algorithm [40]. Subsequently, these boundaries are utilized to mesh the region inside using conventional meshing algorithms, such as the advancing front [39] or Delaunay tessellation [9]. The second type involves techniques that mesh the image directly. These techniques are generally quicker due to the straightforward nature of the meshing process. One very basic example is the pixel-based approach [33], where each pixel is modeled as a quadrilateral/hexahedral finite element. While such a meshing approach is absolutely trivial and fast, it leads to an unnecessarily large number of degrees of freedom. In order to improve the efficiency of the meshing, other direct meshing techniques can be deployed, such as the aforementioned quadtree/octree meshing structure [67].

Quadtree meshing is performed by recursively dividing an image matrix into four equal-sized cells at a time. A criterion of homogeneity is established based on the difference in the maximum and minimum color intensity within a cell. If this difference exceeds a user-defined threshold, the cell is divided. The maximum and minimum cell size allowed are also specified by the user. As a result, the meshing scheme adaptively refines the regions around different interfaces. Simultaneously, the scheme retains relatively larger cells within each region where the material can be assumed to be homogeneous. However, since cells of different sizes exist in quadtree meshes, compatibility issues are encountered when using conventional finite elements. This issue was circumvented by utilizing the scaled boundary finite element method (SBFEM) for quadtree meshes, as this method allows the use of arbitrary (star-convex) polygonal subdomains. A detailed explanation of the image-based analysis using the SBFEM can be found in [27, 53].

Fig. 1
figure 1

Discretization in the SBFEM: a In 2D, a quadtree-mesh is used to discretize the computational domain straightforwardly. b In 3D, surfaces need to be discretized, which feature a structure similar to the quadtree meshes in 2D. c In previous work, these surfaces have been triangulated using standard finite elements. Using the transition elements discussed in this paper, the surface meshes can be handled directly without further subdivision (see part (b) of the figure)

Notwithstanding the success of this method in two-dimensional image-based analyses, the situation in three-dimensional modeling is somewhat different. The quadtree-based domain decomposition can be extended to 3D without much further effort [53]. In this case, we divide a cubic cell into eight smaller ones of equal size and refer to this technique as octree decomposition (Fig. 1b). From the viewpoint of the SBFEM, each cubic cell constitutes one subdomain, which implies that we have to discretize the surface of each cube in a finite element sense. Figure 1b reveals that the surfaces of 3D octree decompositions basically consist of 2D quadtree meshes and hence exhibit the same compatibility issues discussed above. That is, due to the two-dimensional finite element grid that has to be used for the discretization of the boundary, hanging nodes are generated. In this example, the mesh on the front surface of the structure in Fig. 1b is identical to the two-dimensional case illustrated in Fig. 1a. In finite element-applications, the hanging node problem can be circumvented by either using some kind of constraints (constraint equations, Lagrange multipliers, etc.) or triangular elements.

In previous works, this issue has been tackled by the second option, i.e., triangulating the surfaces of individual cubes to ensure compatibility with adjacent subdomains, see Fig. 1c. This approach has been applied to solve problems related to acoustics [37] and fracture [52]. However, this concept may be considered somewhat inelegant and unsatisfactory as the triangular elements require additional degrees of freedom and are intrinsically less accurate compared to quadrilateral elements. Furthermore, the previous approach does not allow combining elements of different orders within the same model, which is one of the major advantages exploited in 2D SBFEM models [25, 27].

To improve on the previous formulation, we present a novel approach based on the use of special transition elements. Using this meshing paradigm, the surfaces of octree-based SBFEM models can be discretized without introducing additional nodes, and we are enabled to formulate shape functions on quadrilateral domains with an arbitrary number of subdivisions of each edge. The application of such elements was inspired by the papers on the so-called ‘pNh elements’ [15, 20, 62], as well as earlier formulations [3, 6, 16, 18, 18]. The basic idea of these formulations is that different interpolants can be chosen along the four edges of a quadrilateral element to ensure a compatible coupling between different types of elements. These four individual functions are then interpolated over the domain using certain projection operators. This concept also allows using a piece-wise polynomial interpolation along any of the edges, such that elements of different sizes can be coupled. In a recent publication, we presented a detailed review and generalization of these classes of transition elements [13]. There, we refer to these general transition elements as xNy-elements to indicate that it is, in principle, possible to couple arbitrary element families. In the current paper, we shall only provide a very brief summary of the formulation (Sect. 2.4) and refer the reader to the pertinent literature. The purpose of this work is mainly to demonstrate that these transition elements can, in fact, be used to solve the hanging node problem in three-dimensional SBFEM models. The motivation for this approach is twofold:

  1. 1.

    We wish to avoid any triangulation of the surfaces in three-dimensional (octree-based) models. This goal can easily be achieved using said transition elements since they allow splitting each edge into an arbitrary number of sections. Consequently, we avoid introducing additional elements that are not required by the topological decomposition. Especially when using high-order interpolation, the reduction in degrees of freedom (DOFs) can be very significant.

  2. 2.

    We wish to allow different element orders within the same model, which is particularly useful in the case of inhomogeneous materials and wave propagation problems. Up to now, conventional Lagrange elements have been used on the surfaces of SBFE subdomains, which required the element order to match between adjacent subdomains. Using the proposed approach generally allows connecting elements of arbitrary orders or even entirely different types of shape functions.

2 Theory

The overarching goal of this contribution is to combine the concepts of the SBFEM, octree-based mesh generation, and transition elements. This combination results in an efficient and robust numerical tool that can be applied to a wide range of problems in engineering and physics. However, we will demonstrate the essential concepts based on the example of linear elasticity. The problem statement is formulated in Sect. 2.1, after which we present a brief description of the fundamental principles underlying the SBFEM in Sect. 2.2. Essential features of octree-meshes are discussed in Sect. 2.3. Considering the formulation of transition elements, we sketch the basic ideas in Sect. 2.4, followed by an example for the case of linear interpolation in Sect. 2.5, as well as some details on the numerical integration in Sect. 2.6.

2.1 Problem statement

In the current work, we address boundary value problems related to three-dimensional linear elasticity, governed by the following system of PDEs for the displacement field \(\mathbf {u}=\mathbf {u}(x,y,z)\):

$$\begin{aligned} \hat{\mathcal {L}}^\mathrm {T}\mathbf {D}\hat{\mathcal {L}}\mathbf {u}(x,y,z) + \rho \, \ddot{\mathbf {u}}(x,y,z) = \mathbf {0} \end{aligned}$$
(1)

Here, \(\rho \) denotes the mass density and \(\mathbf {D}\) is the elasticity matrix, which, for an isotropic material with shear modulus G and Poisson’s ratio \(\nu \), reads

$$\begin{aligned} \mathbf {D}=\frac{2\, G}{(1-2 \nu )} \begin{bmatrix} {1-\nu } &{} {\nu } &{} {\nu } \\ {\nu } &{} {1-\nu } &{} {\nu } \\ {\nu } &{} {\nu } &{} {1-\nu } \\ &{} &{} &{} \frac{1-2 \nu }{2} \\ &{} &{} &{} &{} \frac{1-2 \nu }{2} \\ &{} &{} &{} &{} &{}\frac{1-2 \nu }{2} \\ \end{bmatrix} \end{aligned}$$
(2)

\(\hat{\mathcal {L}}\) is the differential operator

$$\begin{aligned} \hat{\mathcal {L}}=\left[ \begin{array}{cccccc}{\partial _{x}} &{} {0} &{} {0} &{} {\partial _{y}} &{} {\partial _{z}} &{} {0} \\ {0} &{} {\partial _{y}} &{} {0} &{} {\partial _{x}} &{} {0} &{} {\partial _{z}} \\ {0} &{} {0} &{} {\partial _{z}} &{} {0} &{} {\partial _{x}} &{} {\partial _{y}}\end{array}\right] ^{\mathrm {T}} \end{aligned}$$
(3)

which may be re-written for later use as

$$\begin{aligned} \hat{\mathcal {L}}=\hat{\mathbf {b}}_1 \partial _x + \hat{\mathbf {b}}_2 \partial _x + \hat{\mathbf {b}}_3 \partial _z \end{aligned}$$
(4)

with

$$\begin{aligned} \hat{\mathbf {b}}_1&=\left[ \begin{array}{cccccc} 1 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 \\ 0 &{} 0 &{} 0 &{} 1 &{} 0 &{} 0 \\ 0 &{} 0 &{} 0 &{} 0 &{} 1 &{} 0 \end{array}\right] ^\mathrm {T}\hat{\mathbf {b}}_2=\left[ \begin{array}{cccccc} 0 &{} 0 &{} 0 &{} 1 &{} 0 &{} 0 \\ 0 &{} 1 &{} 0 &{} 0 &{} 0 &{} 0 \\ 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 1 \end{array}\right] ^\mathrm {T}\nonumber \\ \hat{\mathbf {b}}_1&=\left[ \begin{array}{cccccc} 0 &{} 0 &{} 0 &{} 0 &{} 1 &{} 0 \\ 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 1 \\ 0 &{} 0 &{} 1 &{} 0 &{} 0 &{} 0 \end{array}\right] ^\mathrm {T}\end{aligned}$$
(5)

By modifying the differential operator, as well as the material parameters, other common linear PDEs are obtained and can be solved by the SBFEM in a similar fashion [2, 37].

Fig. 2
figure 2

Exemplary cubic cell within an octree decomposition. The ‘scaled boundary’ coordinates \((\xi , \eta , \zeta )\) are indicated on one of the cube’s surfaces

2.2 SBFEM

The SBFEM constitutes a semi-analytical approach, in the sense that the governing PDEs (in three coordinates) are discretized in two directions while remaining analytical in the third coordinate. In order to employ this idea effectively, a particular coordinate transformation is usually applied such that the two discretized directions (denoted as \(\eta ,\zeta \)) define a parametrization of the computational domain’s boundary, while the analytical coordinate \(\xi \) describes the direction from the origin to the boundary.Footnote 3 Figure 2 depicts this coordinate system for the example of a cubical cell, which can be thought of as a subdomain in the octree decomposition (cf. Fig. 1). In this case, the local coordinates \((\eta , \zeta )\) are defined on each surface of the cube, similar to two-dimensional finite elements. A few key steps of the procedure are summarized in the remainder of this section. The complete formulation, including a detailed derivation of the basic coordinate transformation and the semi-discretization, can be found in [57]. For dynamic problems, we apply the solution scheme proposed in [55], which is based on a continued-fraction-expansion of the dynamic stiffness matrix. A concise summary of the procedures applied to dynamic problems is presented in [25].

In general, the coordinate transformation employed in the SBFEM is written as

$$\begin{aligned} \hat{x}(\xi , \eta , \zeta )=\xi x(\eta , \zeta )\end{aligned}$$
(6a)
$$\begin{aligned} \hat{y}(\xi , \eta , \zeta )=\xi y(\eta , \zeta )\end{aligned}$$
(6b)
$$\begin{aligned} \hat{z}(\xi , \eta , \zeta )=\xi z(\eta , \zeta ) \end{aligned}$$
(6c)

where \(\hat{x},\hat{y},\hat{z}\) define a three-dimensional Cartesian coordinate system and xyz are the values of these Cartesian coordinates on the boundary of the domain, parametrized by the local coordinates \(\eta ,\zeta \).Footnote 4 Without loss of generality, the origin of the coordinate system is chosen to be inside the domain. Furthermore, the domain is assumed to be star-convex. The application presented in this paper involves only cubical cells, where the discretized surfaces are squares aligned with the Cartesian coordinates. Hence, the functions \(x(\eta , \zeta ), y(\eta , \zeta ), z(\eta , \zeta )\) are trivial to implement based on the vertex coordinates of the cell. In other applications, the coordinates are interpolated using shape functions, especially when curved boundaries exist.

The Jacobian matrix corresponding to our coordinate transformation is given as

$$\begin{aligned} \hat{\mathbf {J}}(\xi ,\eta ,\zeta )=\left[ \begin{array}{ccc} \hat{x}_{,\xi } &{} \hat{y}_{,\xi } &{} \hat{z}_{,\xi } \\ \hat{x}_{,\eta } &{} \hat{y}_{,\eta } &{} \hat{z}_{,\eta } \\ \hat{x}_{,\zeta } &{} \hat{y}_{,\zeta } &{} \hat{z}_{,\zeta } \end{array}\right] = \left[ \begin{array}{ccc} x &{} y &{} z \\ \xi x_{,\eta } &{} \xi y_{,\eta } &{} \xi z_{,\eta } \\ \xi x_{,\zeta } &{} \xi y_{,\zeta } &{} \xi z_{,\zeta } \end{array}\right] \end{aligned}$$
(7)

which is conveniently decomposed into

$$\begin{aligned} \hat{\mathbf {J}}(\xi ,\eta ,\zeta )= \left[ \begin{array}{ccc} 1 &{} &{} \\ &{} \xi &{} \\ &{} &{} \xi \end{array}\right] \left[ \begin{array}{ccc} x &{} y &{} z \\ x_{,\eta } &{} y_{,\eta } &{} z_{,\eta } \\ x_{,\zeta } &{} y_{,\zeta } &{} z_{,\zeta } \end{array}\right] = \left[ \begin{array}{ccc} 1 &{} &{} \\ &{} \xi &{} \\ &{} &{} \xi \end{array}\right] \mathbf {J}(\eta ,\zeta ) \end{aligned}$$
(8)

With these transformations, we re-formulate the differential operator \(\hat{\mathcal {L}}\) in terms of the local coordinates

$$\begin{aligned} \mathcal {L}=\mathbf {b}_1 \partial _\xi +\frac{1}{\xi } \left( \mathbf {b}_2 \partial _{\eta } + \mathbf {b}_3 \partial _\zeta \right) \end{aligned}$$
(9)

The matrices \(\mathbf {b}_1, \mathbf {b}_2, \text { and } \mathbf {b}_3\) are given in Appendix A. In these ‘scaled boundary coordinates’, we now interpolate the displacement field in the \(\eta \)- and \(\zeta \)-directions:

$$\begin{aligned} \mathbf {u}(\xi , \eta , \zeta )=\mathbf {N}(\eta , \zeta ) \mathbf {u}_\mathrm {n}(\xi ) \end{aligned}$$
(10)

Here, \(\mathbf {N}(\eta , \zeta )\) consists of two-dimensional finite element shape functions—for which we will choose transfinite shape functions as explained in Sect. 2.4. Note that the displacement field remains analytical (i.e., not interpolated) in the \(\xi \)-direction.

Applying the method of weighted residuals in the next step, we multiply the governing PDEs (1)—with the transformed linear differential operator introduced in Eq. (9)—by a set of test functions and integrate over the computational domain. Our approach is based on the Bubnov-Galerkin approach; i.e., we use the same trial and test functions. This procedure is similar to a conventional finite element formulation; the difference being that the trial and test functions are functions of two coordinates, namely \(\eta \) and \(\zeta \), only. We obtain a matrix differential equation that represents a weak form of the governing equation in \(\eta \) and \(\zeta \) while remaining ‘strong’ in \(\xi \):

$$\begin{aligned}&\mathbf {E}_0 \xi ^2 \mathbf {u}_\mathrm {n}(\xi )_{,\xi \xi } + \left( 2\, \mathbf {E}_0-\mathbf {E}_1+\mathbf {E}_1^\mathrm {T}\right) \xi \mathbf {u}_\mathrm {n}(\xi )_{,\xi }\nonumber \\&\qquad \qquad + \left( \mathbf {E}_1^{\mathrm {T}}-\mathbf {E}_2\right) \mathbf {u}_\mathrm {n}(\xi ) + \omega ^2\xi ^2\mathbf {M}_0 \mathbf {u}_\mathrm {n}(\xi )=0 \end{aligned}$$
(11)

Here, the coefficient matrices \(\mathbf {E}_0, \mathbf {E}_1, \mathbf {E}_2, \mathbf {M}_0\) are similar to stiffness and mass matrices in the finite element method and involve an integration over the discretized surfaces, i.e.,

$$\begin{aligned} \mathbf {E}_0&=\int _S \mathbf {B}_1^\mathrm {T} \mathbf {D} \mathbf {B}_1 |\mathbf {J}| \mathrm {d} \eta \mathrm {d} \zeta \end{aligned}$$
(12a)
$$\begin{aligned} \mathbf {E}_1&=\int _S \mathbf {B}_{2}^{\mathrm {T}} \mathbf {D} \mathbf {B}_{1} |\mathbf {J}| \mathrm {d} \eta \mathrm {d} \zeta \end{aligned}$$
(12b)
$$\begin{aligned} \mathbf {E}_{2}&=\int _{S} \mathbf {B}_{2}^{\mathrm {T}} \mathbf {D} \mathbf {B}_{2} |\mathbf {J}| \mathrm {d} \eta \mathrm {d} \zeta \end{aligned}$$
(12c)
$$\begin{aligned} \mathbf {M}_0&=\int _S \mathbf {N}^\mathrm {T} \rho \mathbf {N} |\mathbf {J}| \mathrm {d} \eta \mathrm {d} \zeta \end{aligned}$$
(12d)

with

$$\begin{aligned} \mathbf {B}_1&=\mathbf {b}_1 \mathbf {N}(\eta , \zeta )\end{aligned}$$
(13a)
$$\begin{aligned} \mathbf {B}_2&=\mathbf {b}_2 \mathbf {N}(\eta ,\zeta )_{,\eta }+\mathbf {b}_3 \mathbf {N}(\eta , \zeta )_{,\zeta } \end{aligned}$$
(13b)

Through this process of semi-discretization, the original boundary value problem is reduced to finding solutions to the ODE (11).Footnote 5 In the static case (\(\omega = 0\)), the differential equation permits solutions of the form \(\varvec{\Psi } \xi ^\lambda c \) with a constant vector \(\varvec{\Psi }\) and exponent \(\lambda \), which are the solutions to a quadratic eigenvalue problem. The integration constants c can be obtained by evaluating the boundary conditions. Details are provided in [54]. To obtain a somewhat more consistent formulation for statics and dynamics, we summarize here an apparently different (though equivalent) solution procedure. For this purpose, we may re-write the ODE (11) as a differential equation for the dynamic stiffness matrix. To achieve this, we first substitute the displacement field interpolation (10) into Eq. (9) to compute the components of the strain vector (in Voigt notation)

$$\begin{aligned} \varvec{\varepsilon }=\mathbf {B}_1 \mathbf {u}_\mathrm {n}(\xi )_{,\xi }+\frac{1}{\xi } \mathbf {B}_2 \mathbf {u}_\mathrm {n}(\xi ) \end{aligned}$$
(14)

Integrating the corresponding components of the stress vector along \(\eta \) and \(\zeta \) yields an expression for the nodal forces

$$\begin{aligned} \mathbf {R}(\xi )=\xi ^2\, {\mathbf {E}}_0\mathbf {u}_\mathrm {n}(\xi )_{,\xi } + \xi \, {\mathbf {E}}_1^\mathrm {T}\mathbf {u}_\mathrm {n} (\xi ) \end{aligned}$$
(15)

Noting that the (dynamic) stiffness matrix \(\mathbf {S}(\omega , \xi )\) is defined as the relationship between displacements and forces, i.e.,

$$\begin{aligned} \mathbf {R}(\xi ) = \mathbf {S}(\omega , \xi )\, \mathbf {u}(\xi ) \end{aligned}$$
(16)

we use Eqs. (11), (15), (16) to obtain the differential equation in dynamic stiffness on the boundary (\(\xi =1\))

$$\begin{aligned}&(\mathbf {S}(\omega )- {\mathbf {E}}_1){\mathbf {E}}_0^{-1}(\mathbf {S}(\omega )-{\mathbf {E}}_1^\mathrm {T})- {\mathbf {E}}_2\nonumber \\&\qquad \qquad \qquad \qquad \quad + \mathbf {S}(\omega ) + \omega \mathbf {S}(\omega )_{,\omega } +\omega ^2 {\mathbf {M}}_0= \mathbf {0} \end{aligned}$$
(17)

Considering again the static case, the above equation simplifies to

$$\begin{aligned} (\mathbf {K}- {\mathbf {E}}_1){\mathbf {E}}_0^{-1}(\mathbf {K}-{\mathbf {E}}_1^\mathrm {T})- {\mathbf {E}}_2+ \mathbf {K} = \mathbf {0} \end{aligned}$$
(18)

where we introduce the static stiffness matrix \(\mathbf {K}=\mathbf {S}(0)\). Equation (18) is an algebraic Riccati equation that can be solved using standard procedures [57]. In the dynamic case, we may—similar to the approach taken for finite elements—assume an approximation of the form

$$\begin{aligned} \mathbf {S}(\omega )\approx {\mathbf {K}}-\omega ^2 \mathbf {M} \end{aligned}$$
(19)

where \(\mathbf {M}\) denotes the mass matrix of the SBFEM domain. Substituting Eq. (19) into Eq. (17) yields a Lyapunov equation for the mass matrix

$$\begin{aligned} ({\mathbf {K}}-{\mathbf {E}}_1){\mathbf {E}}_0^{-1}\mathbf {M}+\mathbf {M}{\mathbf {E}}_0^{-1}({\mathbf {K}}-{\mathbf {E}}_1^\mathrm {T}) + 3\,\mathbf {M}-{\mathbf {M}}_0=\mathbf {0} \end{aligned}$$
(20)

for which again standard solution procedures exist. The dynamic stiffness matrix in the form of Eq. (19) introduces an additional approximation in the sense that the semi-discretized differential equation (17) is not satisfied exactly. To improve accuracy, we apply the procedure first proposed in [55], which we briefly summarize in Appendix B for easier reference. Once the stiffness and mass matrices of the individual subdomains are computed, they can be assembled just like finite elements by enforcing continuity of displacements. Hence, the SBFE subdomains can be treated as large elements without interior nodes and with an arbitrary number of surfaces. A global system (subscript ‘g’) is consequently assembled as

$$\begin{aligned} \mathbf {K}_\mathrm {g} \mathbf {u}_\mathrm {g} + \mathbf {M}_\mathrm {g} \ddot{\mathbf {u}}_\mathrm {g} = \mathbf {F}_\mathrm {g} \end{aligned}$$
(21)

The external load vector \(\mathbf {F}\) is obtained by integrating over the subdomains’ surfaces. Since those surfaces are discretized essentially by finite elements, the shape functions are integrated in the same way as in other finite-element-based techniques to obtain the load vector.

Fig. 3
figure 3

Mesh patterns on the surfaces of a balanced octree decomposition. Transition elements allow us to use quadrilateral elements in all cases (top), while conventional elements require a subdivision of the surfaces to treat hanging nodes (bottom).

Fig. 4
figure 4

Mesh patterns for the case of third order interpolation: Transition elements (top) and Lagrange elements (bottom)

2.3 Octree mesh

While the concept of the SBFEM can generally be applied to any star-convex subdomain, the use of the quadtree/octree decomposition has become particularly popular. As already discussed in the introduction, octree-meshes can be obtained easily by starting with a coarse discretization consisting of a few cubes and recursively dividing each cube into eight smaller cubes according to specific criteria. These criteria may be based on whether the cube is intersected by a boundary or whether the variation of material parameters within the cube exceeds a predefined threshold. For further details, we refer again to [53]. Also, the reader may note that such a meshing procedure will not lead to a smooth boundary representation of complex geometries due to the ‘stair-case’ approximation of interfaces. These geometry errors are acceptable in many applications—particularly in image-based analyses, where the available initial geometry description is a pixel-based image. In other cases, it is desirable to improve the description of the boundaries by applying smoothing algorithms, cutting the cubes that are intersected by the boundary [38], or combining the octree decomposition with fictitious domain concepts [24]. Such approaches are the subject of other publications and will not be discussed here in detail. In the current contribution, we restrict ourselves to pure octree-meshes since this is the part where our approach differs from previous works.

The proposed application of transition elements changes the way the meshes on the surfaces of the SBFE subdomains are handled. For now, let us assume that the octree decomposition is ‘balanced,’ which means that adjacent subdomains differ by at most one refinement level. Consequently, each edge of each cube is either split into two segments or not. Taking into account the symmetries under rotation, there exist only six distinct meshing patterns on the cube surfaces. These patterns are depicted in Fig. 3 and differ in the number of sides that are split in order to ensure conformal coupling to the adjacent subdomain. Note that the first and last pattern in each row all consist of standard quadrilateral elements. Thus, in the proposed approach, there are only five different types of surface elements to be considered.Footnote 6 As will be shown in the following sections, we can construct shape functions with nodes at the desired positions. For comparison, Fig. 3 also displays the subdivision of the patterns using conventional triangular and quadrilateral elements, as has been done in previous works.

The difference in both approaches becomes prominent when applying high-order interpolations. As an example, Fig. 4 shows the same patterns with additional nodes using a polynomial order of 3. Note that the transition elements do not require internal nodes to achieve complete polynomials up to an order of 3. This is in contrast to the Lagrange elements employed previously. In that sense, the shape functions are similar to that of serendipity finite elements. Furthermore, it should also be noted that, when using transition elements, there is no need to restrict the decomposition to balanced meshes. In fact, subdomains of arbitrary sizes can be coupled straightforwardly. This would be rather tedious when using conventional elements since adequate triangulations would have to be defined for each of the (arbitrarily large number of) different patterns.

2.4 Transition elements based on the xNy element concept

As discussed in the previous sections, transition elements are being used in the context of finite element models to realize local mesh refinement. In the current work, we will, for the first time, use the transition elements to discretize each face of a hexahedral SBFE. This enables us to connect subdomains in an octree decomposition. In principle, such transition elements can be derived for various types of interpolants, including Legendre polynomials or Fourier shape functions, which have been previously used in the context of SBFEM applications [26]. In this paper, our focus is, however, on high-order shape functions based on Lagrange polynomials that are defined on a non-equidistant grid of points [29, 48]. Typically, a Gauss-Lobatto-Legendre nodal distribution is chosen to generate the high-order Lagrange shape functions. This particular set of nodes includes the element (interval) boundaries at \(\pm 1\), while the interior nodes are the roots of the Lobatto polynomials of order \(p\,{-}\,1\) (when constructing shape functions of order p) [10].

2.4.1 Projection: Fundamental idea

The idea of transition elements, as implemented in this paper, can be traced back to the works of Gordon and co-workers [16,17,18,19]. In their articles, the transition element was referred to as transfinite element, due to the special type of mapping that was applied. In the remainder of the article, we still prefer to use the term transition element instead. It is worth mentioning that such an approach to deriving shape functions for transition elements can also be used to achieve an accurate approximation of the geometry in high-order FEMs. In the p-FEM, this type of geometry description is commonly referred to as blending function method [5, 34, 59] and is widely used to incorporate the exact geometry of the structure stemming, for example, from computer-aided-design (CAD) software. More recent applications of the transition element technology can be found in [49,50,51, 61, 62]

In the current contribution, the main goal is to couple SBFEM-subdomains of different sizes, where each boundary of each element is discretized using two-dimensional quadrilateral elements (again, refer to Fig. 1b). In other words, we would like to have a quadrilateral element that allows different numbers of nodes along all four edges (e.g., on the surfaces of the cube indicated in Fig. 2). Therefore, the task is to develop a transition element that features piece-wise polynomial shape functions such that it can couple to multiple smaller elements, each with an arbitrary order of interpolation. At this point, only the basic idea is sketched and we refer to the pertinent literature [16,17,18,19, 49,50,51, 61, 62] and the references cited therein. In particular, the authors recently presented a comprehensive analysis and generalization of this class of elements in [13]. The interested reader may refer to this publication for further details on the concepts outlined in the current work.

From a more abstract viewpoint, the task to derive suitable finite element shape functions corresponds to finding an interpolating function on a given domain (element) that is conforming with adjacent elements. That is to say, the interpolation along the edges should be identical between neighboring elements. In the current work, the interpolation at the element edges will be represented by one-dimensional Lagrange polynomials (like in conventional finite elements in 1D). In a nutshell, we choose (potentially distinct) interpolations along each for the four edges and interpolate those over the domain by using blending operators.

Formally, we need to interpolate a function \( \Upxi (\eta ,\zeta )\) over the two-dimensional reference domain, chosen as \(\Upomega \):\(\, [-1,1] \times [-1,1]\). To this end, we project the arbitrary bivariate function \(\Upxi (\eta ,\zeta )\) onto a different (carefully selected) space of bivariate functions [18]. Such a projection will be denoted as \(\mathcal {P}[\Upxi (\eta ,\zeta )]\) and is composed of two projectors \(\mathcal {P}_{\eta }[\Upxi (\eta ,\zeta )]\), \(\mathcal {P}_{\zeta }[\Upxi (\eta ,\zeta )]\) that interpolate \(\Upxi (\eta ,\zeta )\) along the local directions \(\eta \) and \(\zeta \). Additionally, a mixed projector \(\mathcal {P}_{\eta \zeta }[\Upxi (\eta ,\zeta )]\) is introduced to ensure that redundant terms cancel out. Hence, the projection is written as

$$\begin{aligned} \mathcal {P}[\Upxi (\eta ,\zeta )]= & {} \mathcal {P}_{\eta }[\Upxi (\eta ,\zeta )]\nonumber \\&+ \mathcal {P}_{\zeta }[\Upxi (\eta ,\zeta )] - \mathcal {P}_{\eta \zeta }[\Upxi (\eta ,\zeta )] \end{aligned}$$
(22)

where the mixed projection operator is defined as

$$\begin{aligned} \mathcal {P}_{\eta \zeta }[\Upxi (\eta ,\zeta )] = \mathcal {P}_{\eta }[\mathcal {P}_{\zeta }[\Upxi (\eta ,\zeta )]] \end{aligned}$$
(23)

Note that the individual projection operators are both linear

$$\begin{aligned} \mathcal {P}_s[f(\eta ,\zeta ) + g(\eta ,\zeta )] = \mathcal {P}_s[f(\eta ,\zeta )] + \mathcal {P}_s[g(\eta ,\zeta )] \end{aligned}$$
(24)

and idempotent

$$\begin{aligned} \mathcal {P}_s[\mathcal {P}_s[f(\eta ,\zeta )]] = \mathcal {P}_s[f(\eta ,\zeta )] \end{aligned}$$
(25)

where \(f(\eta ,\zeta )\) and \(g(\eta ,\zeta )\) are (continuous) bivariate functions and the subscript \(s\in \{\eta ,\zeta \}\). The projection \(\mathcal {P}\) can be thought of as an operator that interpolates the four edge-interpolations over the domain. Hence, the interpolants along the four edges can be chosen independently of this projection.

2.4.2 Projection: Definition of operators

We now construct conformal finite element shape functions that allow elements of different sizes to be coupled. This is achieved by introducing piece-wise polynomial shape functions along the element edges, which are then interpolated over the domain using the methodology sketched in the previous subsection. To achieve this goal, a simple definition of the projection operators suffices. As already introduced in the early works of Gordon and Hall [17, 18], a linear interpolation is appropriate to define the projectors as

$$\begin{aligned} \mathcal {P}_{\eta }[\Upxi (\eta ,\zeta )]&= \psi _1(\eta )\, \Upxi (\eta _1,\zeta ) + \psi _2(\eta )\, \Upxi (\eta _2,\zeta ) \end{aligned}$$
(26a)
$$\begin{aligned} \mathcal {P}_{\zeta }[\Upxi (\eta ,\zeta )]&= \psi _1(\zeta )\, \Upxi (\eta ,\zeta _1) + \psi _2(\zeta )\, \Upxi (\eta ,\zeta _2) \end{aligned}$$
(26b)

where \(\eta _i\) and \(\zeta _i\) denote two values of each local coordinate used to define the linear interpolation. We make the obvious choice of using the four element corners; thus, the functions \(\psi _i(s)\) are identical to the linear Lagrange polynomials. In this context, they are referred to as linear blending functions

$$\begin{aligned} \psi _1(s)&= \frac{1}{2}(1-s) \end{aligned}$$
(27a)
$$\begin{aligned} \psi _2(s)&= \frac{1}{2}(1+s) \end{aligned}$$
(27b)

Note that the projections \(\mathcal {P}_{\eta }[\Upxi (\eta ,\zeta )]\), \(\mathcal {P}_{\zeta }[\Upxi (\eta ,\zeta )] \) as defined in Eqs. (26) involve the values of the interpolated function at the edges (\(\Upxi (\eta _1,\zeta )\) etc.). These function values will later be approximated using adequate (piece-wise) interpolation functions along the element edges. The definition of the mixed projection operator immediately follows from the successive application of Eqs. (26a) and (26b) to the function \(\Upxi (\eta ,\zeta )\):

$$\begin{aligned}&\mathcal {P}_{\eta \zeta }[\Upxi (\eta ,\zeta )] \nonumber \\&\quad =\psi _1(\eta ) \, \psi _1(\zeta )\, \Upxi (\eta _1,\zeta _1)+ \psi _2(\eta )\, \psi _1(\zeta )\, \Upxi (\eta _2,\zeta _1) \nonumber \\&\qquad + \psi _1(\eta )\,\psi _2(\zeta )\, \Upxi (\eta _1,\zeta _2) +\psi _2(\eta )\,\psi _2(\zeta )\, \Upxi (\eta _2,\zeta _2)\nonumber \\ \end{aligned}$$
(28)

The mixed projector interpolates \(\Upxi (\eta ,\zeta )\) only at discrete nodal locations. Obviously, in the presented form, the mixed projector by itself is identical to an interpolation using standard linear 2D shape functions. Based on the presented concept, we are now able to derive the shape functions for arbitrary transition elements. To this end, \(\Upxi (\eta ,\zeta )\) is chosen such that it represents the piece-wise polynomial function that enables coupling elements of different sizes. Recall that the goal is to couple three-dimensional SBFE-subdomains of different sizes. In this case, it suffices to ensure that the edges feature conformal shape functions, as long as polynomials of degree \(p\le 3\) are used. If high-order elements or tensor product formulations are deployed, we also have to account for interior shape functions (‘bubble functions’) to ensure a conformal coupling of surfaces [11, 12]. Note that the bubble functions do not need to be included in the projection process since they vanish on all edges by construction, i.e., they are identical to those of standard finite elements. One possibility is to only add the hierarchical bubble modes that are known from the p-version of the FEM [59] to complete the polynomial.

Fig. 5
figure 5

Linear transition element with two ‘hanging’ nodes—illustration of local coordinate systems and integration points

Fig. 6
figure 6

Example of linear transfinite element shape functions on a quadrilateral with two hanging nodes

2.5 Example: linear shape functions

Since this procedure of creating finite element shape functions may look rather unfamiliar to most readers, let us clarify the notation by considering a simple four-noded linear element. Keep in mind that we always employ linear blending, irrespective of the element order we ultimately wish to obtain. Hence, the projectors are still given by Eqs. (26) or, in explicit form

$$\begin{aligned} \mathcal {P}_{\eta }[\Upxi (\eta ,\zeta )]&= \frac{1-\eta }{2}\, \Upxi (\,1,\zeta ) + \frac{1+\eta }{2}\, \Upxi (1,\zeta ) \end{aligned}$$
(29a)
$$\begin{aligned} \mathcal {P}_{\zeta }[\Upxi (\eta ,\zeta )]&= \frac{1-\zeta }{2}\, \Upxi (\eta ,\,1) + \frac{1+\zeta }{2}\, \Upxi (\eta ,1) \end{aligned}$$
(29b)
$$\begin{aligned}&\mathcal {P}_{\eta \zeta }[\Upxi (\eta ,\zeta )] \nonumber \\&\quad =\frac{(1-\eta )(1-\zeta )}{4}\, \Upxi (\,1,\,1)+ \frac{(1+\eta )(1-\zeta )}{4}\, \Upxi ( 1,\,1) \nonumber \\&\qquad +\frac{(1-\eta )(1+\zeta )}{4}\, \Upxi (\,1, 1)+ \frac{(1+\eta )(1+\zeta )}{4}\, \Upxi ( 1, 1)\nonumber \\ \end{aligned}$$
(30)

Equations (29) contain the function values along the four edges \(\Upxi (\,1,\zeta )\), \(\Upxi (1,\zeta )\), \(\Upxi (\eta , \,1)\), and \(\Upxi (\eta , 1)\), for which we can now choose an interpolation. For illustration purposes, let us assume standard linear interpolation along all edges, i.e.,

$$\begin{aligned}&\Upxi (1,\zeta )&= \psi _1(\zeta )\, \Upxi (1,\,1)\ \, + \psi _2(\zeta )\, \Upxi (1,1)\end{aligned}$$
(31a)
$$\begin{aligned}&\Upxi (\eta , 1)&= \psi _1(\eta )\, \Upxi (\,1, 1)\ \, + \psi _2(\eta )\, \Upxi ( 1, 1)\end{aligned}$$
(31b)
$$\begin{aligned}&\Upxi (\,1,\zeta )&= \psi _1(\zeta )\, \Upxi (\,1,\,1) + \psi _2(\zeta )\, \Upxi (\,1,1) \end{aligned}$$
(31c)
$$\begin{aligned}&\Upxi (\eta , \,1)&= \psi _1(\eta )\, \Upxi (\,1,\,1) + \psi _2(\eta )\, \Upxi ( 1, \,1) \end{aligned}$$
(31d)

Substituting Eqs. (31) into (29) and using Eq. (22), we immediately obtain the two-dimensional interpolation as

$$\begin{aligned} \mathcal {P}[\Upxi (\eta ,\zeta )] = \mathcal {P}_{\eta \zeta }[\Upxi (\eta ,\zeta )] \end{aligned}$$
(32)

which again is identical to the interpolation by standard linear shape functions. Similarly, by employing quadratic interpolation with evenly spaced nodes along all edges, we recover the well-known shape functions of the eight-node ‘Serendipity’ element. A graphical derivation of similar shape functions is given in [68], illustrating the more general concept developed in [13] for simple elements. By further increasing the polynomial degree, we can construct elements with an arbitrary interpolation order on the edges. However, if the polynomial degree exceeds three, the resulting shape functions are incomplete and must be enriched by bubble functions to ensure high-order completeness.

Returning to the current purpose of creating transition elements, we can now choose piece-wise polynomial interpolation along any of the edges. As an example, let us consider the surface indicated in Fig. 2 with two hanging nodes (pattern 3 in Fig. 3). Of course, the projection operators Eqs. (29) and (30) are still valid. Also, the linear interpolation along the edges \(\Upxi (\,1,\zeta )\) and \(\Upxi (\eta , \,1)\) remains the same. Instead of Eqs. (31a) and (31b), we apply the piece-wise interpolation as

$$\begin{aligned}&\Upxi ( 1,\zeta ) = \end{aligned}$$
(33a)
$$\begin{aligned}&{\left\{ \begin{array}{ll} \psi _1(\bar{\zeta }_1)\, \Upxi (1,\,1) + \psi _2(\bar{\zeta }_1)\, \Upxi (1,0), &{} -1<\zeta \le 0 \\ \psi _1(\bar{\zeta }_2)\, \Upxi (1,0) \ \, + \psi _2(\bar{\zeta }_2)\, \Upxi (1,1), &{} 0<\zeta<1\end{array}\right. } \nonumber \\&\Upxi (\eta ,1) = \nonumber \\&{\left\{ \begin{array}{ll} \psi _1(\bar{\eta }_1)\, \Upxi (\,1,1)+ \psi _2(\bar{\eta }_1)\, \Upxi (0,1), &{} -1<\eta \le 0\\ \psi _1(\bar{\eta }_2)\, \Upxi (0,1) \ \,+ \psi _2(\bar{\eta }_2)\, \Upxi (1,1), &{} 0<\eta <1\end{array}\right. } \end{aligned}$$
(33b)

Here, \(\bar{\eta }_1\), \(\bar{\eta }_2\), \(\bar{\zeta }_1\), \(\bar{\zeta }_2\) are the local coordinates of the individual sections, i.e.,

$$\begin{aligned} \bar{\eta }_1 = 2 \eta + 1 \end{aligned}$$
(34a)
$$\begin{aligned} \bar{\eta }_2 = 2 \eta - 1 \end{aligned}$$
(34b)
$$\begin{aligned} \bar{\zeta }_1 = 2 \zeta + 1 \end{aligned}$$
(34c)
$$\begin{aligned} \bar{\zeta }_2 = 2 \zeta - 1 \end{aligned}$$
(34d)

The local coordinates along with the nodal numbering scheme are depicted in Fig. 5. Generally, once the (piece-wise) interpolations along the edges have been chosen, they are substituted into the definition of the projection operators to obtain the 2D shape functions. Considering this simple linear example, closed-from expressions of the shape functions can be obtained directly in the coordinates \(\eta , \zeta \), as provided by Gupta [28]:

$$\begin{aligned} N_1(\eta ,\zeta )&= \frac{1}{4}(1-\eta )(1-\zeta )\end{aligned}$$
(35a)
$$\begin{aligned} N_2(\eta ,\zeta )&= \frac{1}{4}(1+\eta )(|\zeta |-\zeta )\end{aligned}$$
(35b)
$$\begin{aligned} N_3(\eta ,\zeta )&= \frac{1}{4}\left[ (1+\eta )(|\zeta |+\zeta )-(1-|\eta |)(1+\zeta )\right] \end{aligned}$$
(35c)
$$\begin{aligned} N_4(\eta ,\zeta )&= \frac{1}{4}(|\eta |-\eta )(1+\zeta )\end{aligned}$$
(35d)
$$\begin{aligned} N_5(\eta ,\zeta )&= \frac{1}{2}(1+\eta )(1-|\zeta |)\end{aligned}$$
(35e)
$$\begin{aligned} N_6(\eta ,\zeta )&= \frac{1}{2}(1-|\eta |)(1+\zeta ) \end{aligned}$$
(35f)

The shape functions obtained for this example are plotted in Fig. 6. Note that they fulfil the ‘Kronecker-delta-property’, i.e., each shape function equals one at exactly one of the six nodes and vanishes at all other nodes. Using the above recipes, we can apply any combination of piece-wise interpolation of arbitrary order on each of the edges. Many examples and detailed analyses can be found in [13].

2.6 Integration of piece-wise shape functions

When the shape functions are created based on piece-wise polynomial interpolation, they are typically not continuously differentiable everywhere inside the element. This is obviously the case in the example presented in Fig. 6. Hence, to accurately integrate the coefficient matrices according to Eq. (12), it is indispensable to divide the element into ‘patches’ for the numerical quadrature. In our example, it is sufficient to divide the integration domain into four equal-sized patches (see the quadrature points indicated in Fig. 5 for a piece-wise linear element). The number of integration points per patch is related to the polynomial order of the shape functions as \((p+1)^2\). If edges are divided into more than two sections, the number of patches needs to be increased accordingly. Within each of the patches, the shape functions are polynomials and are integrated accurately using standard Gauss quadrature of adequate order (corresponding to the maximum order of interpolation on the edges).

Fig. 7
figure 7

Geometry used to perform patch tests

3 Numerical examples

In this section, we present the results of several numerical experiments that we performed in order to verify the proposed approach. We begin by analyzing simple geometries—namely a rectangular cuboid and a cube—and conduct standard patch tests, as well as a modal analysis. We then proceed to demonstrate the applicability of the approach to more complex geometries. In all examples, we assume linear elastic material behavior as well as small deformations. We denote by \(\Upomega \) the computational domain, and \(\Upgamma _\mathrm {u}\), \(\Upgamma _\mathrm {q}\) are the parts of the boundary where Dirichlet and Neumann boundary conditions are applied, respectively. Hence, the general problem statement may be written as

$$\begin{aligned} \mathcal {L}^\mathrm {T}\mathbf {D} \mathcal {L} \mathbf{u} - \rho \ddot{\mathbf{u}}- \varvec{f}&=\varvec{0}&\qquad \text {in } \Upomega \end{aligned}$$
(36a)
$$\begin{aligned} \mathbf{u}&= \mathbf{u}_\Upgamma&\qquad \text {on } \Upgamma _\mathrm {u} \end{aligned}$$
(36b)
$$\begin{aligned} \mathbf{n}^\mathrm {T}\varvec{\sigma }&= \mathbf{n}^\mathrm {T}\varvec{\sigma }_\Upgamma&\qquad \text {on } \Upgamma _\mathrm {q} \end{aligned}$$
(36c)

where \(\mathbf {u}_\Upgamma \) and \(\varvec{\sigma }_\Upgamma \) denote the boundary conditions and \(\mathcal {L}\) is the differential operator as given in Eq. (3).

Fig. 8
figure 8

Results of the 1st-, 2nd-, and 3rd-order patch tests: Convergence of the relative errors in displacement (left); computed displacement field and exemplary meshes (right)

3.1 Static analyses and patch tests

We begin by conducting linear and higher-order patch tests to check the validity of the proposed approach and evaluate the rate of convergence under optimal conditions. These tests are performed for a cuboid with a width and height of \(a=b=2\) and a length of \(L=4\), see Fig. 7. Hence, the computational domain is given as

$$\begin{aligned} \Upomega =\left\{ \left. (x, y, z) \in \mathbb {R}^3\,\right| \,0\le x\le 2,\,0\le y\le 2,\,0\le z\le 4\right\} \end{aligned}$$

In all tests, Dirichlet boundary conditions are applied to the two faces indicated in Fig. 7, while all other surfaces are traction-free. The material is isotropic and homogeneous with the following properties:

Young’s modulus:

\(E =1\)

Poisson’s ratio:

\(\nu =0\)

Despite the fact that the material is homogeneous, we choose to divide the domain into two regions, where different element sizes are employed. Thus, transition elements are incorporated at the interface between the two regions (see Fig. 8 for examples). The element order is varied between \(p=1\) and \(p=3\). We perform h-refinement by dividing each subdomain into eight in each refinement step. The element size h is defined as the edge length of the largest element in the mesh. To assess the accuracy of the computed results, we evaluate the \(L_2\) norm of the relative error in displacements with respect to an analytical solution.Footnote 7 We study the following three cases:

Uniaxial tension We assume a state of uniaxial tension, such that the exact solution of this problem is

$$\begin{aligned} \mathbf{u}^\mathrm {ref}=(0,0,z)^\mathrm {T}\end{aligned}$$
(37)

and consequently, the following Dirichlet boundary conditions are applied:

$$\begin{aligned} \mathbf{u}_{\Upgamma _1} = \mathbf{u}^\mathrm {ref}(x,y,0)&= (0,0,0)^\mathrm {T}\end{aligned}$$
(38)
$$\begin{aligned} \mathbf{u}_{\Upgamma _2} = \mathbf{u}^\mathrm {ref}(x,y,L)&= (0,0,L)^\mathrm {T}\end{aligned}$$
(39)

Hence, the numerical errors should be negligible, as long as the elements on the surface of each subdomain are capable of representing a linear variation of the displacement field exactly. Figure 8a shows the computed errors when performing h-refinement with varying element order. The results show that the proposed approach passes the linear patch test with error levels in the order of \(10^{-13}\).

Beam bending As a 2nd order patch test, we analyze the cuboid (with the same properties as before) in a state of pure bending (with a unit radius of curvature). The analytical solution of the displacement field is given in [60], Chapter 10, as

$$\begin{aligned} u_x^\mathrm {ref}&= -\frac{1}{2} ( z^2+\nu (x^2-y^2) )\end{aligned}$$
(40)
$$\begin{aligned} u_y^\mathrm {ref}&= -xy \nu \end{aligned}$$
(41)
$$\begin{aligned} u_z^\mathrm {ref}&=xz \end{aligned}$$
(42)

Hence, for the case of \(\nu =0\), our Dirichlet boundary conditions read

$$\begin{aligned} \mathbf{u}_{\Upgamma _1}&= \mathbf {u}^\mathrm {ref}(x,y,0) = \left( 0,0,0\right) \end{aligned}$$
(43)
$$\begin{aligned} \mathbf{u}_{\Upgamma _2}&= \mathbf {u}^\mathrm {ref}(x,y,L) = \left( -\frac{1}{2} L^2,0,xL\right) \end{aligned}$$
(44)

Results are presented in Fig. 8c. Since the exact solution is a quadratic function of xyz, the errors are negligible when using an element order of \(p\ge 2\). On the other hand, if an element order of \(p=1\) is chosen, the results are not exact. In this case, the numerical convergence rate—computed based on the last two points of the graphs—is obtained with a value of 2.3.

Cantilever beam Finally, we perform a 3rd order patch test by applying boundary conditions that result in a cubic variation of the displacement field. The analytical reference solution of the displacement field \(\mathbf {u}^\mathrm {ref}(x,y,z) = (u_x^\mathrm {ref},u_y^\mathrm {ref},u_z^\mathrm {ref})\) is based on a cantilever beam, which is weakly fixed on one end and subject to a shear force F applied at the other end (at \(z=4\) in our example). The analytical solution can be found in [4]:

$$\begin{aligned}&u_x^\mathrm {ref}=-\frac{F \nu }{E I} x y z\end{aligned}$$
(45)
$$\begin{aligned}&u_y^\mathrm {ref}=\frac{F}{E I}\left[ \frac{\nu }{2}\left( x^2-y^2\right) z-\frac{1}{6} z^3\right] \end{aligned}$$
(46)
$$\begin{aligned} u_z^\mathrm {ref}= & {} \frac{F}{E I} \left[ \frac{1}{2} y\left( \nu x^2+z^2\right) +\frac{1}{6} \nu y^3 \right. \nonumber \\&\left. +(1+\nu )\left( b^2 y-\frac{1}{3} y^3\right) -\frac{1}{3} a^2 \nu y \right. \nonumber \\&- \left. \frac{4 a^3 \nu }{\pi ^3} \sum _{n=1}^\infty \frac{(-1)^n}{n^3} \cos \left( n \pi x / a\right) \frac{\sinh \left( n \pi y / a\right) }{\cosh (n \pi b / a)} \right] \end{aligned}$$
(47)

According to this analytical solution, Dirichlet boundary conditions are applied at the two ends of the cantilever as

$$\begin{aligned} \mathbf{u}_{\Upgamma _1}&= \frac{F}{EI}\left( 0,\; 0,\; b^2 y-\frac{1}{3} y^3\right) ^\mathrm {T}\end{aligned}$$
(48)
$$\begin{aligned} \mathbf{u}_{\Upgamma _2}&= \frac{F}{EI}\left( 0,\; -\frac{1}{6}L^3,\; -\frac{1}{3}y^3+\left[ \frac{1}{2}L^2+b^2\right] y\right) ^\mathrm {T}\end{aligned}$$
(49)

Again, all other surfaces are traction-free. As expected, the error is negligible when using an element order of \(p=3\), see Fig. 8e. For linear and quadratic elements, we obtain a numerical convergence rate of 1.7 and 3.3, respectively.

Fig. 9
figure 9

Third-order patch tests—comparison between transition elements (‘t.e.’) and triangulated surfaces (‘tri’)

Comparison against triangulation In addition to the above verification against analytical solutions, we compare the proposed approach to a previous implementation, in which surfaces are subdivided into triangular and rectangular elements rather than using transition elements (see the explanations in Sect. 2.3). Such a discretization is depicted in Fig. 9a and can be compared directly with the corresponding mesh in Fig. 8f. For the sake of brevity, we present here only the results for the cantilever beam. A comparison of the error in displacements using both approaches is presented in Fig. 9b. The results obtained based on the proposed discretization (denoted as ‘t.e.’ in the figure) are, of course, identical to the ones in Fig. 8e and are included here to facilitate the comparison. It can be seen that the application of triangulated surfaces (‘tri’)Footnote 8 results in very similar error levels for the same element size. Only when using an element order of \(p=3\), we observe a significant increase of the error levels—particularly for large element sizes—when using triangular elements. Plotting the same errors against the number of degrees of freedom (Fig. 9c), the triangulated mesh obviously requires more DOFs to achieve the same error level as the transition elements. This is due to the fact that the quadtree patterns lead to a larger number of interior nodes when applying the triangulation (cf. Figs. 3 and 4). While in the case of linear elements (in the current example), only a few additional nodes are required at the centroids of triangulated surfaces, the difference in the number of DOFs can be quite significant for high-order elements. For instance, when comparing the finest discretization at \(p=3\), the numbers of DOFs differ by a factor of approximately 2.6 (292,539 vs. 110,715 DOFs).

3.2 Modal analysis: cube

We continue by performing a modal analysis in order to validate the proposed approach for dynamic problems. The computational domain is a cube of width 8:

$$\begin{aligned} \Upomega =\left\{ \left. (x, y, z) \in \mathbb {R}^3\,\right| \,0\le x\le 8,\,0\le y\le 8,\, 0\le z\le 8\right\} \end{aligned}$$

The material parameters are chosen as

Young’s modulus:

\(E =1\)

Poisson’s ratio:

\(\nu =0\)

Mass density:

\(\rho =1\)

Fig. 10
figure 10

Modal analysis of a cube—exemplary meshes and mode shapes

All surfaces are traction-free. The initial mesh is defined by \((8/h)^3\) cubic subdomains, where h denotes the subdomains’ side length. To ensure that transition elements are present in the mesh, one of these SBFE-subdomain at one of the corners of the cube is divided into eight, see Fig. 10 for exemplary meshes. A numerical reference solution has been computed by utilizing the conventional spectral element method on a uniform grid of \(8^3\) elements of order 5, leading to 206,763 DOFs. The eigenfrequencies are listed in Table 1. The relative error of the first ten nonzero eigenfrequencies (modes 7–16) is plotted in Fig. 10 with respect to the element size h for different element orders p. When using \(p=1,2,3\), the computed numerical convergence rates are obtained as 1.8, 3.8, and 4.5, respectively (Fig. 11).

Table 1 Modal analysis of a cube—Reference solution for the first ten nonzero eigenfrequencies
Fig. 11
figure 11

Modal analysis of a cube—relative error of the eigenfrequencies

3.3 Modal analysis: crane tower

To demonstrate the applicability of the proposed approach to more complex geometries, the model of a crane tower, as depicted in Fig. 12, is analyzed. The model is based on a stereolithography (STL) file obtained from the online repository Thingiverse [41].Footnote 9 From the STL-file, we generated a voxel-based model with the help of the online converter Voxelizer [63]. We slightly modified the design—mainly to remove unconstrained parts as well as to assign two different colors that correspond to different materials in the context of the image-based analysis. The modifications have been made using the software MagicaVoxel [14]. The material parameters of the tower and the base (as indicated by the different colors) are assumed as

 

material 1

material 2

Young’s modulus E:

70 GPa

20 GPa

Poisson’s ratio \(\nu \):

0.35

0.3

mass density \(\rho \):

2.7 kg/m\(^3\)

2.4 kg/m\(^3\)

The total height of the model is 22.5 m. We apply fixed boundary conditions at the bottom of the base, as indicated in Fig. 12. The mesh has been created automatically by means of an octree decomposition of the voxel-based model, leading to 7 158 subdomains. As can be inferred from Fig. 12, the decomposition leads to subdomains of four different sizes and, therefore, the side length of the largest element is eight times larger than that of the smallest elements. A rapid and consistent transition from large to small element sizes is easily achieved by the octree meshing algorithm. Figure 13 shows the mode shapes of the first four modes and lists the corresponding eigenfrequencies. We found that for computing these modes, it suffices to employ quadratic elements on the surfaces of each subdomain, which results in a total of 615,960 DOFs (Table 2).

Fig. 12
figure 12

Modal analysis of a crane tower—octree decomposition

Fig. 13
figure 13

Modal analysis of a crane tower—Mode shapes and eigenfrequencies of the first four modes

Fig. 14
figure 14

Structure under self-weight loading—a mesh and b displacement solution

Table 2 Eigenfrequencies of the crane tower, computed using varying element order p

3.4 Structure under self-weight loading

As a final example, we study the behavior of the structure depicted in Fig. 14 under the influence of self-weight loading. The model of a castle is based on a sample provided in the software MagicaVoxel [14], which we slightly modified and placed on a base of a different material. We scaled the model such that the total height of the structure is 33 m. The base is a homogeneous layer with a thickness of 8 m. The material parameters of the castle (material 1) and foundation (material 2) are chosen as

 

material 1

material 2

Young’s modulus E:

10 GPa

0.5 GPa

Poisson’s ratio \(\nu \):

0.3

0.2

mass density \(\rho \):

2.4 kg/m\(^3\)

2 kg/m\(^3\)

The acceleration of gravity is set to \(g=\,\, 9.81\,\text {m}/\text {s}^2\). As a proof of concept, this example represents a situation where it can be useful to apply a different element order to the two distinct materials and thus better capture the larger deformations in the softer material. This feature will be particularly interesting for more complicated problems, such as wave propagation through layered soils, which have been addressed previously in two dimensions [27]. In those cases, it can also be useful to adjust the element order not only based on the material properties but also on the size of the subdomain. In the current rather simple example, we found it sufficient to use elements of order 3 in the base material, while the comparably rigid material of the castle is discretized using linear elements only. The resulting mesh is depicted in Fig. 14a. The deformed geometry due to self-weight can be seen in Fig. 14b, where the colors indicate absolute values of displacement.

4 Conclusion

The combination of the three-dimensional SBFEM with transition elements allows a consistent discretization of an octree decomposition. Each surface of each subdomain is discretized by quadrilateral elements only. Hence, we avoid any unnecessary subdivision into smaller surface elements as had been done in previous publications. The numerical results demonstrate that the computational models created using the proposed technique pass the linear as well as higher-order patch tests. Compared to the previous meshing paradigm (involving triangulation), there is no loss of accuracy due to the transition elements, while the number of surface elements and degrees of freedom is reduced. We also demonstrated that the proposed approach allows coupling elements of different interpolation orders straightforwardly. Thus, we are now able to implement local p-refinement, which could previously only be exploited in two-dimensional SBFEM models.