1 Introduction

Numerical methods play an important role in various engineering disciplines. Among them, the finite element method (FEM) is one of the most common approaches used in structural mechanics. However, for complex-shaped problems, such as porous media, the FEM can become very expensive since a fine mesh is needed in order to resolve local features [59]. Therefore, novel numerical methods are needed that can accurately simulate such problems while also being computationally efficient. In this context, immersed methods are very promising [4, 7, 10,11,12,13, 30]. In particular, the finite cell method (FCM) [27, 28, 71] is of interest due to its proven efficiency for problems of structural mechanics.

Fig. 1
figure 1

Mesh generation for a heterogeneous material using FEM and FCM

In Fig. 1, the advantages of immersed methods such as the FCM are illustrated on a heterogeneous material. Since the FEM utilizes a boundary-conforming mesh to discretize the structure, a very fine mesh is needed to resolve local features such as material interfaces. This approach results in a large number of degrees of freedom (DOF) and can lead to high computational costs. On the other hand, the FCM employs a simple mesh to discretize the problem, resulting in a much lower number of elements and therefore, smaller linear systems have to be solved.

The FCM combines fictitious domain methods with high-order shape functions [27, 28, 71]. A Cartesian grid is used to discretize the structure, resulting in a fast and simple mesh generation. Since the mesh is not boundary-conforming, arbitrary complex-shaped structures can be discretized. One advantage of the FCM is that it can be utilized on different geometric models, such as implicit geometry description (level-set functions) [45, 49, 95], B-rep models (STL) [27, 33, 74], voxel models (CT scans) [31, 40, 50, 96], or constructive solid geometry (CSG) [78, 91, 92], to name a few. Recently, the FCM was further developed to solve additional challenges arising in cut finite cells, such as the numerical integration of the stiffness matrix and load vector [3, 32, 44], the imposition of boundary conditions [16, 54, 62], and the solution of linear systems of equations [19,20,21, 50]. For smooth problems, the FCM exhibits high convergence rates and hence, can compete with the p-FEM [28, 71]. The FCM is used in a wide range of application-including geometric nonlinearities [81], hyperelasticity and elastoplasticity at small and finite strains [32,33,34,35, 53], structural dynamics [9, 23, 51, 69, 76], acoustics [73, 77], fracture mechanics [47, 70], biomechanics [27, 31], homogenization [29, 40, 60], and Isogeometric Analysis (IGA) [80, 81, 90].

When dealing with heterogeneous structures such as cemented granular materials (CGM), the FCM faces significant issues. Due to the fact that heterogeneous structures exhibit weak discontinuities at the material interfaces, this causes a loss of regularity in the solution. Consequently, kinks in the displacements and jumps in the strains and stresses occur. Since the FCM utilizes smooth polynomials to approximate the displacements, it is not able to resolve the discontinuous solution anymore. Instead, oscillations arise in the presence of the material interfaces, leading to a deterioration of the convergence behavior [52].

Therefore, several solution strategies were developed to overcome these issues and make the FCM applicable for multi-material structures. One approach is based on the interface coupling, where separate FCM meshes are used for each material [31, 38, 79]. Weak enforcement is established at the interfaces between the different meshes via various methods, such as the penalty method [31, 71], Lagrange multipliers [39, 79], or Nitsche’s method [38, 81]. Furthermore, the implementation of interface coupling with multi-level hp-refinement was achieved, addressing problems with singularities as well as high gradients [31].

Another strategy is based on the local enrichment, where the smooth Ansatz of the FCM is extended by non-smooth shape functions, which are applied locally on smaller parts of the whole domain. The additional shape functions are specially designed to capture the discontinuity, where the type of discontinuity has to be known a priori. This idea originates from the extended finite element method (XFEM) for the simulation of cracks and was, later on, further developed for heterogeneous materials [5, 64, 67, 68]. In the context of the FCM, the local enrichment has been utilized for linear elastic materials [52, 73]. So far, this approach has only been applied to geometries described by level-set functions.

The simulation of heterogeneous image-derived microstructures such as CGM remains to be a cumbersome problem. Such microstructures are usually described by 3D images, acquired from X-ray computed tomography (CT). On the one hand, if the FCM is applied directly to the voxel model [40], singularities in the stresses can arise due to the non-smooth geometry description by the voxel model. On the other hand, there is no suitable approach to construct the enrichment from voxel models and thus, capture the non-smooth solution at the material interfaces properly.

In this contribution, a methodology based on a global L\(^2\)-projection is proposed to derive a smooth geometry description from 3D images. The FCM with L\(^2\)-projection avoids artificial singularities in the stresses and thereby, improves the results. Furthermore, an extension of the L\(^2\)-projection for heterogeneous materials is presented, which also provides a level-set function for the enrichment. The local enrichment is applied to the FCM, where the enrichment function and the geometry description are based on the level-set functions. This approach further decreases the local oscillations at the material interfaces, making it applicable for voxel-derived heterogeneous microstructures like CGM. In a prior study [37], the proposed approaches were successfully applied to solve 2D axisymmetric problems in the context of CGM. In this work, they are extended to approximate 3D linear elastic heterogeneous problems.

The outline of this work is as follows. In Sect. 2, the FCM as well as the local enrichment and L\(^2\)-projection are briefly explained. In addition, an extension of the L\(^2\)-projection for heterogeneous problems is presented. In Sect. 3, a numerical example is provided to gain a better understanding of the local enrichment. In Sect. 4, the proposed methods are applied to a heterogeneous microstructure, whose geometry is given by a 3D image of a real material morphology. Here, three versions of the FCM are applied to solve this problem. These FCM versions are then compared with each other in a performance study and also verified against the FEM. In Sect. 5, the proposed FCM versions are applied to a real CGM in order to study its micromechanical behavior. Finally, conclusions are given in Sect. 6.

2 Finite cell method

2.1 Basic formulation

The FCM is utilized in order to solve problems in structural mechanics. It can be interpreted as a combination of the fictitious domain approach with p-FEM [28]. The main idea is depicted in Fig. 2. Here, the physical domain \(\Omega \) is extended by \(\Omega _e \setminus \Omega \) (fictitious domain), such that the domain \(\Omega _e\) has a simple rectangular shape. This simple-shaped domain can then be meshed efficiently by a Cartesian grid. Finally, the geometry is captured using the indicator function \(\alpha \). The integral of an arbitrary function f over the physical domain is now expressed as

$$\begin{aligned} \int \limits _{\Omega } f(\varvec{x}) \mathrm {~d} \Omega = \int \limits _{\Omega _e} {\alpha (\varvec{x})} f(\varvec{x}) \mathrm {~d} \Omega . \end{aligned}$$
(1)
Fig. 2
figure 2

Concept of the FCM. \(\Omega \) denotes the physical domain (geometry of the mechanical problem), \(\Omega _e {\setminus } \Omega \) the fictitious domain, and \(\Omega _e\) the embedded domain. The geometry is captured by the indicator function \(\alpha \). \(\Gamma _i\) denotes the material interfaces with the outward normal vector \(\varvec{n}_i\)

The weak form for structural mechanical problems assuming linear elasticity is then given as

$$\begin{aligned} \int \limits _{\Omega _e} {\alpha } \, \varvec{\varepsilon }_v (\varvec{v})^{\textrm{T}} \varvec{\sigma }_v (\varvec{u}) \mathrm {~d} \Omega = \int \limits _{\Omega _e} {\alpha } \, \varvec{v}^{\textrm{T}} \varvec{f} \mathrm {~d} \Omega + \int \limits _{\Gamma _N} \varvec{v}^{\textrm{T}} \, \overline{\varvec{t}} \mathrm {~d} \Gamma , \end{aligned}$$
(2)

where \(\varvec{u}\) is the unknown displacement field and \(\varvec{v}\) are test functions. In addition, \(\varvec{\varepsilon }_v(\varvec{u}) = \varvec{\textrm{L}} \varvec{u}\) corresponds to the strains in Voigt notation, where \(\varvec{\textrm{L}}\) is the differential operator matrix, and \(\varvec{\sigma }_v = \varvec{C} \varvec{\varepsilon }_v\) denotes the stresses in Voigt notation. The elasticity matrix is given by \(\varvec{C}\), while \(\varvec{f}\) and \(\overline{\varvec{t}}\) indicate the body load and the tractions, respectively.

The indicator function in Eqs. (1) and (2) is defined as

