1 Introduction

The motivation of fictitious domain or immersed boundary methods, such as finite cell method (FCM) [1, 2], cutFEM [3,4,5] or cutIGA [6], lies in their ability to handle arbitrary structures. This aim is usually achieved by creating simple meshes based on Cartesian grids while the geometry is described using an indicator function. The FCM has already been further developed to various fields of application. Thermoelastic [7], geometrically nonlinear [8, 9] and elastoplastic [10,11,12] analyses have been performed on different numerical examples. Moreover, the FCM has successfully been applied to biomechanics [13,14,15,16], vibroacoustics [17] as well as in implicit [18] and explicit dynamics [19].

Since the mesh does not conform to the physical boundaries, some elements/cells can be badly broken, i.e., containing only a small amount of material. This can lead to ill-conditioning of the global stiffness matrix. To this end, different stabilization techniques are available. One straightforward approach is the \(\alpha \)-method [1, 2], where a soft material is assumed in the fictitious domain. This is usually obtained by multiplying the material parameters such as the Youngs modulus by a small positive number \(\alpha _0\). This works well for linear as well as nonlinear material models as long as the strains remain small. However, it must be noted that the original problem is modified if \(\alpha _0\) is different from zero—leading to inaccuracies in the final solution.

Another way to stabilize the solution procedure of the large strain analysis is the eigenvalue stabilization (EVS) presented in [20] based on [21]. Thereby, the smallest nonzero eigenvalues and corresponding eigenvectors of the broken cell stiffness matrices are determined, because they are the main reason for the ill-conditioning of the tangent stiffness matrix. Then the eigenvectors are used to compute a stabilization term for the element stiffness matrix. The appealing property of this method is that the error induced in the stiffness matrix due to the stabilization part can be corrected by modifying the right-hand side (RHS) as well. Therefore, the physical system under consideration does not change.

Additionally, with regard to stabilizing the solution procedure, remeshing has successfully been applied to reach large deformation states [9, 22, 23]. This is achieved by creating a new mesh, once a critical deformation state is reached, to avoid the problem of heavily distorted and badly broken cells. In this context, there arises the additional task to transfer the deformation history to the new mesh. To this end, local radial basis functions (RBFs) are applied. This, however, requires the solution of many linear systems of equations. Therefore, it is of further interest whether other interpolation schemes such as the inverse distance weighting (IDW) could be applied to accelerate the data transfer.

In [20], the EVS has successfully been applied to linear and nonlinear FCM analyses including hyperelastic material. In the present work, we extend this framework to elastoplastic materials in connection with a remeshing procedure, along with different approaches for transferring the history variables between the different meshes during the remeshing procedure.

The rest of the paper is organized as follows: In Sect. 2, the basic formulation of the FCM for large strain analysis is provided as well as a brief summary of the elastoplastic material model. Section 3 details the remeshing procedure and explores the different methods used for data transfer. Section 4 focuses on preliminary investigations regarding the influence of the volume fraction on the conditioning of the stiffness matrix. Then, we discuss different numerical examples in Sect. 5 before ending with concluding remarks in Sect. 6.

2 Finite cell method

2.1 Basic formulation for nonlinear problems

The basic concept of the FCM is depicted in Fig. 1. The idea is that an arbitrary complex physical domain \(\Omega \) is embedded into a bigger domain of simple shape. This extended domain \(\Omega _{\textrm{e}}\) is discretized using simple Cartesian meshes. An indicator function \(\alpha ({\varvec{x}})\) is introduced to distinguish the physical from the fictitious domain. This is defined by