$$\begin{aligned} \alpha (\varvec{x}) = {\left\{ \begin{array}{ll} 1 &{} \varvec{x} \text{ in } \Omega \\ \alpha _0 &{} \varvec{x} \text{ in } \Omega _e \setminus \Omega ,\end{array}\right. } \end{aligned}$$
(3)

with \(\alpha _0 \ll 1\). The indicator function penalizes the solution inside the fictitious domain. Ideally, \(\alpha _0 = 0\) to fulfill the weak form in Eq. (2) exactly. However, in practice, a very low value \(\alpha _0 = 10^{-q}\) with \(q = 5, \, \ldots , \, 12\) is used inside the fictitious domain in order to avoid stability problems (also known as \(\alpha \)-stabilization [35]), with a negligible influence on the overall solution. The FCM utilizes a polynomial Ansatz in order to approximate the displacement field, where high-order hierarchical shape functions based on integrated Legendre polynomials are employed [28, 84, 85]. Due to the Bubnov-Galerkin approach the same Ansatz is utilized for the test functions. Inserting the Ansatz into the weak form results in the linear system of equations

$$\begin{aligned} \varvec{K} \varvec{U} = \varvec{F} . \end{aligned}$$
(4)

Here, \(\varvec{K}\) is the stiffness matrix, \(\varvec{F}\) the load vector and \(\varvec{U}\) the unknown displacement vector. Neumann boundary conditions, i.e. tractions \(\overline{\varvec{t}}\) on \(\Gamma _N\), are already included in Eq. (2), thus, the incorporation into the FCM is straightforward [27]. Dirichlet boundary conditions, i.e. prescribing a given displacement field \(\overline{\varvec{u}}\) on \(\Gamma _D\), can be fulfilled weakly, e.g. utilizing the penalty or Nitsche method [12, 71].

Since the integrands in Eq. (2) are discontinuous–due to \(\alpha (\varvec{x})\)–the standard Gaussian quadrature scheme is not sufficient anymore, which is why the octree integration scheme [3, 27] is deployed to capture the discontinuous integrands in the numerical integration process. There exist further improvements to reduce the integration costs, such as moment fitting [24, 26, 44,45,46], smart octree [43, 61], enhanced octree based on image-compression techniques [72, 75], divergence theorem [22], Boolean FCM [1, 73], Equivalent Legendre polynomials [2, 88], and curve mapping based on Bézier approximation [41, 42]. The recently developed non-negative moment fitting [32, 63] has been proven to be well suited for complex nonlinear problems.

2.2 Local enrichment of the FCM for multi-material problems

2.2.1 Basic formulation

In heterogeneous structures, the solution exhibits weak discontinuities at the material interfaces, resulting in kinks in the displacement field as well as jumps in the strain and stress fields. The inclusions are assumed to be perfectly bonded to the matrix. Thus, in addition to the governing equations for linear elasticity, the following jump conditions must be fulfilled on the material interfaces (\(\varvec{x} \in \Gamma _i\)) [76]

$$\begin{aligned}{} & {} \varvec{u}_\textrm{inc} = \varvec{u}_\textrm{mat} \end{aligned}$$
(5)
$$\begin{aligned}{} & {} \varvec{\sigma }_\textrm{inc} \varvec{n}_i =\varvec{\sigma }_\textrm{mat} \varvec{n}_i \end{aligned}$$
(6)
$$\begin{aligned}{} & {} \varvec{\varepsilon }_\textrm{inc} - \varvec{\varepsilon }_\textrm{mat} = \frac{1}{2} \left( \varvec{a} \otimes \varvec{n}_i + \varvec{n}_i \otimes \varvec{a} \right) . \end{aligned}$$
(7)

Here, \((.)_\mathrm{inc/mat}\) denotes the quantity in each material (matrix or inclusion) and \(\varvec{n}_i\) describes the outward unit normal vector (Fig. 2). The first condition (Eq. (5)) represents the continuity of the displacement field. The second condition (Eq. (6)) describes the continuity of the tractions \(\overline{\varvec{t}} = \varvec{\sigma } \varvec{n}_i\). The last condition (Eq. (7)) is known as the Hadamard jump condition, where \(\varvec{a}\) denotes the jump of the directional derivative of the displacements \(\varvec{u}\) in the direction of \(\varvec{n}_i\) [76]. Since the underlying exact solution is only \(C^0\)-continuous at the material interfaces due to Eqs. (5)–(7), the smooth Ansatz of the standard FCM is not able to capture the non-smooth behavior at the material interfaces. Therefore, only low convergence rates are achieved. In order solve this issue, local enrichment is applied to the FCM [52]. Here, the Ansatz of the FCM is locally enriched by special shape functions which capture the weak discontinuity at the material interfaces and thus, fulfill Eqs. (5)–(7). The displacement field is now approximated as

$$\begin{aligned} \varvec{u}(\varvec{x})= & {} \underbrace{\sum _{i=1}^n N_i \varvec{U}_i}_{\varvec{u}_\textrm{smooth}} + \underbrace{\sum _{i=1}^{n^*} N_i^{*} F \varvec{a}_i}_{\varvec{u}_\textrm{enriched}} , \end{aligned}$$
(8)

where the smooth FCM Ansatz, \(\varvec{u}_\textrm{smooth}\), is enriched by the non-smooth part, \(\varvec{u}_\textrm{enriched}\). This approach is illustrated in Fig. 3. Assume an enriched finite cell that is cut by the material interface. The smooth part of the solution \(\varvec{u}_\textrm{smooth}\) is captured by the hierarchical shape functions \(N_i\) of order p (Fig. 3a). The non-smooth part \(\varvec{u}_\textrm{enriched}\) is captured by \(N_i^{*} F\) (Fig. 3b). Here, \(N_i^{*}\) denote high-order shape functions of order \(p_e=p\), building a partition of unity (PUM), associated with additional DOFs \(\varvec{a}_i\). In this work, Lagrange polynomials through Chen-Babuška points [15] are utilized for \(N_i^{*}\). In 2D and 3D, \(N_i\) as well as \(N_i^{*}\) are based on the tensor product space of the corresponding 1D shape functions [28].

Fig. 3
figure 3

Shape functions of an enriched finite cell. a Smooth shape functions \(N_i\), and b enriched shape functions \(N_i^{*} F\)

In addition, the enrichment function F is formulated to capture the weak discontinuities at the material interfaces. It vanishes at the boundaries of the locally enriched domains, ensuring the \(C^0\)-continuity of the displacement field. Furthermore, the material interfaces are described by a level-set function \(\phi (\varvec{x})\). Therefore, in order to construct the enrichment function, the Modified-abs enrichment [36, 52, 65, 67] is utilized, which is defined as

$$\begin{aligned} F(\varvec{x}) = \underbrace{\bigg |\sum _{i=1}^{n_F} M_i \phi _i\bigg |}_{|\tilde{\phi }|} - \underbrace{\sum _{i=1}^{n_F} M_i \left| \phi _i\right| }_{\psi } . \end{aligned}$$
(9)

Here, \(M_i(\varvec{x})\) are interpolation functions based on Lagrange polynomials defined on a set of sampling points \( \{\varvec{x}_i\}\big |_{i = 1, \ldots , n}\), and \(\phi _i = \phi (\varvec{x}_i)\) denote the level-set function evaluated at \(\varvec{x}_i\). Chen-Babuška points are employed as sampling points for the Lagrange functions to reduce oscillations, especially when high-order polynomials are used for the interpolation [52]. In addition, \(n_F = (p_F + 1)^d\) denote the number of sampling points (\(d \in \{2, 3\}\) for 2D / 3D problems), where \(p_F\) denotes the order of the enrichment function. The construction of the enrichment function in 2D is illustrated in Fig. 4. First, the level-set function is interpolated by the Lagrange polynomials, resulting in \(\tilde{\phi } = \ \mathcal {I}\{\phi \}\). If the level-set function is a polynomial of order \(p_\textrm{LS}\), the interpolation can be performed exactly by choosing the same order for the interpolation \(p_F = p_\textrm{LS}\), resulting in \(\tilde{\phi } = \phi \). By taking the absolute value of the level-set function \(|\phi |\), the weak discontinuities at the material interfaces are captured naturally. However, in order to ensure that F vanishes at the uncut boundaries of the enriched cells, a correction term \(\psi = \mathcal {I}\{|\phi |\}\) is introduced. Finally, the enrichment function in Eq. (9) can be simplified as \(F = |\tilde{\phi }| - \psi \).

Fig. 4
figure 4

Construction of the enrichment function

2.2.2 The hp-d method

In order to define the smooth and enriched shape functions on the FCM mesh, the concept of the hp-d method is utilized [52]. The first term in Eq. (8) is defined on the base mesh, while the second term in Eq. (8) is defined on an overlay mesh that is superimposed on the base mesh. This overlay mesh only has to be defined on local parts on the overall domain that contain the material interfaces. Therefore, the additional number of DOFs is much lower than if the overlay mesh were applied to the entire physical domain, resulting in reduced computational costs. The hp-d method can be deployed in several ways. One strategy is known as the hp-d-FCM [52]. Here, the base mesh is defined by a Cartesian grid, but the overlay mesh is discretized by a boundary-conforming mesh in order to resolve the material interface (as used in the FEM). However, this can also lead to a large number of DOFs and therefore, as an alternative, the hp-d/PUM-FCM seems to be more attractive [52]. Again, a Cartesian grid is used for the base mesh. But unlike the hp-d-FCM, the overlay mesh is also discretized by a Cartesian grid. The enrichment function is then introduced by the partition of unity (PUM) approach.

Fig. 5
figure 5

hp-d/PUM-FCM. Different strategies for the overlay mesh. a Patch-wise approach [52]. b Cell-wise approach (this work)

In this work, the hp-d/PUM-FCM is employed. Different strategies for defining the overlay mesh are depicted in Fig. 5. In the patch-wise approach (Fig. 5a), the material interfaces are captured by patches, each patch typically containing multiple cut finite cells [52]. In this work however, the overlay mesh is defined on the finite cells directly, i.e. the enrichment is only applied to cells that are cut by the material interfaces (Fig. 5b). Such a cell-wise approach has the advantage, that an overlay mesh is not strictly necessary. Instead, parts of the base mesh containing the cut finite cells are chosen to be enriched [36]. The implementation of this approach in a finite element / finite cell code is simple and straightforward.

2.2.3 Numerical integration

The simulation of heterogeneous problems requires the consideration of discontinuous integrands of enriched cells during the numerical integration process. To this end, the octree integration scheme also accounts for the level-set function, which describes the material interfaces. Moreover, the maximum polynomial order of the FCM Ansatz increases due to the enrichment. Therefore, the effective polynomial order \(p_\textrm{eff} = \max \{ p, \, p_e + p_F \} = p + p_F\) is defined. In order to reduce the integration error, Gaussian quadrature with \(n = (p_\textrm{eff} + 1)^d\) integration points in every cut cell is employed.

2.3 Smooth geometry description of voxel models based on the L\(^2\)-projection

2.3.1 Basic formulation

CT scans lead to huge data-sets from which voxel models are derived. These voxel models can then be used as geometric descriptions for the FCM [40]. However, since the 3D images of the CT scans are non-smooth due to their staircase behavior, a smooth geometry representation is desired [89]. In addition, based on such a non-smooth geometry, the stresses will exhibit singularities, leading to bad results [40, 82]. For this reason, a L\(^2\)-projection approach is proposed to derive a smooth level-set function from the 3D images, as shown in Fig. 6. Instead of obtaining the geometry from the grayscale values of the voxel model directly \(\textcircled {1}\), the geometry provided by the voxel model is smoothed. This is done by the L\(^2\)-projection that is applied to the grayscale data of the voxel model, resulting in a smooth level-set function \(\phi \). Finally, a smooth description is obtained from this level-set function \(\textcircled {2}\). The geometries from the voxel model/level-set function are obtained via thresholding. As demonstrated in Fig. 6, all values above a certain threshold value (with a range of red tones) represent the matrix domain \(\Omega _1\), while all values below the threshold value (with a range of blue tones) represent the inclusion domain \(\Omega _2\).

Fig. 6
figure 6

Motivation of the L\(^2\)-projection approach

The L\(^2\)-projection is illustrated in Fig. 7. The voxel model is composed of \(n_\textrm{vox}\) voxels, i.e. \(\Omega = \bigcup _{v=1}^{n_\textrm{vox}} \Omega _v^\textrm{vox}\) (Fig. 7a). In particular, each voxel \(v = 1, 2, \ldots , n_\textrm{vox}\) is described by a grayscale value or a Hounsfield unit \(g_v\), corresponding to the subdomain \(\Omega _v^\textrm{vox}\). The voxel model is described by the grayscale function

$$\begin{aligned} g(\varvec{x}) = {\left\{ \begin{array}{ll} g_1 &{} \text{ for } \varvec{x} \text{ in } \Omega _1^\textrm{vox} \\ g_2 &{} \text{ for } \varvec{x} \text{ in } \Omega _2^\textrm{vox} \\ \vdots &{} \vdots \\ g_{n_\textrm{vox}} &{} \text{ for } \varvec{x} \text{ in } \Omega _{n_\textrm{vox}}^\textrm{vox} \end{array}\right. } . \end{aligned}$$
(10)

The L\(^2\)-projection approximates the grayscale function g by a smooth polynomial function \(\phi \approx g\) (Fig. 7b), which minimizes the functional

$$\begin{aligned} \Pi (\phi ) = \frac{1}{2} \int \limits _{\Omega } \big (\phi - g \big )^2 \mathrm {~d}\Omega \rightarrow \min . \end{aligned}$$
(11)

To this end, the FCM is utilized, which approximates the solution as

$$\begin{aligned} \phi (\varvec{x}) = \sum _{i=1}^{n} N_i \, \phi _i = \varvec{N} \varvec{\phi } . \end{aligned}$$
(12)

Here, \(N_i\) describes hierarchical shape functions based on integrated Legendre polynomials [85]. The minimization of Eq. (11) results in the linear system of equations

$$\begin{aligned} \varvec{M} \varvec{\phi } = \varvec{R} . \end{aligned}$$
(13)

Here, \(\varvec{M}\) denotes the system matrix and \(\varvec{R}\) the right-hand side, defined as

$$\begin{aligned} \varvec{M}= & {} \int \limits _{\Omega } \varvec{N}^T\varvec{N} \mathrm {~d}\Omega \end{aligned}$$
(14)
$$\begin{aligned} \varvec{R}= & {} \int \limits _{\Omega } \varvec{N}^T g \mathrm {~d}\Omega . \end{aligned}$$
(15)

Similar as for the mechanical problem, a Cartesian grid consisting of \(n_c\) finite cells is employed to discretize the domain \(\Omega \), where \(\Omega _c\) denotes the domain of the cell (Fig. 7c). The smoothing of the geometry can be observed when considering the isocontour (\(\phi = 0\)) (Fig. 7d). The L\(^2\)-projection is applied globally, which will be explained in the following.

Fig. 7
figure 7

Global L\(^2\)-projection approach. a grayscale function g, b level-set function \(\phi \), c mesh, d isocontour

2.3.2 Global and local L\(^2\)-projection

The L\(^2\)-projection can be applied in two ways: globally or locally. In the global L\(^2\)-projection, the local cell matrices and right-hand sides

$$\begin{aligned} \varvec{M}_c= & {} \int \limits _{\Omega _c} \varvec{N}^T\varvec{N} \mathrm {~d}\Omega \end{aligned}$$
(16)
$$\begin{aligned} \varvec{R}_c= & {} \int \limits _{\Omega _c} \varvec{N}^T g \mathrm {~d}\Omega \end{aligned}$$
(17)

are first computed for each finite cell before assembling them as

$$\begin{aligned} \varvec{M}= & {} \mathcal {A}_{c=1}^{n_c} \varvec{M}_c \end{aligned}$$
(18)
$$\begin{aligned} \varvec{R}= & {} \mathcal {A}_{c=1}^{n_c} \varvec{R}_c \end{aligned}$$
(19)

to form the global system of equations. Solving the linear system results in the coefficient vector \(\varvec{\phi }\). Alternatively, in the local L\(^2\)-projection approach, \(\varvec{M}_c\) and \(\varvec{R}_c\) are also computed on the cell level first, according to Eqs. (16) and (17). Unlike the global approach, the local cell matrices and right-hand sides are not assembled into the global system. Instead, a local system of equations

$$\begin{aligned} \varvec{M}_c \, \varvec{\phi }_c = \varvec{R}_c \qquad c = 1, 2, \ldots , n_c \end{aligned}$$
(20)

is solved for each cell, resulting in \(n_c\) cell coefficient vectors \(\varvec{\phi }_1, \, \varvec{\phi }_2, \, \ldots , \, \varvec{\phi }_{n_c}\).

Fig. 8
figure 8

2D example. a Input function \(g_\textrm{poly}\) (reference), b global L\(^2\)-projection \(\phi _\textrm{global}\), c local L\(^2\)-projection \(\phi _\textrm{global}\), d mesh, e isocontour of \(\phi _\textrm{global}\), f isocontour of \(\phi _\textrm{local}\)

In order to study the global and local L\(^2\)-projection, the following example in 2D is considered. The polynomial function

$$\begin{aligned} g_{\textrm{poly}}(\varvec{x}) = x^6 + y^6 - 0.36 . \end{aligned}$$
(21)

is given as an input, which is defined on the domain \(\Omega = [0, \, 1]^2\) (Fig. 8a). The L\(^2\)-projection is utilized in order to approximate the function \(g_{\textrm{poly}}\). Both approaches are applied to a FCM mesh consisting of \(2 \times 2\) finite cells, using a polynomial order of \(p=2\) (Fig. 8d). At this point, the L\(^2\)-projection is applied globally as well as locally, where the results are compared with the reference \(g_{\textrm{poly}}\). It can be observed, that the level-set function of the global L\(^2\)-projection \(\phi _\textrm{global}\) (Fig. 8b) is in good agreement with the reference \(g_{\textrm{poly}}\), even if a low order of \(p=2\) is used, although an order of \(p_\textrm{poly}=6\) would be required to represent \(g_{\textrm{poly}}\) exactly. The level-set function of the local L\(^2\)-projection \(\phi _\textrm{local}\) (Fig. 8c) also matches the reference \(g_{\textrm{poly}}\) very well inside each cell \(\Omega _c\). However, \(\phi _\textrm{local}\) exhibits jumps at the cell boundaries and thus, violates the C\(^0\)-continuity of the overall solution. Therefore, the local approach is not able to approximate \(g_{\textrm{poly}}\) on the cell boundaries. The reason is that, unlike the global approach, the solution is not enforced to be equal on the cell boundaries and thus, C\(^0\)-continuity is not guaranteed. This can also be observed in the isocontours (\(\phi = 0\)). Here, \(\phi _\textrm{global}\) is continuous at the cell boundaries (Fig. 8e), while \(\phi _\textrm{local}\) exhibits jumps at these boundaries (Fig. 8f). Moreover, the C\(^0\)-continuity is required for the local enrichment. For these reasons, the global L\(^2\)-projection is preferred over the local approach and will be used exclusively in this work from now on.

2.3.3 Numerical integration

In order to compute the cell matrices \(\varvec{M}_c\) and right-hand sides \(\varvec{R}_c\), numerical integration is utilized (Fig. 9). This procedure is performed differently for \(\varvec{M}_c\) and \(\varvec{R}_c\). The cell matrices do not depend on the voxel data, so they can be computed directly on the cell using standard Gaussian quadrature. As a result, Eq. (16) is evaluated as

$$\begin{aligned} \varvec{M}_c= & {} \int \limits _{\Omega _\textrm{c}} \varvec{N}^T\varvec{N} \mathrm {~d}\Omega = \int \limits _{-1}^{1} \int \limits _{-1}^{1} \varvec{N}^T\varvec{N} \det \varvec{J}_c \mathrm {~d} \xi \mathrm {~d} \eta \nonumber \\\approx & {} \sum _{i=1}^{p+1} \sum _{j=1}^{p+1} w_{\xi _i} w_{\eta _j} \varvec{N}^T\varvec{N} \det \varvec{J}_c\Big |_{\left( \xi _i, \eta _j\right) } , \end{aligned}$$
(22)

where \(\varvec{J}_c\) is the Jacobi matrix of the mapping function of the cell c. However, special care has to be taken during the numerical integration for the cell right-hand sides, which depend on the voxel data. For this, a local integration mesh (LIM) with uniform sub-cell division is utilized, which is chosen in such a way that each sub-cell coincides with a voxel, so that the integration can be performed exactly [94]. By doing so, Eq. (17) is now evaluated as

$$\begin{aligned} \varvec{R}_c= & {} \int \limits _{\Omega _c} \varvec{N}^T g \mathrm {~d}\Omega = \sum _\mathrm{sc=1}^{n_\textrm{sc}} \ \int \limits _{\Omega _c^\textrm{sc}} \varvec{N}^T \underbrace{g}_{= g_\textrm{sc}} \mathrm {~d}\Omega \nonumber \\= & {} \sum _\mathrm{sc=1}^{n_\textrm{sc}} g_\textrm{sc} \, \varvec{R}_c^\textrm{sc} , \end{aligned}$$
(23)
$$\begin{aligned} \varvec{R}_c^\textrm{sc}= & {} \int \limits _{\Omega _c^\textrm{sc}} \varvec{N}^T \mathrm {~d}\Omega = \int \limits _{-1}^{1} \int \limits _{-1}^{1} \varvec{N}^T \det \varvec{J}_c \det \varvec{J}_c^\textrm{sc} \mathrm {~dr} \, \textrm{ds} \nonumber \\\approx & {} \sum _{i=1}^{p+1} \sum _{j=1}^{p+1} w_{\textrm{r}_i} w_{\textrm{s}_j} \varvec{N}^T \det \varvec{J}_c \det \varvec{J}_c^\textrm{sc} \Big |_{\left( \textrm{r}_i, \textrm{s}_j\right) } , \end{aligned}$$
(24)

where the sub-cell right-hand sides \(\varvec{R}_c^\textrm{sc}\) are independent of the voxel data. Here, \(\varvec{J}_c^\textrm{sc}\) denotes the Jacobi matrix of the mapping function of the sub-cell sc to the cell c. A standard Gaussian quadrature is applied for every sub-cell. The numerical integration process can be further accelerated by computing \(\varvec{M}_c\) and \(\varvec{R}_c\) in parallel (e.g. using OpenMP [14]).

Fig. 9
figure 9

Numerical integration of \(\varvec{M}_c\) and \(\varvec{R}_c\). The blue circles denote the integration points

Fig. 10
figure 10

Concept of the extended L\(^2\)-projection. a Original grayscale function \(g_\textrm{image}\), b separated grayscale function \(g_A\), and c separated grayscale function \(g_B\)

In this context, it is possible to take advantage of the pre-computation of \(\varvec{M}_c\) and \(\varvec{R}_c\), assuming that all cells having the same size and shape. Originally, this idea was applied for linear elastic problems, for which the cell stiffness matrices were pre-computed [93, 94]. In this work, this approach is applied for the L\(^2\)-projection. To this end, one cell matrix \(\varvec{M}_{c}^{0}\) and the \(n_\textrm{sc}\) sub-cell right-hand sides \(\varvec{R}_c^{sc, 0}\) are pre-computed first, using Eqs. (22) and (24), respectively, before reusing them for all cells–resulting in

$$\begin{aligned} \varvec{M}_c= & {} \varvec{M}_{c}^{0} \end{aligned}$$
(25)
$$\begin{aligned} \varvec{R}_c= & {} \sum _\mathrm{sc=1}^{n_\textrm{sc}} g_\textrm{sc} \, \varvec{R}_c^{sc, 0} . \end{aligned}$$
(26)

The pre-computation significantly accelerates the simulation, especially for very large problems.

2.4 Extension of the L\(^2\)-projection for multi-material problems

The global L\(^2\)-projection can be only applied for single-material problems. In order to derive smooth geometries for multi-material 3D images, such as CGM, an extended L\(^2\)-projection for multi-material problems is proposed. Specifically, the proposed approach should be applied to heterogeneous problems consisting of two materials, namely matrix and inclusions. The main idea of the extended L\(^2\)-projection is to derive two individual level-set functions \(\phi _A\) and \(\phi _B\), where \(\phi _A\) describes the physical domain, i.e., the interface between both materials and the void, while \(\phi _B\) describes the material interfaces, i.e., between matrix and inclusions.

Fig. 11
figure 11

Extended L\(^2\)-projection. a, b Input grayscale functions \(g_A\) and \(g_B\), c, d level-set functions \(\phi _A\) and \(\phi _B\), e, f isocontour of \(\phi _A\) and \(\phi _B\)

In order to demonstrate this approach, the following example is considered. A 2D image is given by the grayscale function

$$\begin{aligned} g_\textrm{image}(\varvec{x}) = {\left\{ \begin{array}{ll} 0 &{} \varvec{x} \text{ in } \Omega _\textrm{void} \\ 1 &{} \varvec{x} \text{ in } \Omega _\textrm{mat} \\ 2 &{} \varvec{x} \text{ in } \Omega _\textrm{inc} \\ \end{array}\right. } , \end{aligned}$$
(27)

where \(\Omega _\textrm{mat}\) denotes the domain of the matrix, \(\Omega _\textrm{inc}\) the domain of the inclusions and \(\Omega _\textrm{void}\) the void domain (Fig. 10a). In the first step, this grayscale function needs to be separated into two grayscale functions, \(g_A\) and \(g_B\). The first grayscale function

$$\begin{aligned} g_A(\varvec{x}) = {\left\{ \begin{array}{ll} 0 &{} \varvec{x} \text{ in } \Omega _\textrm{void} \\ 1 &{} \varvec{x} \text{ in } \Omega _\textrm{mat} \cup \Omega _\textrm{inc} \\ \end{array}\right. } \end{aligned}$$
(28)

is used to distinguish between the physical domain \(\Omega _\textrm{phys} = \Omega _\textrm{mat} \cup \Omega _\textrm{inc}\) and the fictitious domain \(\Omega _\textrm{fict} = \Omega _\textrm{void}\) (Fig. 10b). The second grayscale function

$$\begin{aligned} g_B(\varvec{x}) = {\left\{ \begin{array}{ll} 0 &{} \varvec{x} \text{ in } \Omega _\textrm{void} \cup \Omega _\textrm{mat} \\ 1 &{} \varvec{x} \text{ in } \Omega _\textrm{inc} \\ \end{array}\right. } \end{aligned}$$
(29)

is needed to distinguish between the different materials, i.e. the domains \(\Omega _\textrm{mat}\) and \(\Omega _\textrm{inc}\) (Fig. 10c). The separation procedure of g into the two functions \(g_A\) and \(g_B\) can be implemented easily within any numerical code; it is not necessary to generate two additional image files. Finally, after the separation process, the standard L\(^2\)-projection is applied to each of the two grayscale functions \(g_A\) and \(g_B\), resulting in two separated level-set functions

$$\begin{aligned} \phi _A= & {} \mathcal {L}_2 \{ g_A \} \end{aligned}$$
(30)
$$\begin{aligned} \phi _B= & {} \mathcal {L}_2 \{ g_B \} . \end{aligned}$$
(31)

Here, \(\mathcal {L}_2\) denotes the global L\(^2\)-projection operator, which projects the input function g to the smooth level-set function \(\phi \), i.e., \(\phi = \mathcal {L}_2 \{ g \}\).

In this example, the 2D image in Eq. (27) consists of \(200 \times 200\) voxels. The L\(^2\)-projection is utilized on a Cartesian grid with \(10 \times 10\) finite cells and \(p=8\). It can be observed, that the computed level-set functions \(\phi _A\) and \(\phi _B\) approximate the grayscale functions \(g_A\) and \(g_B\) very well (Figs. 11a, b), thus \(\phi _A\) and \(\phi _B\) can smoothly represent the input grayscale functions (Figs. 11c, d). Furthermore, a good agreement between the smooth level-set functions and the input grayscale functions is also achieved in terms of the isocontour (Figs. 11e, f). In FCM simulations, \(\phi _A\) is used for the geometry description and \(\phi _B\) for the material interfaces. Furthermore, if enrichment is applied, the enrichment function F is constructed from \(\phi _B\) utilizing Eq. (9). In this work, all simulations were carried out using the in-house FCM code AdhoC++ [25].

3 Benchmark problem: cube with spherical inclusion

In the following example, a spherical inclusion under uniaxial tension is investigated. The inclusion has the shape of a sphere with a radius of a and is embedded in an infinite domain. Linear elastic material properties are assumed, where the spherical inclusion has a Young’s modulus of \(E_\textrm{inc}\) and a Poisson’s ratio of \(\nu _\textrm{inc}\), while the surrounding matrix has a Young’s modulus of \(E_\textrm{mat}\) and a Poisson’s ratio of \(\nu _\textrm{mat}\). In order to model this problem, a finite domain \(\Omega = \left[ -\frac{L}{2}, \, \frac{L}{2}\right] ^3\) is considered, where a traction of \(\overline{t}\) in the z-direction is applied to the top and bottom surfaces (Fig. 12a). However, this leads to a modeling error, that depends on the size of the box and only vanishes for an infinite large box. Therefore, in order to model this problem exactly, the analytical displacements are prescribed on the boundary of the domain \(\Gamma _D = \partial \Omega \) instead of applying tractions (Fig. 12b). The analytical displacement field \(\overline{\varvec{u}}\) is given in the Appendix A. The domain boundary \(\Gamma _D = \bigcup \nolimits _{i = 1}^{6} \Gamma _i\) consists of the six surfaces \(\Gamma _1, \, \Gamma _2, \, \ldots , \, \Gamma _6\), on which \(\overline{\varvec{u}}\) is prescribed.

Fig. 12
figure 12

Cube with spherical inclusion under uniaxial tension. a Setup and b boundary conditions

The analytical deformation field is displayed in Fig. 13. It describes the stretching of the cube under the presence of the spherical inclusion inside the matrix. Since the inclusion is stiffer than the matrix, the displacements exhibit a kink at the material interface. This leads to discontinuous strains and stresses, posing a challenge for immersed methods such as the FCM with regard to capturing those effects accurately.

Fig. 13
figure 13

Deformation of the spherical inclusion problem. Only half of the domain (Fig. 15b) is shown

In order to simulate this problem properly, the FCM with local enrichment (denoted as "FCM-Enrichment") is employed. For comparison purposes, the standard FCM (denoted as "FCM") is utilized as well. The sphere is defined implicitly by the level-set function

$$\begin{aligned} \phi (x,y,z) = x^2 + y^2 + z^2 - a^2 . \end{aligned}$$
(32)
Fig. 14
figure 14

Different meshes with a \(2 \times 2 \times 2\), b \(5 \times 5 \times 5\), and c \(8 \times 8 \times 8\) finite cells. Only half of the domain (Fig. 15b) is shown

Table 1 Parameters for the spherical inclusion problem

The parameters used in this benchmark are given in Table 1, resulting in the following values for the constants in Eqs. (A36)–(A40) in the Appendix

$$\begin{aligned} A= & {} +0.0013764705882353 \end{aligned}$$
(33)
$$\begin{aligned} B= & {} -0.0000509516129032 \end{aligned}$$
(34)
$$\begin{aligned} C= & {} -0.0011322580645161 \end{aligned}$$
(35)
$$\begin{aligned} F= & {} +0.1467741935483871 \end{aligned}$$
(36)
$$\begin{aligned} H= & {} +0.0823529411764706 . \end{aligned}$$
(37)

and \(q_C = 9.5\). Moreover, the Lamé parameters are determined as \(\lambda ^\textrm{mat} = 0.576923\), \(\lambda ^\textrm{inc} = 1.15385\), \(\mu ^\textrm{mat} = 0.384615\), \(\mu ^\textrm{inc} = 0.769231\).

For this problem, different meshes of \(n_x \times n_y \times n_z = N \times N \times N\) with \(N = 1, \, 2, \, \ldots , \, 8\) are used, where the polynomial order is increased as \(p = 1, \, 2, \, \ldots , \, 5\). For the FCM-Enrichment, the cell-wise approach is utilized to enrich finite cells cut by the material interfaces, while keeping the order of the enriched part the same as for the smooth part (\(p_e = p\)). For this problem, the local enrichment increases the number of DOFs for the fine meshes (e.g. \(N=8\)) by around 30%. Since the level-set function in Eq. (32) is a polynomial, the interpolation can be performed exactly, employing an interpolation order of \(p_F = 2\) for the enrichment function. For the numerical integration, an octree with a tree-depth of \(\mathcal {R}= 4\) is used in order to capture the discontinuous integrands. The standard FCM utilizes \(n = (p+1)^3\) integration points per sub-cell. For the FCM-Enrichment, the effective order is determined as \(p_\textrm{eff} = p + 2\), so that \(n = (p_\textrm{eff}+1)^3 = (p + 3)^3\) integration points per sub-cell are employed in the cut cells. The Dirichlet boundary conditions in Fig. 12b are enforced weakly, utilizing the penalty method with a penalty factor of \(\beta = 10^{10}\).

Fig. 15
figure 15

a Cutline and b half domain (\(y \ge 0\)) used for post-processing

In order to study the FCM as well as the FCM-Enrichment, a convergence study is performed. To this end, the relative error in energy norm

$$\begin{aligned} e_{r} = \sqrt{\bigg | \frac{\mathcal {U} - \mathcal {U}^\textrm{ref}}{\mathcal {U}^\textrm{ref}} \bigg |} \cdot 100 \, \% \end{aligned}$$
(38)

is plotted against the number of DOFs (Fig. 16). Here, the reference strain energy \(\mathcal {U}^\textrm{ref} = 0.494040525689747\) is obtained from an overkill solution. It is observed that the FCM-Enrichment serves to achieve a lower relative error. The choice of polynomial order has significant impact when aiming to reduce the relative error, whereas mesh fineness has a subtle impact on convergence behavior.

Fig. 16
figure 16

Convergence study of the energy norm

Fig. 17
figure 17

a Displacement \(u_z\), b strain \(\varepsilon _{zz}\), c von Mises stress \(\sigma _\textrm{vM}\), and d relative error in the von Mises stress \(e_{r,\sigma _\textrm{vM}}\) along radial cutline

Next, local quantities such as the axial displacement \(u_z\), axial strain \(\varepsilon _{zz}\) and the von Mises stress \(\sigma _\textrm{vM}\) are evaluated along the radial cutline \(-\frac{L}{2} \le x, \, y, \, z \le \frac{L}{2}\) (Fig. 15a), utilizing the FCM as well as the FCM-Enrichment on a mesh with \(8 \times 8 \times 8\) finite cells and \(p=5\). Both methods are compared to the analytical solution. The results are displayed in Fig. 17. At first glance, it seems that there is no difference between the FCM and the FCM-Enrichment, as both methods are able to capture the displacements very accurately (Fig. 17a). However, when investigating derivatives such as strains and stresses, it is observed that the FCM without local enrichment exhibits huge oscillations around the material interfaces and therefore, is not able to capture the strains and stresses properly. By enriching the FCM, however, the accuracy is strongly improved and the strains and stresses are captured very precisely (Fig. 17b, c). This also holds for all three displacement components (\(u_x, \, u_y, \, u_z\)) as well as for all six strain (\(\varepsilon _{xx}, \, \varepsilon _{yy}, \, \varepsilon _{zz}, \, \varepsilon _{xy}, \, \varepsilon _{xz}, \, \varepsilon _{yz}\)) and stress components (\(\sigma _{xx}, \, \sigma _{yy}, \, \sigma _{zz}, \, \sigma _{xy}, \, \sigma _{xz}, \, \sigma _{yz}\)) (Fig. 18).

Fig. 18
figure 18

All components of a displacements, b strains, and c stresses along radial cutline

Fig. 19
figure 19

Convergence study of the von Mises stress \(\sigma _\textrm{vM}\) along the radial cutline

In order to study the accuracy in more detail, the convergence of the Mises stress is investigated. To this end, the relative error in von Mises stress

$$\begin{aligned} e_{r, \sigma _\textrm{vM}} = \bigg | \frac{\sigma _\textrm{vM} - \sigma _\textrm{vM}^\textrm{ref}}{\sigma _\textrm{vM}^\textrm{ref}} \bigg | \cdot 100 \, \% \, \end{aligned}$$
(39)

is utilized and evaluated point-wise along the radial cutline (Fig. 15a). Here, the reference von Mises stress \(\sigma _\textrm{vM}^\textrm{ref}\) is obtained from the analytical stresses. Figure 17d shows the relative error in \(\sigma _\textrm{vM}\) for the very fine mesh (\(8 \times 8 \times 8\) finite cells) and high-order (\(p=5\)). It is observed that the error is usually three to four decades lower if the enrichment is applied. Even around the material interfaces (\(r = \pm a\)), the error is still two decades lower. Different orders of \(p = 1, \, 2, \, \ldots , \, 5\) are investigated in the following, and the results are shown in Fig. 19. It is observed that, for the FCM without enrichment, the error is most pronounced at the material interfaces. Even if the order is increased, the error does not vanish at the interfaces. A higher order even leads to large oscillations. On the other hand, the FCM with local enrichment leads to accurate results. Here, increasing the order causes a significant reduction in the error, even around the material interfaces.

Fig. 20
figure 20

Visualization of the a displacement \(u_z\), b strain \(\varepsilon _{zz}\), and c von Mises stress \(\sigma _\textrm{vM}\) on the half domain (Fig. 15b). For FCM and FCM-Enrichment, a mesh with \(5 \times 5 \times 5\) finite cells and \(p=5\) is used

Finally, the axial displacement \(u_z\), axial strain \(\varepsilon _{zz}\), and the von Mises stress \(\sigma _\textrm{vM}\) are visualized in Fig. 20. The FCM and the FCM-Enrichment are employed here, and both methods are compared to the reference solution. For both numerical methods, a mesh of \(5 \times 5 \times 5\) finite cells and \(p=5\) is utilized. When comparing the displacements, it seems that both methods can capture the solution very accurately (Fig. 20a). However, when looking at the strains and stresses, it is observed that the FCM without enrichment suffers from high oscillations due to the material interfaces and thus, is not sufficient anymore. On the other hand, the FCM-Enrichment improves the accuracy considerably and is in good agreement with the reference solution (Fig. 20b, c). The FCM-Enrichment can therefore capture the strains and stresses very precisely.

4 Numerical example of cemented granular materials (CGM)

4.1 Setup of the problem

Table 2 Parameters used for the CGM benchmark problem

In this example, a CGM based on a real morphology is studied. The morphology of the microstructure, composed of cement matrix and grain particles, is derived by X-ray CT imaging on spherical glass beads (Fig. 21a). The 3D image consists of \(75 \times 75 \times 135\) voxels, where each voxel has a size of \(s_\textrm{vox} = 13 \, \mu \)m, resulting in a diameter of \(d \approx 1\) mm and a height of \(h \approx 1.8\) mm. The original setup contains glass beads inside a cylinder. From this, a CGM is numerically manufactured as follows: The glass beads are treated as grain particles, while the intermediate air is treated as cement matrix. Linear elastic material properties are assumed for the microstructure, where the cement matrix has a Young’s modulus of \(E_\textrm{cem} = 30\) MPa and a Poisson’s ratio of \(\nu _\textrm{cem} = 0.2\), while the grain particles have a Young’s modulus of \(E_\textrm{grains} = 4\) GPa and a Poisson’s ratio of \(\nu _\textrm{grains} = 0.01\). Here, the grain particles are \(E_\textrm{grains} / E_\textrm{cem} = 400/3 \approx 133\) times stiffer than the cement matrix. Uniaxial compression is applied by prescribing a displacement of \(\overline{u}_z = -1 \, \mu m\) in z-direction on the top surface, whereas the axial displacement at the bottom surface is fixed (Fig. 21b). In addition, to avoid rigid body motion and thus account for the radial expansion and axial compression of the cylinder sample, the displacements in tangential direction are fixed at four points. For the sake of clearness, the parameters are listed in Table 2.

Fig. 21
figure 21

CGM benchmark under uniaxial compression. a Geometry and b boundary conditions

Fig. 22
figure 22

a Cutline and b half domain used for post-processing

4.2 Proposed FCM versions

Due to the complexity of the problem–involving irregular geometries described by 3D images as well as the weak discontinuities caused by the material interfaces–the FCM is employed together with the proposed approaches, as introduced earlier in Sect. 2. This results in three different versions of the FCM.

  1. 1.

    Voxel-FCM: The FCM is directly applied to the voxel model without any L\(^2\)-projection of the geometry (Step \(\textcircled {1}\) in Fig. 6). Furthermore, no enrichment is deployed.

  2. 2.

    FCM: The FCM with L\(^2\)-projection is utilized, simulating a smooth geometry (Step \(\textcircled {2}\) in Fig. 6). However, no enrichment is applied yet.

  3. 3.

    FCM-Enrichment: The FCM is used together with L\(^2\)-projection and local enrichment.

For all FCM versions, Cartesian meshes with equal-sized finite cells are utilized, where \(\textrm{NVC}^3\) voxels are grouped together inside each finite cell. \(\mathrm NVC\) denotes the number of voxels per finite cell in every direction [40], indicating how coarse or fine a mesh is. In this study, different meshes with \(\textrm{NVC} \in \{ 15, \, 5, \, 3\}\) are investigated, resulting in \(n_x \times n_y \times n_z \in \{ 5 \times 5 \times 9, \, 15 \times 15 \times 27, \, 25 \times 25 \times 45\}\) finite cells (Fig. 23). In order to reduce the computational effort, void cells–i.e. cells that do not contain any material–are disregarded. For the fictitious domain, \(\alpha _\textrm{fict} = 10^{-10}\) is used, resulting in a Young’s modulus of \(E_\textrm{void} = \alpha _\textrm{fict} \, E_\textrm{cem} = 3 \cdot 10^{-3}\) for the void. The penalty method with a penalty factor of \(\beta = 10^{20}\) is applied to prescribe the Dirichlet boundary conditions. The polynomial order p of the FCM is increased as \(p = 1, \, \ldots , \, 4\). A polynomial order of \(p^\textrm{LS}=2\) is used for the L\(^2\)-projection, while the mesh is the same as the one used for the FCM (\(\textrm{NVC}^\textrm{LS} = \textrm{NVC}\)). Enrichment is applied using the cell-wise approach, choosing the same polynomial order for the smooth and enriched part of the solution (\(p_e = p\)). In addition, the interpolation order of the enrichment function is the same as the order of the L\(^2\)-projection (\(p_F = p^\textrm{LS}\)). This leads to an effective order of \(p_\textrm{eff} = p + 2\). For the numerical integration, an octree with a tree-depth of \(\mathcal {R} = 3\) is utilized. Here, Gauss quadrature is applied with \(n = (p + 3)^3\) integration points per sub-cell for the FCM-Enrichment and \(n = (p + 1)^3\) for the FCM versions without enrichment.

Fig. 23
figure 23

Meshes utilized for all FCM versions. a \(\textrm{NVC} = 15\), b \(\textrm{NVC} = 5\), and c \(\textrm{NVC} = 3\)

In order to study the accuracy of the different versions of the FCM, a convergence study is performed (Fig. 24), where the strain energy is plotted over the number of DOFs. Up to \(n_\textrm{dof} \approx 10^{5}\), the FCM-Enrichment yields a slightly faster convergence than the other versions, while the results for larger DOFs are similar for the different versions of the FCM. The convergence study also reveals that the number of finite cells or \(\mathrm NVC\) has a huge influence on the results, which is why a fine mesh is needed to obtain good results.

4.3 Verification against FEM

Finally, the different versions of the FCM are verified against the FEM. The mesoscale FEM approach is based on the image-adapted meshing technique (IAMT) [56]. In this approach, a boundary-conforming mesh of single material four-noded tetrahedral elements is generated for each phase of the (segmented) CT image, which can then be imported into any finite element code [8]. Here, the commercial finite element code Abaqus [83] is deployed to read the mesh and solve the mechanical problem. This approach was further extended, e.g. by utilizing quadratic tetrahedral elements [57] or smooth geometry descriptions by level-set functions based on the signed distance field (SDF) [55].

Fig. 24
figure 24

Convergence study of the strain energy

In this study, the different versions of the FCM are compared with the FEM in terms of local quantities. For the mesoscale FEM approach, a boundary-conforming mesh is utilized (Fig. 25), resulting in 2689403 elements. For all FCM versions, a structured mesh with \(\textrm{NVC} = 5\) and a polynomial order of \(p=3\) is deployed (Fig. 23b), resulting in 5427 finite cells. Table 3 lists the number of elements and cells for all meshes of the FCM versions as well as the FEM.

Fig. 25
figure 25

Mesh utilized for the FEM

Fig. 26
figure 26

Comparison of the a axial displacement \(u_z\) and b von Mises stress \(\sigma _\textrm{vM}\) between the different FCM versions and the FEM. All FCM versions are utilized with \(\textrm{NVC} = 5\) and \(p=3\). Visualization of \(u_z\) on the half domain (Fig. 22b)

Fig. 27
figure 27

Comparison of the von Mises stress \(\sigma _\textrm{vM}\) between the different FCM versions and the FEM along the axial cutline (Fig. 22a)

The axial displacement field \(u_z\) evaluated on the half domain (Fig. 22b) using the different FCM versions as well as the FEM is shown in Fig. 26a. It is observed that all FCM versions provide similar results and that there is a close match with the FEM. It is worth mentioning that, based on these results, the grain particles can be visually distinguished from the matrix. Indicatively, the grains can be identified, where \(u_z\) barely changes, while deviations can be observed at the interfaces between the grains and the cement matrix. Still, there are slight differences in \(u_z\) between all FCM versions and the FEM inside the large grain.

Table 3 Number of finite elements and cells for the meshes of the different methods

The von Mises stress \(\sigma _\textrm{vM}\) is evaluated on the half domain (Fig. 22b), for which the results are displayed in Fig. 26b. The results reveal that high stresses occur inside the grains, at the contact points between two very close particles. These locally concentrated stress values then decay with increasing distance from the contact points. Although the stresses obtained from the FCM versions are similar to the FEM, the peak stresses are slightly overestimated by the FCM versions as compared to the FEM. When comparing the different FCM versions, oscillations and undesired stresses at the material interfaces are observed for the "Voxel-FCM". One reason for this is the discontinuous geometry description provided by the voxel model. Another reason are the weak discontinuities caused by the material interfaces. In order to tackle the first issue, the L\(^2\)-projection is utilized in order to obtain a smooth geometry description. By doing so, the stresses resulting from the "FCM" are smoother as compared to the "Voxel-FCM". However, there are still some stress oscillations present. This remaining issue is solved by adding enrichment to the FCM. Consequently, the "FCM-Enrichment" further improves the stresses and ensures that the oscillations vanish.

Furthermore, a quantitative study of the von Mises stress along the axial cutline (Fig. 22a) is carried out. The results shown in Fig. 27 confirm the findings from the previous study. Again, all FCM versions are able to capture the von Mises stress very well, exhibiting the same behavior as the FEM. However, higher stress values are predicted by the FCM versions as compared to the FEM. Similar as before, the oscillations at the material interfaces obtained by the "Voxel-FCM" are reduced by the L\(^2\)-projection and further decreased by local enrichment. These studies demonstrate that the FCM, extended with L\(^2\)-projection and local enrichment, is able to simulate heterogeneous microstructures with complex geometries like CGM.

5 Axisymmetric simulations of cemented granular materials (CGM)

5.1 Problem setup

Finally, the proposed FCM approaches are utilized to investigate the mechanical behavior of a real CGM sample under uniaxial compression. The sample has a diameter of \(d = 2 R \approx 10\) mm, a height of \(h \approx 18\) mm and is composed of grain particles, embedded in a cemented matrix (Fig. 28a). The morphology of the sample is obtained from X-ray CT, and filtering is applied to the CT scan to remove image artefacts [56, 58]. The resulting 3D image is finally segmented via thresholding (Fig. 28b). In order to accelerate the computations, a 2D slice of the CT scan is considered. It consists of \(375 \times 1350\) voxels, with a voxel size of \(s_\textrm{vox} = 13 \, \mu \)m (Fig. 28c). The problem is modeled assuming an axisymmetric formulation [66], which represents the natural behavior of the 3D cylinder under compression, e.g., the axial compression and radial expansion. Although the original 3D image is not homogeneous, the 2D axisymmetry still provides reasonable results and thus, it is very well suited for this problem.

Fig. 28
figure 28

CGM sample under uniaxial compression. a Real cylindrical sample, b 3D image and c 2D slice

The boundary conditions are defined as follows: The left (\(r = 0\)) and bottom side (\(z = 0\)) are fixed in normal direction, and a prescribed displacement of \(\overline{u}_z = -1 \, \mu \)m in axial direction is applied to the top side (\(z = h\)). The prescribed axial strain is then given as

$$\begin{aligned} \overline{\varepsilon }_{zz} = \frac{\overline{u}_z}{h} \approx -0.0056 \, \% \end{aligned}$$
(40)

and thus, \(\overline{\varepsilon }_{zz} \ll 1\). Due to this reason, the material properties are considered to be linear elastic. For the cement matrix, the Young’s modulus is assumed as \(E_\textrm{cem} = 30\) MPa and the Poisson’s ratio as \(\nu _\textrm{cem} = 0.2\). For the grain particles, a Young’s modulus of \(E_\textrm{grains} = 1000 \, E_\textrm{cem} = 30\) GPa and a Poisson’s ratio of \(\nu _\textrm{grains} = 0.01\) are assumed. All parameters are listed in Table 4.

Fig. 29
figure 29

a Geometry with boundary conditions and b cutline for post-processing

Table 4 Parameters used for the CGM problem

5.2 Displacement and stress analysis utilizing the FCM versions

The FCM versions proposed in Sect. 4.2 are deployed for the numerical simulation of the problem. A Cartesian mesh with \(n_r \times n_z = 75 \times 270\) finite cells is utilized, corresponding to \(\textrm{NVC} = 5\) (Fig. 30). The structure also contains some voids, which are treated as a fictitious domain with \(\alpha _\textrm{fict} = 10^{-6}\), leading to a Young’s modulus of \(E_\textrm{void} = \alpha _\textrm{fict} \, E_\textrm{cem} = 30\) Pa. Fictitious cells are disregarded in order to further reduce the computational costs. Dirichlet boundary conditions are enforced by the penalty method, with a factor of \(\beta = 10^{10} \, E_\textrm{cem} = 3 \cdot 10^{17}\). For the FCM versions, a polynomial order of \(p=8\) is used. Smooth geometry representations are obtained by the L\(^2\)-projection, which is applied to the FCM mesh, employing a polynomial order of \(p^\textrm{LS} = 4\). For the local enrichment, the cell-wise approach comes into play, keeping both smooth and enriched orders the same (\(p_e = p\)). The enrichment function is constructed using the same interpolation order as for the L\(^2\)-projection (\(p_F = p^\textrm{LS}\)), resulting in an effective order of \(p_\textrm{eff} = p + p_F = p + 4\). A quadtree with a tree-depth of \(\mathcal {R} = 3\) is employed for the numerical integration, resulting in \(n = (p + 5)^2\) integration points per sub-cell if enrichment is applied–and \(n = (p + 1)^2\) otherwise.

Fig. 30
figure 30

Mesh comparison of the FCM and FEM. The meshes are displayed on a subset (yellow color) of the whole domain

Furthermore, simulations are performed following the mesoscale FEM approach based on IAMT [56], as described in Sect. 4.3. This results in a very fine mesh with 983445 linear triangular elements (Fig. 30). As compared to the FEM, the Cartesian grid utilized in the FCM versions is much coarser, consisting of 20020 cells. The number of elements and cells for both methods are listed in Table 5.

Table 5 Number of finite elements and cells for the FCM and FEM meshes

First, the FCM versions are qualitatively compared against the FEM by investigating the displacements and stresses on the 2D slice. The radial and axial displacements (\(u_r\) and \(u_z\)) resulting from the FCM versions match the FEM results very well (Figs. 31a, b). When studying the von Mises stress \(\sigma _\textrm{vM}\), the results of the different FCM versions seem to be very similar to the FEM results (Fig. 32). However, if the geometry is not smoothed (by the L\(^2\)-projection) and no enrichment of the shape functions is applied, large oscillations in the stresses arise at the material interfaces, as shown by the "Voxel-FCM". The L\(^2\)-projection helps to overcome the staircase geometry and thus, reduce the oscillations, as shown by the "FCM". Nevertheless, the smooth shape functions of the FCM Ansatz are unable to capture the weak discontinuities of the solution at the material interfaces. This issue is solved by enriching the FCM Ansatz. As shown by the "FCM-Enrichment", the stress oscillations at the material interfaces are further reduced, leading to improved results.

Fig. 31
figure 31

Comparison of the a radial displacement \(u_r\) and b axial displacement \(u_z\) between the different FCM versions and the FEM. All FCM versions are utilized with \(\textrm{NVC} = 5\) and \(p=8\)

Fig. 32
figure 32

Comparison of the von Mises stress \(\sigma _\textrm{vM}\) between the different FCM versions and the FEM. All FCM versions are utilized with \(\textrm{NVC} = 5\) and \(p=8\)

Fig. 33
figure 33

Comparison of the a radial displacement \(u_r\) and b axial displacement \(u_z\) between the different FCM versions and the FEM along the axial cutline (Fig. 29b)

Moreover, a quantitative comparison between the FCM versions and the FEM is carried out by evaluating the displacements on the axial cutline (Fig. 29b). Similar as for the previous study, a good agreement between the FCM versions and the FEM is observed (Fig. 33). Among the different FCM versions, the "FCM-Enrichment" provides the most accurate results as compared to the FEM.

Although both approaches - namely FEM and FCM - discretize the problem utilizing continuum elements/cells, they show potential to predict failure mechanisms such as matrix cracking and grain crushing [86, 87], which are usually captured by particle-based approaches such as the discrete element method (DEM) [17, 48].

6 Conclusion

In this work, several extensions of the FCM for the simulation of image-derived heterogeneous microstructures are presented. The simulation of such problems remains a challenging task due to the following issues: Firstly, the staircase geometry description provided by the 3D images results in non-smooth solutions and singularities in the stresses. Secondly, the sudden change in the material parameters causes weak discontinuities at the material interfaces, involving jumps in the strains and stresses. Thus, the standard FCM is not sufficient to address these issues.

In order to overcome the first problem, the L\(^2\)-projection was applied. This approach derives a smooth geometry description from 3D images acquired through X-ray CT scans. This leads to a smooth level-set function, which approximates the 3D image by high-order hierarchical shape functions. In particular, the isocontour is captured precisely, even for low polynomial orders, ensuring that the geometry is preserved very well. Utilizing this approach within the FCM reduces the singularities in the stresses and provides smooth results.

The second problem was tackled by enriching the FCM. The special shape functions provided by the local enrichment are constructed from a level-set function and therefore, are able to capture the weak discontinuities at the material interfaces. The enrichment further reduces the oscillations of the stresses and improves the convergence behavior. The application of this approach on very complex geometries is straightforward, assuming that such a geometry can be described by a level-set function.

Both approaches, namely the L\(^2\)-projection and the local enrichment of the FCM, are combined when dealing with heterogeneous image-derived microstructures. This is the case for CGM, which consists of cement matrix as well as grain particles and also includes void. To this end, an extension of the L\(^2\)-projection was proposed, suited for this specific problem. The main idea of the extended L\(^2\)-projection is to split the 3D image into two sub-images and derive two individual level-set functions. In the context of CGM, the first level-set function describes the physical domain of the whole structure, while the second level-set function captures the material interfaces and is also used for the enrichment function. The global L\(^2\)-projection ensures C\(^0\)-continuity for the level-set functions, which also holds for the enriched part of the solution.

The proposed methods were studied on a simple benchmark. Furthermore, an example of CGM was investigated. To this end, three different versions of the FCM were presented. First, the FCM defined directly on the voxel-model (denoted as "Voxel-FCM"). Second, the FCM combined with L\(^2\)-projection (denoted as "FCM"), accounting for a smooth geometry. And lastly, local enrichment is added to the smooth FCM (denoted as "FCM-Enrichment"), capturing the weak discontinuities at the material interfaces. To begin with, the FCM versions were studied. Finally, these FCM versions were verified against the FEM. The proposed approaches of the FCM were successfully applied to complex image-derived multi-materials such as CGM, which are important for geotechnical applications. However, the presented extensions of the FCM can also be utilized in other research fields (e.g. hybrid metal foams or bones / vertebrae).

In future work the "FCM-Enrichment" will be utilized to further investigate CGM, with the aim to get more insight into their micro-mechanical behaviour. Here, the numerical homogenization [40] will be applied on CGM, in order to compute their effective material properties. The "FCM-Enrichment" helps to compute the local strains and stresses accurately, which is required for precise computations within the homogenization procedure and the consideration of failure. So far, only linear elasticity has been considered. It is known that at larger deformations, fracture will occur in microstructures such as CGM. Therefore, in order to simulate crack initiation and propagation inside CGM, the "FCM-Enrichment" will be extended by phase-field modeling [18]. Here, the accurate strains and stresses provided by the "FCM-Enrichment" are necessary in order to predict the crack propagation correctly. Furthermore, interfacial fracture plays an important role in CGM, where the cracks propagate around the material interfaces. The proposed approach will be extended in order to model this effect.