$$\begin{aligned} \alpha ({\varvec{x}}) = {\left\{ \begin{array}{ll} 1,&{}\quad \forall {\varvec{x}} \in \Omega \\ \alpha _0,&{}\quad \forall {\varvec{x}} \in \Omega _{\textrm{e}}{\setminus }\Omega \end{array}\right. } \end{aligned}$$
(1)

where \(\alpha _0\) is typically a small positive number. Please note, that, when choosing \(\alpha _0=0\), the exact geometry is recovered. The weak form reads

$$\begin{aligned} G_{\textrm{e}}^\alpha = \int _{\Omega _{\textrm{e}}} \alpha {\varvec{P}}\cdot \textrm{Grad}{\varvec{\eta }}~\textrm{d}\Omega - \int _{\Gamma _{\textrm{N}}} {{\varvec{\hat{t}}}}\cdot {\varvec{\eta }}~\textrm{d}\Gamma = 0 \end{aligned}$$
(2)

where \({\varvec{P}}\) is the first Piola–Kirchhoff stress tensor, \({\varvec{\hat{t}}}\) are the fractions applied on the boundary \(\Gamma _{\textrm{N}}\) and \({\varvec{\eta }}\) represents the test function. From Eq. (2), it can be seen that if \(\alpha _0=0\), the equation simplifies to

$$\begin{aligned} G_{\textrm{e}}^\alpha = \int _{\Omega } {\varvec{P}}\cdot \textrm{Grad}{\varvec{\eta }}~\textrm{d}\Omega - \int _{\Gamma _{\textrm{N}}} {{\varvec{\hat{t}}}}\cdot {\varvec{\eta }}~\textrm{d}\Gamma = 0 \end{aligned}$$
(3)

which indicates that the governing weak form is defined on the physical domain of the problem. For the purpose of stabilization, we assign a small positive value \(\alpha _0\), see also Section 4.1. In order to prepare the application of the Newton–Raphson method, we first linearize the weak form (2). Therefore, we compute the directional derivative w.r.t. a displacement increment \(\Delta {\varvec{d}}\) around displacement state \({\varvec{\bar{d}}}\)

$$\begin{aligned} \textrm{D}G_{\textrm{e}}^\alpha ({\varvec{\bar{d}}},{\varvec{\eta }}) \cdot \Delta {{\varvec{d}}} = \int _{\Omega _{\textrm{e}}}\alpha {\varvec{A}}({\varvec{\bar{d}}}) \textrm{Grad}\Delta {\varvec{d}}\cdot \textrm{Grad}{\varvec{\eta }}~\textrm{d}\Omega \end{aligned}$$
(4)

where

$$\begin{aligned} {\varvec{A}}({\varvec{\bar{d}}}) = \dfrac{\partial {\varvec{P}}}{\partial {\varvec{F}}}\bigg |_{{\varvec{d}}={\varvec{\bar{d}}}}. \end{aligned}$$
(5)
Fig. 1
figure 1

Visualization of the principle idea of the finite cell method. The physical domain \(\Omega \) is embedded into a fictitious domain, such that the extended domain \(\Omega _{\textrm{e}}\) can simply be meshed using a Cartesian grid. The indicator function is used to distinguish the void domain (\(\alpha =0\)) from the physical domain (\(\alpha =1\)). In contrast to the FEM, the mesh is not boundary conforming

This leads to the linearized weak form

$$\begin{aligned} \int _{\Omega _{\textrm{e}}}\alpha {\varvec{A}}({\varvec{\bar{d}}}) \textrm{Grad}\Delta {\varvec{d}}\cdot \textrm{Grad}{\varvec{\eta }}~\textrm{d}\Omega&=\int _{\Gamma _\textrm{N}}{{\varvec{\hat{t}}}}\cdot {\varvec{\eta }}~\textrm{d}\Gamma - \int _{\Omega _{\textrm{e}}}\alpha {\varvec{P}}\cdot \textrm{Grad}{\varvec{\eta }}~\textrm{d}\Omega . \end{aligned}$$
(6)

Next, the weak form is discretized using finite cells, as illustrated in Fig. 1. Thereby, the displacement field \({\varvec{d}}\) and the test function \({\varvec{\eta }}\) are discretized with the same set of hierarchic shape functions, see [2, 24]. Within the incremental/iterative solution procedure, the Newton–Raphson method is applied in every load step k, resulting in

$$\begin{aligned} {\varvec{K}}_{\textrm{T}}^i\big ({\varvec{d}}_k^i\big ) \Delta {\varvec{d}}^{i+1} = - {\varvec{G}}^i\big ({\varvec{d}}_k^i\big ), \end{aligned}$$
(7)

where \({\varvec{K}}_{\textrm{T}}^i({\varvec{d}}_k^i)\) represents the tangent stiffness matrix and \({\varvec{G}}^i({\varvec{d}}_k^i)\) defines the out-of-balance vector at iteration i. Having solved the system of equations, the total displacement is updated by

$$\begin{aligned} {\varvec{d}}_k^{i+1} = {\varvec{d}}_k^i + \Delta {\varvec{d}}^{i+1} \end{aligned}$$
(8)

until the solution converges within a specified tolerance. During this procedure each cell contributes to the global stiffness matrix and the out-of-balance vector. Therefore, they are assembled from the individual contributions of each cell, i.e.,

$$\begin{aligned} {\varvec{K}}_{\textrm{T}}^i=\mathop {\mathrm {\textsf{A} }}\limits _{c=1}^{N_c} {\varvec{k}}^{c,i},~~~~{\varvec{G}}^i =\mathop {\mathrm {\textsf{A} }}\limits _{c=1}^{N_c} {\varvec{g}}^{c,i}. \end{aligned}$$
(9)

where \(N_c\) is the total number of cells and \({\varvec{k}}^c\) and \({\varvec{g}}^i\) define the cell stiffness and out-of-balance vector, respectively. A penalty method is applied to enforce Dirichlet boundary conditions on the immersed interface, see [7].

Due to the immersed interface within the broken cells, a discontinuity is introduced. Thus, standard Gaussian quadrature cannot be used for accurate numerical integration of those cells. Therefore, special integration schemes are required. One approach is the spacetree method [1]. In order to address the discontinuity, this method subdivides every broken cell until a certain level \(k_{ST}\) is reached. However, this method introduces a lot of additional integration points. If the stiffness matrix has to be integrated multiple times, this method is not efficient. Therefore, in the present work, we apply the non-negative moment fitting quadrature (NNMF) for the integration of the cut cells, as proposed in [20, 25]. This method computes the weights of the integration points individually for each broken cell. This reduces the number of integration points compared to spacetree methods. Therefore, this method is especially appealing for applications, where integrals have to be evaluated multiple times, such as required during elastoplastic simulations.

2.2 Finite \(J_2\) elastoplasticity

In the present work, we apply the finite \(J_2\) plasticity model, which is based on the von Mises \(J_2\) flow theory of plasticity. This model assumes only the deviatoric part of the stress tensor is related to the plastic deformation. This is a widely used model, so the interested reader may be referred to [26, 27].

We use a multiplicative split of the deformation gradient \({\varvec{F}}\) into a plastic part \({\varvec{F}}_{\textrm{p}}\) and an elastic part \({\varvec{F}}_{\textrm{e}}\). Based on this split, the elastic part can be recovered by

$$\begin{aligned} {\varvec{F}}_{\textrm{e}} = {\varvec{F}}{\varvec{F}}_{\textrm{p}}^{-1}, \end{aligned}$$
(10)

and the elastic right and left Cauchy–Green tensors \({\varvec{b}}_{\textrm{e}}\) and \({\varvec{C}}_{\textrm{e}}\), respectively, are defined by

$$\begin{aligned} {\varvec{C}}_{\textrm{e}}&= {\varvec{F}}_{\textrm{p}}^{-\top }{\varvec{C}}{\varvec{F}}_{\textrm{p}} \end{aligned}$$
(11)
$$\begin{aligned} {\varvec{b}}_{\textrm{e}}&= {\varvec{F}}{\varvec{C}}_{\textrm{p}}^{-1}{\varvec{F}}^{\top }, \; {\text { where }}\; {\varvec{C}}_{\textrm{p}} = {\varvec{F}}_{\textrm{p}}^{\top }{\varvec{F}}_{\textrm{p}}. \end{aligned}$$
(12)

For the elastic part, a hyperelastic compressible Neo–Hookean material model is assumed. The material is described in terms of the strain energy function

$$\begin{aligned} W_{\textrm{e}} = \frac{\lambda }{4} \left( I_3 -1 - \ln I_3\right) + \frac{\mu }{2}\left( I_1 - 3 - \ln I_3 \right) , \end{aligned}$$
(13)

where Cauchy–Green tensor invariants are defined as \(I_1 = {\textrm{tr}}({\varvec{C}}_{\textrm{e}}) \) and \(I_3 = \det {\varvec{C}}_{\textrm{e}}\). The Kirchhoff stress tensor can be computed by

$$\begin{aligned} {\varvec{\tau }} = \frac{\partial W_{\textrm{e}}}{\partial {\varvec{F}}_{\textrm{e}}}{\varvec{F}}_{\textrm{e}}^\top . \end{aligned}$$
(14)

With this, we can compute the deviatoric part of the stress tensor

$$\begin{aligned} {\varvec{s}} = {\varvec{\tau }} - \frac{1}{3}{\textrm{tr}}({\varvec{\tau }}){\varvec{I}}, \end{aligned}$$
(15)

where \({\varvec{I}}\) is the second-order identity tensor. The von Mises yield criterion of the plasticity model reads

$$\begin{aligned} \Phi (\tau ,\bar{\alpha }) = \sqrt{\frac{3}{2}{\varvec{s}}:{\varvec{s}}}-K(\bar{\alpha }), \end{aligned}$$
(16)

which is not only dependent on the Kirchhoff stress, but also on the equivalent plastic strain \(\bar{\alpha }\). The function \(K(\bar{\alpha })\) describes the nonlinear isotropic hardening

$$\begin{aligned} K(\bar{\alpha }) = Y_0 + H\bar{\alpha }+ (Y_\infty - Y_0)\big (1-e^{-\delta \bar{\alpha }}\big ). \end{aligned}$$
(17)

The constants \(Y_0\) and \(Y_\infty \) describe the initial yield stress and the saturation stress, respectively. Additionally, H defines the linear hardening parameter and \(\delta \) is the hardening exponent. According to [28], the evolution of the equivalent plastic strain \(\bar{\alpha }\) and the internal variables can be described by

$$\begin{aligned} -\frac{1}{2}{\mathcal {L}}_v {\varvec{b}}_{\textrm{e}}&= \gamma \frac{\partial \Phi ({\varvec{\tau }},\bar{\alpha })}{\partial {\varvec{\tau }}}{\varvec{b}}_{\textrm{e}},\end{aligned}$$
(18)
$$\begin{aligned} \dot{\bar{\alpha }}&= - \gamma \frac{\partial \Phi ({\varvec{\tau }},\bar{\alpha }) }{\partial K(\bar{\alpha })}, \end{aligned}$$
(19)

where \(\gamma \ge 0\) is the non-negative plastic multiplier and \(\mathcal {L}_v{\varvec{b}}_{\textrm{e}}\) is the Lie-derivative of the elastic left Cauchy–Green tensor \({\varvec{b}}_{\textrm{e}}\). Furthermore, the plastic flow rule can also be expressed for the left Cauchy–Green tensor defined as

$$\begin{aligned} \dot{{\varvec{C}}}_p^{-1} = -2\gamma {\varvec{F}}^{-1}\frac{\partial \Phi ({\varvec{\tau }},\bar{\alpha })}{\partial {\varvec{\tau }}}{\varvec{F}}{\varvec{C}}_{\textrm{p}}^{-1}. \end{aligned}$$
(20)

Please note that the material model must satisfy the Karush–Kuhn–Tucker conditions for both loading and unloading, i.e.,

$$\begin{aligned} \Phi \le 0,\hspace{3ex} \gamma \ge 0,\hspace{3ex} \Phi \gamma =0. \end{aligned}$$
(21)

The integration of the internal variable is carried out with an implicit Euler scheme. Thus, the equivalent plastic strain is updated by

$$\begin{aligned} \bar{\alpha }_{n+1} = {\bar{\alpha }_n} + \Delta _t\gamma \end{aligned}$$
(22)

where \(\Delta _t\gamma \) is the increment of the plastic strain multiplier. In addition, an exponential map algorithm is applied within an implicit time integration scheme to integrate the plastic variable \(\dot{{\varvec{C}}}_{\textrm{p}}^{-1}\) as introduced by [29]. The plastic variable is then updated by evaluating

$$\begin{aligned} {\varvec{C}}_{{\textrm{p}},n+1}^{-1} = {\varvec{F}}_{n+1}^{-1}\exp \left[ -2\Delta _t\gamma \dfrac{\partial \Phi _{n+1}}{\partial {\varvec{\tau }}_{n+1}} \right] {\varvec{F}}_{n+1}{\varvec{C}}_{{\textrm{p}},n}^{-1}. \end{aligned}$$
(23)

For the linearized weak form the first Piola–Kirchhoff stress tensor \({\varvec{P}}\) is required. This can be computed by exploiting the relation

$$\begin{aligned} {\varvec{P}} = {\varvec{\tau }}{\varvec{F}}_{\textrm{e}}^{-\top }. \end{aligned}$$
(24)

For further details, the reader is referred to the references [30, 31].

3 Remeshing and data transfer

3.1 Kinematic relations

The remeshing procedure presented in this section is based on the total Lagrangian formulation, relating the current configuration \(\Omega _n\) to the initial configuration \(\Omega _0\). The total displacement can, thus, be computed as the difference between the current position vector \({\varvec{x}}_{n+1}\) and the initial position vector \({\varvec{X}}\) by

$$\begin{aligned} {\varvec{d}} = {\varvec{x}}_{n+1}-{\varvec{X}}. \end{aligned}$$
(25)

If intermediate configurations are involved, the total displacement can also be rewritten in terms of the partial displacements between the different deformation states, i.e.,

$$\begin{aligned} {\varvec{d}} = \tilde{{\varvec{d}}}_1 + \tilde{{\varvec{d}}}_2 + \cdots + \tilde{{\varvec{d}}}_n + \tilde{{\varvec{d}}}_{n+1} = {\varvec{d}}_n + \tilde{{\varvec{d}}}_{n+1}, \end{aligned}$$
(26)

where \({\varvec{d}}_n\) is referred to as pre-displacement, summating the displacement that the structure has experienced until state \(\Omega _n\). During the remeshing process, different deformation states and relations between the meshes are considered, as shown in Fig. 2. The initial configuration \(\Omega _0\) is deformed up to certain state \(\Omega _n\). To this end, the deformation gradient \({\varvec{F}}_n\) can be computed directly from

$$\begin{aligned} {\varvec{F}}_n = \frac{\partial {\varvec{x}}_n}{\partial {\varvec{X}}} = \frac{\partial ({\varvec{X}} + {\varvec{d}}_n)}{\partial {\varvec{X}}} = {\varvec{I}} + \frac{\partial {\varvec{d}}_n}{\partial {\varvec{X}}} = {\varvec{I}} + {\varvec{H}}_n, \end{aligned}$$
(27)

where \({\varvec{H}}_n\) is the pre-displacement gradient at state \(\Omega _n\). To compute the total deformation gradient \({\varvec{F}}\) we can employ the chain rule leading to

$$\begin{aligned} {\varvec{F}}= \frac{\partial {\varvec{x}}_{n+1}}{\partial {\varvec{x}}_n}\frac{\partial {\varvec{x}}_n}{\partial {\varvec{X}}} = \tilde{{\varvec{F}}}_{n+1}{\varvec{F}}_n. \end{aligned}$$
(28)

The total displacement gradient \({\varvec{H}}\) can also be constructed using the partial displacement gradients of the intermediate deformation states:

$$\begin{aligned} {\varvec{H}} = \frac{\partial {\varvec{d_n}}}{\partial {\varvec{X}}} + \frac{\partial \tilde{{\varvec{d}}}_{n+1}}{\partial {\varvec{x}}_n}\frac{\partial {\varvec{x}}_n}{\partial {\varvec{X}}} = {\varvec{H}}_n + \tilde{{\varvec{H}}}_{n+1}({\varvec{I}}+{\varvec{H}}_n) \end{aligned}$$
(29)
Fig. 2
figure 2

Kinematic relations involved in the deformation of an arbitrary structure

In any case the pre-displacement or pre-deformation gradient are required. In the context of the FCM, this means that if a new mesh is created at deformation state \(\Omega _n\) the pre-deformation information has to be transferred to the new mesh. This data transfer will be addressed in Sect. 3.4

3.2 Remeshing procedure

The procedure within the FCM context for one remeshing step is shown in Fig. 3 for a simple plate with a circular hole. The original structure is deformed until state \(\Omega _1\). At this state, remeshing is initialized and a new, undeformed mesh is created based on the deformed geometry. To continue with the simulation, the displacement gradient is transferred to the integration points of the new mesh. Once the interpolation is done, the simulation can be continued until state \(\Omega _2\), where either the desired deformation is reached or another remeshing is initiated.

The remeshing procedure is summarized in Algorithm 1. Note that there are three possibilities to trigger the remeshing: first, if the remeshing criteria limit (see Sect. 3.3) is reached. The second possibility is that the iterative solution does not converge and, lastly, the remeshing is triggered if a prescribed displacement is reached.

Fig. 3
figure 3

Sketch of the different deformation states along with the quantities involved. Thereby \(\Omega _\square \) is a unit reference cell. The initial configuration \(\Omega _0\) is deformed until state \(\Omega _1\), where remeshing is applied. During the remeshing the old displacement gradients \({\varvec{H}}_1\) of deformation state \(\Omega _1\) are transferred to the new mesh via the interpolation \(\mathcal {I}\). Then the mesh is deformed until final state \(\Omega _2\) is reached

Algorithm 1
figure a

Remeshing procedure scheme [22]

3.3 Remeshing criteria

To evaluate the mesh quality, several remeshing criteria are presented in [9]. In the following, the applied criteria are briefly summarized. All criteria presented in the following take the Jacobi matrix into account. The computation of the reference Jacobi matrix \({\varvec{J}}\) of the current reference state \(\Omega _n\) is defined as follows:

$$\begin{aligned} {\varvec{J}}_n = \dfrac{\partial {\varvec{x}}_n}{\partial {\varvec{\xi }}} = \begin{bmatrix}{\varvec{G}}_1&{\varvec{G}}_2&{\varvec{G}}_3 \end{bmatrix} \end{aligned}$$
(30)

and the spatial Jacobi matrix is defined by

$$\begin{aligned} {\varvec{j}}_{n+1} = \dfrac{\partial {\varvec{x}}_{n+1}}{\partial {\varvec{\xi }}} = \tilde{{\varvec{F}}}_{n+1}{\varvec{J}}_n = \begin{bmatrix}{\varvec{g}}_1&{\varvec{g}}_2&{\varvec{g}}_3 \end{bmatrix}. \end{aligned}$$
(31)

In the following, the Jacobi matrices will be evaluated at given points \({\varvec{x}}^k\) and are therefore denoted by \({\varvec{J}}_n^k\) and \({\varvec{j}}_{n+1}^k\), respectively.

3.3.1 Ratio of Jacobians (R)

The first criterion measures the volumetric change by computing the ratio between the minimum and maximum determinant of the spatial Jacobi matrix \({\varvec{j}}\) for each cell. It is defined by

$$\begin{aligned} R = \dfrac{\min \nolimits _k \det \big ({\varvec{j}}_{n+1}^k\big ) }{\max \nolimits _\ell \det \big ({\varvec{j}}_{n+1}^\ell \big )}. \end{aligned}$$
(32)

For uniform deformation the ratio will be close to one, whereas the ratio will decrease for nonuniform deformations.

3.3.2 Orthogonality (O)

The second criterion measures the orthogonality of the Jacobi matrix columns at each point \({\varvec{x}}^k\). Therefore, we first compute the product

$$\begin{aligned} b_{ij}^k = \left( {\varvec{g}}_i^k \cdot {\varvec{g}}_i^k \right) \left( {\varvec{g}}_j^k \cdot {\varvec{g}}_j^k \right) . \end{aligned}$$
(33)

The criterion is then evaluated by finding the minimum of the following expression

$$\begin{aligned} O = \min \limits _{i,j,k}\dfrac{\sqrt{b_{ij}^k - \left( {\varvec{g}}_i^k \cdot {\varvec{g}}_j^k \right) ^2}}{\sqrt{b_{ij}^k}}. \end{aligned}$$
(34)

As long as the cell remains orthogonal, this criterion returns a value of one because the scalar product between two distinct column vectors is zero in this case.

3.3.3 Aspect ratio (A)

In this criterion, the aspect ratio of the cell is measured both, in undeformed and deformed configuration, i.e.,

$$\begin{aligned} A_n&= \min \limits _{i,j,k} \dfrac{\big \Vert {\varvec{G}}_i^k\big \Vert }{\big \Vert {\varvec{G}}_j^k\big \Vert }\end{aligned}$$
(35)
$$\begin{aligned} A_{n+1}&= \min \limits _{i,j,k} \dfrac{\big \Vert {\varvec{g}}_i^k\big \Vert }{\big \Vert {\varvec{g}}_j^k\big \Vert }. \end{aligned}$$
(36)

Finally, the aspect ratio is defined as the ratio

$$\begin{aligned} A = \dfrac{A_{n+1}}{A_n}. \end{aligned}$$
(37)

In this case, the value is close to one if the cell is deformed in all dimensions equally, while the value decreases if the aspect ratio of the element changes.

3.4 Data transfer

The data transfer of pre-deformation and other history data can be carried out using different methods. In the present work, we apply point-based methods, namely radial basis functions (RBFs) and inverse distance weighting (IDW). Each method will be explained briefly in the subsequent sections.

3.4.1 Radial basis function interpolation

In the following, we present the local version of the RBF used within every remeshing step, see [32, 33]. Thereby, for every target point \({\varvec{x}}^{\textrm{t}}\) in the new mesh, we search the \(N^{\textrm{s}}\) nearest source points \({\varvec{x}}^{\textrm{s}}_i\) from the old mesh. This is done with the help of a fast kd tree algorithm [34]. The kd tree is a space partitioning method to efficiently treat a set of data points in a k-dimensional space where in this case \(k=3\) holds. Based on the \(N^{\textrm{s}}\) nearest source points to the target point, the RBF interpolation is constructed from the weighted sum of radial basis functions \(\Theta _i(r)\) that depend only on the radial distance to the source point \({\varvec{x}}^{\textrm{s}}_i\) as follows:

$$\begin{aligned} \sum _{i=1}^{N^{\textrm{s}}} w_i \, \Theta _i \left( \hat{r}_{ij} \right) = {v}^{\textrm{s}}\big ({\varvec{x}}^{\textrm{s}}_j\big ). \end{aligned}$$
(38)

In the above equation \(\hat{r}_{ij}=\big \Vert {\varvec{x}}^{{\textrm{s}}}_i - {\varvec{x}}^{\textrm{s}}_j \big \Vert \) is the radial distance between two source points and \({v}^{\textrm{s}}\) is the source value at source point \({\varvec{x}}^{\textrm{s}}_j\), which is a known quantity from the old mesh. By doing this for every source point, it is possible to set up a linear system of equations, which can be written as

$$\begin{aligned} \begin{bmatrix}\Theta _1 \left( \left\| {\varvec{x}}^{\textrm{s}}_1 - {\varvec{x}}^{\textrm{s}}_1 \right\| \right) &{}\quad \ldots &{}\quad \Theta _{N^{\textrm{s}}} \left( \left\| {\varvec{x}}^{\textrm{s}}_{N^{\textrm{s}}} - {\varvec{x}}^{\textrm{s}}_1 \right\| \right) \\ \vdots &{}\quad \ddots &{}\quad \vdots \\ \Theta _1 \left( \left\| {\varvec{x}}^{\textrm{s}}_1 - {\varvec{x}}^{\textrm{s}}_{N^{\textrm{s}}} \right\| \right) &{}\quad \ldots &{}\quad \Theta _{N^{\textrm{s}}} \left( \left\| {\varvec{x}}^{\textrm{s}}_{N^{\textrm{s}}} - {\varvec{x}}^{\textrm{s}}_{N^{\textrm{s}}} \right\| \right) \end{bmatrix} \begin{bmatrix}w_1 \\ \vdots \\ w_{N^{\textrm{s}}}\end{bmatrix} = \begin{bmatrix}{v}^{\textrm{s}}\big ({\varvec{x}}^{\textrm{s}}_1\big ) \\ \vdots \\ {v}^{\textrm{s}}\big ({\varvec{x}}^{\textrm{s}}_{N^{\textrm{s}}}\big )\end{bmatrix}, \end{aligned}$$
(39)

or in a compact form as

$$\begin{aligned} {\varvec{A}} \, {\varvec{w}} = {\varvec{b}}. \end{aligned}$$
(40)

Since we use the integration points from the old mesh as source points, the values of the right-hand side are known. The matrix \({\varvec{A}}\) is symmetric with a size of \((N^{\textrm{s}} \times N^{\textrm{s}})\), and the entries are obtained by evaluating the modified radial basis function

$$\begin{aligned} A_{ij}=\Theta _i \left( \hat{r}_{ij} \right) = \Phi \left( \beta \, \frac{\hat{r}_{ij}}{\tilde{r}_i} \right) , \end{aligned}$$
(41)

where \(\hat{r}_{ij}\) is the radial distance between the source points i and j. The additional parameters \(\tilde{r}_i\) and \(\beta \) can be used to tune the interpolation. Thereby, \(\beta \) is a scaling factor, and \(\tilde{r}_i\) is the mean distance between the source point \({\varvec{x}}_i^{\textrm{s}}\) and a specified number of \(N^{\textrm{r}}\) source points that are close to source point i. \(\Phi \) refers to the chosen radial basis function. Possible RBFs are given in Table 1. Having computed the matrix \({\varvec{A}}\) and the vector \({\varvec{b}}\), the system (40) is solved to obtain the weights \({\varvec{w}}\).

Once the weights are available, the target value \({v}^{\textrm{t}}\) can be computed directly from the weighted sum as

$$\begin{aligned} {v}^{\textrm{t}}({\varvec{x}}^{\textrm{t}}) = \sum _{i = 1}^{N^{\textrm{s}}} w_i \, \Theta _i \left( \left\| {\varvec{x}}^{\textrm{s}}_i - {\varvec{x}}^{\textrm{t}} \right\| \right) , \end{aligned}$$
(42)

or in matrix–vector notation

$$\begin{aligned} {v}^{\textrm{t}}({\varvec{x}}^{\textrm{t}}) = \begin{bmatrix} \Theta _1 \left( \left\| {\varvec{x}}^{\textrm{s}}_1 - {\varvec{x}}^{\textrm{t}} \right\| \right)&\ldots&\Theta _{n} \left( \left\| {\varvec{x}}^{\textrm{s}}_{N^{\textrm{s}}} - {\varvec{x}}^{\textrm{t}} \right\| \right) \end{bmatrix} \begin{bmatrix} w_1 \\ \vdots \\ w_{N^{\textrm{s}}} \end{bmatrix}. \end{aligned}$$
(43)

Due to the local support of only the \(N^{\textrm{s}}\) nearest neighbors, the local RBF interpolation can easily be parallelized to efficiently compute the target values. An additional advantage is that the size of \({\varvec{A}}\) can be controlled by specifying the number of source points that should to be taken into consideration.

Conversely, the global RBF version uses all available source points to construct the interpolation (39), leading to a large system of equations. This has then to be solved once to evaluate any target point. The drawback of the global approach is that it can be computationally expensive.

Different RBFs are plotted in Fig. 4 as a function of the radial distance \(\hat{r}\). The linear, cubic, and the thin plate spline function all approach zero if the radius is close to zero. Conversely, the other RBFs are close to one for small radii. However, the multiquadric RBF increases for larger distances. In this work, we consider the Gaussian and the inverse multiquadric RBF as possible candidates. From our experience, setting \(N^{\textrm{s}}=50\), \(N^{\textrm{r}}=3\), and \(\beta =1\) yields satisfactory interpolation results together with the inverse multiquadric RBF.

Table 1 Some of the well-known radial basis functions \(\Phi (\hat{r})\) [35]

Note that only the integration points in the physical domain of the old mesh are considered as source points. This is done because the points in the fictitious domain are prone to large deformations and, therefore, may negatively impact the interpolation in the physical domain. On the other hand, all integration points in the new mesh are used as target points. Thereby, the displacement gradients gradually approach zero in the fictitious domain as the distance to the physical domain increases.

Fig. 4
figure 4

Plot of the different radial basis functions \(\Phi \) (compare Table  1) as a function of distance \(\hat{r}\)

3.4.2 Inverse distance weighting

Similar to the RBF the inverse distance weighting (IDW) is a point-based interpolation method, also known as Shepard’s interpolation method [36]. However, in contrast to RBF interpolation, it is not necessary to solve a system of equations. The IDW is based on the weighted average of the values of existing source values \({v}^{\textrm{s}}({\varvec{x}}^{\textrm{s}}_i)\). For each target point \({\varvec{x}}^{\textrm{t}}\), the value \({v}^{\textrm{t}}\) can be computed as follows:

$$\begin{aligned} {v}^{\textrm{t}}({\varvec{x}}^{\textrm{t}})= {\left\{ \begin{array}{ll} \dfrac{\sum \nolimits _{i = 1}^{N^{\textrm{s}}} w_i({\varvec{x}}^{\textrm{t}}) \,\, {v}^{\textrm{s}}\big ({\varvec{x}}^{\textrm{s}}_i\big )}{\sum \nolimits _{i = 1}^{N^{\textrm{s}}} w_i({\varvec{x}}^{\textrm{t}})}, &{}\quad \text {if} \; \hat{r}\left( {\varvec{x}}^{\textrm{s}}_i, {\varvec{x}}^{\textrm{t}} \right) \ne 0 \, {\text { for all }} \, i = 1, \ldots , N^{\textrm{s}}\\ {v}^{\textrm{s}}\big ({\varvec{x}}^{\textrm{s}}_i\big ), &{}\quad {\text {if}} \; \hat{r}\left( {\varvec{x}}^{\textrm{s}}_i, {\varvec{x}}^{\textrm{t}} \right) =0\, {\text { for any }}\, i = 1, \ldots , N^{\textrm{s}} \end{array}\right. } \end{aligned}$$
(44)

where the weights \(w_i\) are computed from the inverse distance by

$$\begin{aligned} w_i({\varvec{x}}^{\textrm{t}})=\dfrac{1}{\left( \hat{r}\left( {\varvec{x}}^{\textrm{s}}_i, {\varvec{x}}^{\textrm{t}} \right) ^{\beta }\right) } . \end{aligned}$$
(45)

The parameter \(\beta \) can be modified to control the influence of the neighboring points. Small values leverage the weights of points in a larger region around the target point, while large values tend to suppress the influence of source points with increasing radial distance \(\hat{r}\).

Similarly to the local RBF approach, only the \(N^{\textrm{s}}\) nearest source points to the target point are considered for the interpolation to increase the efficiency of the method.

4 Stabilization techniques

As previously mentioned, fictitious domain approaches have the advantage that the mesh generation is simplified since the elements/cells do not have to conform to the geometry of the physical domain. Therefore, the boundary of the physical domain intersects the elements/cells. As shown in [9], the condition of the system is strongly related to the volume fraction of the broken cells. Because the condition number significantly impacts the robustness of the FCM when applied to nonlinear problems, we will explore two different stabilization approaches in the following sections.

4.1 Material stabilization (\(\alpha \)-stabilization)

The idea of this stabilization technique is to fill the fictitious domain with a soft version of the material from the physical domain. Therefore, additional integration points are distributed in the fictitious domain where the material parameters are modified by the stabilization factor \(\alpha \) defined by

$$\begin{aligned} \alpha = {\left\{ \begin{array}{ll} 1, &{}\quad {\text {for}}\; x{\text { in }} \Omega \\ \alpha _0 = 10^{-q}, &{}\quad {\text {for}}\; x {\text { in }} \Omega _{\textrm{e}} {\setminus }\Omega \end{array}\right. } \end{aligned}$$
(46)

where \(q=\{5,\ldots ,9\}\), for example. Similarly to [37], we first distribute \(n=({p+1})^d\) points in the cell and then remove the integration points that are in the physical domain where d denotes the spatial dimension. This process is visualized in Fig. 5.

Fig. 5
figure 5

Distribution of stabilization integration points for a broken cell of shape function ansatz order \(p=2\). First, \(n=9\) standard Gauss-points are distributed (a). Then, the points in the physical domain are removed (b)

An advantage of the \(\alpha \)-method stabilization scheme is its straightforward implementation, since only an additional set of integration points in the fictitious domain is needed to apply the stabilization. However, the material stabilization technique can lead to a loss of accuracy if large \(\alpha _0\) values are applied. If \(\alpha _0\) is too large, the fictitious domain may modify the solution. This is of course not the desired behavior and, hence, \(\alpha _0\) has to be chosen carefully.

4.2 Eigenvalue stabilization

The eigenvalue stabilization (EVS) was first introduced by [21] in the context of the extended FEM (XFEM). In [20], the method was extended to the FCM context for small as well as large strain elastic analysis. The principal idea is to perform an eigenvalue decomposition of the stiffness matrix \({\varvec{k}}^c\) of every broken cell:

$$\begin{aligned} {\varvec{k}}^c = {\varvec{V}}{\varvec{\Lambda }}{\varvec{V}}^\top = \begin{bmatrix}\bar{{\varvec{V}}}&\quad \tilde{{\varvec{V}}}\end{bmatrix} \begin{bmatrix}\bar{{\varvec{\Lambda }}} &{}\quad {\varvec{0}}\\ {\varvec{0}} &{} \quad \tilde{{{\varvec{\Lambda }}}}\end{bmatrix} \begin{bmatrix}\bar{{\varvec{V}}}^\top \\ \tilde{{\varvec{V}}}^\top \end{bmatrix} , \end{aligned}$$
(47)

where \({\varvec{V}}\) contains the eigenvectors of the cell stiffness matrix with the corresponding eigenvalues collected in \({\varvec{\Lambda }}\). Furthermore, we split the eigenvalues into a non-problematic part \(\bar{{\varvec{\Lambda }}}\) and the problematic small values \(\tilde{{\varvec{\Lambda }}}\). The latter group contains small and zero eigenvalues. In order to avoid unphysical simulation results, the zero eigenvalues and related eigenvectors belonging to the rigid body modes are excluded from the stabilization. The other small eigenvalues and corresponding modes are stabilized by creating the stabilization matrix

$$\begin{aligned} {\varvec{k}}^\epsilon = \sum _{j=1}^{\tilde{N}} \gamma _{\textrm{s}}^j \tilde{{\varvec{v}}}^j \otimes \tilde{{\varvec{v}}}^j , \end{aligned}$$
(48)

where \(\tilde{N}\) corresponds to the number of eigenmodes that are considered for stabilization. Additionally, the factor \(\gamma _{\textrm{s}}^j\) has to be defined. There exist different approaches to determine this value. In the present work, we use the following definition:

$$\begin{aligned} \gamma _{\textrm{s}}^j&= \epsilon \lambda (1-v^c)^{\beta } \end{aligned}$$
(49)

where \(\epsilon \) is a user defined threshold parameter to identify the critical modes. Additionally, this method depends on the first Lamé parameter \(\lambda \), the volume fraction of the cell \(v^c\) and the tuning parameter \(\beta \). The latter is defined in the present work to be \(\beta =1\).

Once the stabilization stiffness matrix is constructed, the original stiffness matrix is modified-yielding

$$\begin{aligned} \tilde{{\varvec{k}}}^c = {\varvec{k}}^c + {\varvec{k}}^\epsilon \end{aligned}$$
(50)

This, however, changes the original system. Therefore, a compensation force can be defined to modify the right-hand side

$$\begin{aligned} {\varvec{f}}^\epsilon = {\varvec{k}}^\epsilon {\varvec{d}}^c \end{aligned}$$
(51)

based on the stabilization matrix \({\varvec{k}}^{\epsilon }\) and the solution vector \({\varvec{d}}^c\). Consequently, the out-of-balance vector is modified to result in

$$\begin{aligned} \tilde{{\varvec{g}}}^c = {\varvec{g}}^c + {\varvec{f}}^\epsilon . \end{aligned}$$
(52)

In order to apply the load gradually, we introduce a scaling parameter \(\bar{\lambda }_k\) that serves to linearly scale the applied boundary conditions. Once this is done for all cell stiffness matrices, the solution increment for the Newton–Raphson schemes is computed by

$$\begin{aligned} \tilde{{\varvec{K}}}^i_\textrm{T}\big ({\varvec{d}}_k^i\big ) \Delta {\varvec{d}}_k^{i+1} = - {\varvec{G}}^i\big ({\varvec{d}}_k^i,\bar{\lambda }_k\big ) . \end{aligned}$$
(53)

The procedure of the stabilization is summarized in Algorithm 2. In the present work, we apply a combination of the \(\alpha \)-method and the EVS to stabilize the solution.

Algorithm 2
figure b

Eigenvalue stabilization strategy according to [20]

5 Numerical examples

In the present work, we focus on the simulation of structures including finite \(J_2\) elastoplasticity in combination with the \(\alpha \)- and the eigenvalue stabilization as well as remeshing. The first example considers a benchmark of a plate with a cylindrical hole. This example examines the remeshing approach using various interpolation strategies for mapping the internal variables from the old to the new meshes. In the other three examples, the remeshing is combined with the \(\alpha \)- and eigenvalue stabilization to improve the robustness of the FCM simulations. In all cases, the remeshing criteria limits are set to \(\rho =0\).

For the integration of the broken cells, we apply NNMF with a spacetree depth of \(k_\textrm{ST}=3\) to compute the moments. Moreover, we apply RBF interpolation with the inverse multiquadric RBF to transfer the displacement gradients between the meshes. Additionally, different approaches are applied to transfer the left elastic Cauchy–Green tensor and the equivalent plastic strain to the new mesh. The parameters for the elastoplastic material model are defined in Table 2.

Table 2 Material parameters for the finite \(J_2\) elastoplasticity material model [38]

5.1 Plate with a cylindrical hole

This section examines the different interpolation methods and their influence on the results. The model is shown in Fig.  6. The compressive displacement is applied to the upper surface while symmetry boundary conditions are applied to the other corresponding faces. The maximum prescribed displacement amounts to \(\bar{u}_z = 29.5\) mm. The cells have an initial edge length of 5 mm. Initially, they are distributed according to the maximum dimensions of the physical domain. After filtering the cells that are completely void, 604 cells remain. Then, the ansatz space is given by hierarchic shape functions based on integrated Legendre polynomials of order \(p=4\). To resolve the nonlinear behavior caused by the elastoplastic deformation, the first increments are set to \(\Delta \bar{u}_z = \{0.005, 0.025, 0.05, 0.1, 0.2, 0.3, 0.4\}\) mm. Afterward, equally sized increments of \(\Delta \bar{u}_z=0.5\) mm are applied until the final displacement is reached.

Fig. 6
figure 6

Geometry and boundary conditions for the plate with a cylindrical hole

For the sake of simplicity, we apply the remeshing every 5 mm. This leads to five remeshing steps in total. For the data transfer of the displacement gradients, we employ the inverse multiquadric RBF with the parameters \({N^{\textrm{s}}} = 50\), \(\beta = 1\), and \({N^\textrm{r}} = 3\). For the equivalent plastic strain different interpolation schemes are applied. First, different RBFs are tested followed by the IDW with different parameter sets.

The load–displacement curves are shown in Fig.  7a. The reference solution is obtained from the simulation using a boundary conforming mesh with 3200 finite elements of ansatz order \(p=4\). As can be seen, all interpolation methods allow to reach the final deformation state of \(\bar{{u}}_z=29.5\) mm. Without remeshing, but including EVS with a factor of \(\epsilon =10^{-4}\) a final deformation state of \(\bar{{\varvec{u}}}_z=17.5\) mm is obtained.

In Fig. 7b, the relative error in reaction force is plotted for the deformation states. Clearly, linear and Gaussian RBF introduce the largest error, while inverse multiquadric RBF and IDW interpolation lead to a similar error in the reaction forces. The IDW performs especially well for the parameter set \(N^{\textrm{s}}=3\) and \(\beta =2\). Additionally, the error in the reaction forces for the simulation including EVS is shown. Note that the error is smaller compared to the simulation where only remeshing is applied.

Lastly, Table 3 shows the equivalent plastic strain \(\bar{\alpha }\) for different deformation states where the IDW is applied. Additionally, the underlying meshes are shown.

Fig. 7
figure 7

The plate with a cylindrical hole using ansatz order \(p = 4\). a Load–displacement curves. b Relative error in reaction force compared to a reference solution

Table 3 The equivalent plastic strain \(\bar{\alpha }\) of the plate at different load steps using the inverse distance weighting interpolation scheme with \(N^{\textrm{s}} = 3\) and \(\beta = 2\)

5.2 Single cube connector

Fig. 8
figure 8

a The physical domain with the boundary conditions and b the initial finite cell mesh

The following example investigates the influence of the remeshing on the result for different polynomial degrees of the shape functions. The model as well as the finite cell mesh are shown in Fig.  8. A compressive displacement \(\bar{u}_y\) is applied to the upper surface, while symmetry boundary conditions are applied as indicated. The cells have an average edge length of 0.08 mm, leading to 2827 cells for the initial mesh to simulate the structure. For this model, we restrict the maximum deformation of each mesh to \(\bar{u}_y = 1.25\) mm. In all cases, we apply the \(\alpha \)-stabilization with a value of \(\alpha _0=10^{-7}\). Additionally we apply EVS with \(\epsilon =10^{-5}\). The results from the FCM are thereby compared to a reference solution computed using a mesh of 50,646 s-order tetrahedral elements with the commercial FEA software Abaqus [39]. Verification of the FCM is the main objective of this comparison. The FEM applies second-order tetrahedral elements. Three small load steps are applied—at first with \(\Delta \bar{u}_y=\{0.0015625, 0.00625, 0.0125\}\) mm, followed by equal-sized steps of size \( \Delta \bar{u}_y= 0.025\) mm. Thus, 240 load increments are required to accomplish the desired deformation state.

The load–displacement curves for different shape function ansatz orders p are shown in Fig. 9a. First, it should be noted that, without any remeshing, the simulation terminates at \(\bar{u}_y=3.4\) mm for ansatz order \(p=4\). However, if remeshing is applied considering the remeshing criteria, the final deformation of \({\bar{u}_y}=6\) mm can be reached. Additionally, the accuracy is increased by leveraging the shape function ansatz order.

Figure 9b shows the evolution of the remeshing criteria throughout the simulation for shape function ansatz order \(p=4\). As can be seen, all criteria start at 1 and decrease throughout the deformation. The first remeshing is initiated even though none of the criteria reached the limit. This remeshing is triggered by convergence problems of the Newton–Raphson method. The same applies also for later remeshing steps. The values of the remeshing criteria are heavily improved and start at values close to one after the remeshing. This indicates that the remeshing has a positive impact on the discretization.

Table 4 shows the different meshes in the first column, and the evolution of the equivalent plastic strain \(\bar{\alpha }\) in the second and third column. It can clearly be seen that the newly generated meshes are again composed of well shaped hexahedral cells. In addition, the last column in Table 4 shows the evolution of the equivalent plastic strain for the same state from the FEM solution computed with Abaqus. Both approaches show similar plastic strain distributions for this example—qualitatively and quantitatively.

Fig. 9
figure 9

a Load–displacement curves for the single cube connector using different ansatz orders of the shape functions. b The remeshing criteria at different load steps for the single cube connector using \(p = 4\)

Table 4 Comparison of the FEM reference solution with the FCM solution for different deformation states

5.3 Complex cube connector

To increase the model complexity, the following example is an agglomerate of the single cube connector shown previously. The model is shown in Fig. 10. In this case, the displacement of the upper flat surface is fixed in x and y direction, while a compressive displacement \(\bar{u}_z\) is applied. The bottom, on the other hand, is fixed in all directions. The domain is discretized using 2968 cells of size 3.75 mm with shape function order \(p=2\). The first load increments are set to \(\Delta \bar{u}_z = \{0.01, 0.02, 0.03, 0.05, 0.1\}\) mm, followed by equal-sized steps of size \(\bar{u}_z = 0.2\) mm. To reach the final deformation of \(\Delta \bar{u}_z=35\) mm, 175 load increments are required in total.

Fig. 10
figure 10

a Complex cube connector model and the applied boundary conditions and b the initial finite cell mesh

The load–displacement curve is shown in Fig.  11a. Without remeshing, the incremental/iteratice solution process terminates after \(\bar{u}_z=6.2\) mm. In contrast the desired deformation can be achieved by incorporating the remeshing procedure multiple times. However, it should be noted that using IDW for mapping of plastic variables requires only five remeshing steps—whereas six remeshings are required if RBF interpolation is used. Nevertheless, both methods reach the desired deformation of \(\bar{u}_z=35\) mm.

Next, we examine the different remeshing criteria together with the IDW interpolation. Once again, the remeshing clearly improves the mesh quality as the values are close to one after each remeshing step. Initially, the Aspect (A) has the lowest value among the different criteria. However, after the third remeshing, the ratio of the Jacobians (R) tends to have the lowest value. This indicates that it is beneficial to use different remeshing criteria.

Lastly, the equivalent plastic strain \(\bar{\alpha }\) in the last converged state is shown in Table 5, along with the mesh used for the shown deformation states.

Fig. 11
figure 11

a Load–displacement curves for the complex cube connector using ansatz order \(p=2\). b The remeshing criteria at different load steps for the complex cube connector using the IDW interpolation scheme with \(N^{\textrm{s}}=20\) and \(\beta =2\)

Table 5 The equivalent plastic strain \(\bar{\alpha }\) for the complex cube connector at different load steps using the inverse distance weighting interpolation scheme with \(N^{\textrm{s}}=20\) and \(\beta =2\)

5.4 Single pore of a foam

The last example serves to show that the present combination of EVS and remeshing can also be applied to more realistic elastoplastic examples. The model as well as the initial mesh are shown in Fig. 12. The upper surface is fixed in x and z-direction, while a compressive displacement is applied in y-direction. The foundation of the pore is completely fixed. The initial mesh has 7007 cells of size 0.18 mm, and a shape function ansatz order of \(p=3\) is used for the simulation. The displacement is again subdivided into small steps of \(\Delta \bar{u}_y=\{0.0001, 0.001, 0.003, 0.0058, 0.007\}\) mm before the displacement is incrementally increased by \(\Delta \bar{u}_y=0.01\) mm. The \(\alpha \)-method is applied with \(\alpha _0=10^{-7}\) together with the EVS with \(\epsilon =10^{-6}\). The elastic left Cauchy–Green tensor and the equivalent plastic strain are interpolated using the IDW interpolation with \(N^{\textrm{s}}=20\) and \(\beta =2\). For a reference solution, the same model is simulated in Abaqus [39] using 64,506 second-order tetrahedral elements.

Fig. 12
figure 12

a Physical domain and the applied boundary conditions. b Initial finite cell mesh applied for the simulation

The force displacement curve is found in Fig.  13a. As indicated, the structure can only be compressed up to \(\bar{u}_y=0.64 \) mm without remeshing. However, the desired deformation state can be reached if remeshing is applied. Note that the reaction forces are in good agreement with the reference solution until \(\bar{u}_y=1.8\) mm. Afterward, the solution deviates slightly from the reference. A possible reason for this is that cells that are broken more than once, mimic the contact formulation similar to the third medium approach, see also [40]. Additionally, if the structure penetrates itself and remeshing is performed, the current implementation treats the overlapping regions as a solid and connected region.

The remeshing criteria are shown in Fig.  13b. As indicated, 10 remeshings are required in total. Once again, the remeshing improves the mesh quality. However, in some cases remeshing is performed because the Newton–Raphson scheme does not converge, even though the remeshing criteria are not close to zero. This indicates, that the currently chosen remeshing criteria may not the best choice for elastoplastic analysis. This will be further investigated in future research.

Finally, the equivalent plastic strains for the FCM simulation as well as for the Abaqus simulation are shown in Table  6. Both results show good agreement until self-contact occurs. As previously mentioned, the FEM model does not consider self-contact, leading to deviations in the load–displacement behavior. The regions where self-contact is expected are highlighted by dashed circles. Differences are evident in FCM mesh 11. The FEM simulation cannot capture self-contact, resulting in mesh overlap in the highlighted area. In contrast, the FCM simulation exhibits a type of sticking contact due to remeshing. When a structure penetrates itself during remeshing, the domain boundary is no longer recognized and is treated as a solid region. Consequently, the material remains stuck together.

Fig. 13
figure 13

a Load–displacement curves for the single pore of a foam. b Evolution of the remeshing criteria during the simulation

Table 6 The equivalent plastic strain \(\bar{\alpha }\) for the single pore of a foam at different load steps

6 Conclusion

Simulating structures using immersed boundary methods such as the FCM poses certain challenges—especially for large deformations. The present work shows that the Eigenvalue stabilization as presented in [20] increases the robustness of the solution procedure. In combination with the remeshing procedure presented in [9], larger deformation states can be reached for hyperelastic materials.

In this work, we presented different examples of increasing complexity, considering a finite strain elastoplastic material. The combination of \(\alpha \)-stabilization, eigenvalue stabilization and remeshing turned out to be a powerful combination to enhance the stability of the nonlinear simulations. Even large deformation states were reached and the obtained solutions were in good agreement to the FEM reference solution computed by using commercial FE-software Abaqus.

The single foam pore motivates the next step that has to be considered: the self-contact. This remains an open challenge because it raises the question of how to identify contact pairs, especially considering that this task needs to be performed for the entire model.