arXiv is now an independent nonprofit! Learn more
License: arXiv.org perpetual non-exclusive license
arXiv:2604.09113v2 [math.NA] 20 Aug 2026

A ROM-based BDDC solver for unfitted p-FEM level-set-based two-dimensional lattice structures

Gonzalo Bonilla Moreno Thanks: gonzalo.bonilla.moreno@gmail.com Affiliation: Institute of Mathematics, École polytechnique fédérale de Lausanne, Station 8, CH-1015 Lausanne, Switzerland    Giuliano Guarino Thanks: giuliano.guarino@epfl.ch Affiliation: Institute of Mathematics, École polytechnique fédérale de Lausanne, Station 8, CH-1015 Lausanne, Switzerland    Pablo Antolin Thanks: pablo.antolin@epfl.ch Affiliation: Institute of Mathematics, École polytechnique fédérale de Lausanne, Station 8, CH-1015 Lausanne, Switzerland
Abstract

We present a domain decomposition method for the fast simulation of large two-dimensional lattice structures described by level set functions. The method does not rely on homogenization or multiscale techniques, and therefore avoids their underlying assumptions such as scale separation and periodicity. Individual cells are defined through level set functions and mapped into physical space using arbitrary order mappings, which allows the creation of complex graded designs with varying geometries and topologies. The discretization is based on unfitted p-FEM, where each cell is approximated by a single high order element. This choice naturally handles the implicit geometric description and provides high accuracy with a moderate number of degrees of freedom. The solver is built on the Balanced Domain Decomposition by Constraints (BDDC) method, where each cell corresponds to one subdomain. To accelerate the assembly of the cell stiffness matrices, we combine a fast assembly technique that separates the contributions of the geometric mapping from the trimmed domain with a reduced order model (ROM) based on the matrix discrete empirical interpolation method (MDEIM). The ROM surrogate is trained offline and can be reused for any geometric mapping, restricting the expensive quadrature on cut elements to the training stage. A stabilization term is introduced to ensure the scalability of the solver when using the ROM approximation, at the cost of a small and controllable error. We validate the method through a series of numerical experiments and demonstrate its performance on a 2D problem with more than 17,000 cells of varying geometry, which is solved in approximately 30 seconds on a standard laptop. The number of solver iterations grows only mildly as the number of subdomains increases, provided the ratio between subdomain and mesh sizes is kept constant, consistent with the scalability properties of BDDC methods.

1 Introduction

Over the last few decades, the cost of additive manufacturing has decreased while the quality of their products has improved [1]. This, combined with the emergence of techniques for the fabrication of lattices at the nanoscale [2], has paved the way to the creation of architected materials with unprecedented strength to weight ratio, heat exchange capacity, among others. While porous geometries are abundant in nature (e.g., bones and bird beaks), artificial porous (heterogeneous) artifacts were very difficult to create prior to the additive manufacturing era. Now, their cell topology, geometry, and material can be tailored to achieve specific performance requirements [3]: significant weight savings while maintaining the stiffness and strength of homogeneous structures [4, 5, 6, 7, 8]. In addition, lattices can behave mechanically in very atypical ways (e.g., highly stretchable, auxetic [9]) and can be multi-functional, which makes them attractive also for applications such as energy absorption [10] and storage [11], vibration reduction, thermal management, etc. [12].

From a simulation perspective, lattice structures presenting a large number of cells are quite challenging [13]. A straightforward application of finite element methods is greedy in terms of computing resources (both CPU time and memory). To circumvent this problem, different numerical approaches are applied in practice, namely: multiscale FEM [14, 15, 16], Generalized and Extended FEM [17, 18, 19], multilevel FEM (FE2[20, 21], or numerical homogenization [22, 23, 24, 25, 26], where the macroscopic behavior of the heterogeneous materials is characterized through numerical simulations on representative volume elements. However, to alleviate undesirable size effects [27, 28], all these techniques rely on i) the separation of scales, which is usually not the case in practice due to the achievable length scale of current 3D printers; and ii) periodic cells, an assumption which does not hold for graded lattices. In addition, macro-geometries are often slender geometries (plate, shell) that present just a few cells along the thickness direction. We refer the interested reader to [13] for an in-depth discussion of such approaches in the context of hierarchical metamaterials. In the case of truss-based lattices, an appealing alternative is the use of 3D beam models [29, 30, 31]. However, those methods are no longer suitable in the case of thick trusses, and cannot be applied to cellular lattices.

On the other hand, full scale 3D finite element simulations remain rare due to their high computational cost. They are typically limited to a few cells, or even a single one, and are used to estimate the macro-behavior properties of unit micro-structures or small samples [10, 32, 13, 33]. For instance, in [10] the authors performed a nonlinear simulation using Abaqus, including plasticity effects, with 7×7×77\times 7\times 7 octet cells and, even though no computing times were reported, they required a cluster computer with 120 cores. Or [34, 35], where the authors performed a high-fidelity simulation of 24 CT-scanned octets (98M unknowns) using the finite cell method [36], which required 52 minutes using 1120 processors of a supercomputer.

Recent works aim to overcome these limitations using full scale finite element methods that leverage state of the art domain decomposition techniques combined with reduced order modeling (ROM) that exploits cell similarities to accelerate the solution. In [37, 38] the authors proposed an accelerated inexact FETI-DP preconditioner that allows to analyze linear problems with thousands of cells (millions of degrees of freedom) in just a few minutes, and with very low memory requirements, using an off-the-shelf laptop. This work has been recently extended in [39] to the case of nonlinear hyperelastic materials undergoing large deformations. In [40] similar ideas are exploited in a matrix-free multigrid solver able to simulate designs with hundreds of thousands of cells (billions of degrees of freedom) in just a few minutes using a few thousand processors from a supercomputer.

However, the application of this family of fast methods is limited to cell geometries simple enough to be described with conforming discretizations and parametric morphings, which is essential for exploiting cell similarities through ROM techniques. This prevents its applicability to the case of cellular like structures, with arbitrarily varying geometries and topologies that cannot be parameterized using such mappings. This is the case of, for instance, cellular structures [6, 41] or Triply Periodic Minimal Surfaces (TPMS) [42].

A natural way of handling such complex geometries is through level-set functions, which turn the geometric parameterization from explicit (parametric) to implicit. Such representations are particularly well suited for unfitted discretizations, in which the geometry is embedded in a background grid that serves as base for discretizing the PDE at hand [36, 43, 44, 45]. In this way, all cell geometries share the same discretization grid, regardless of their shape or topology.

This common grid structure enables the use of projection based ROM techniques. In particular, it allows the construction of surrogate models for the fast assembly of cell stiffness matrices using the matrix version of the discrete empirical interpolation method (MDEIM) [46, 47]. This bypasses the expensive tailored quadrature rules for cut elements required by unfitted methods, restricting their use to an offline training stage. The combination of MDEIM with unfitted methods has been previously addressed in [48, 49, 50].

In this work, we propose a novel fast domain decomposition method for the linear elasticity problem on two-dimensional lattice structures described by level-set functions. The method relies on unfitted p-FEM [51, 52, 53] (see also [54] for very high order unfitted discretizations of 3D elasticity; the motivation for high order discretizations will be addressed in Section 2) and exploits cell similarities through the ROM techniques described above. The domain decomposition solver is based on the Balanced Domain Decomposition by Constraints method (BDDC), introduced in [55, 56, 57] for FEM and subsequently adapted to various numerical methods, including isogeometrical analysis [58, 59] and unfitted methods [60]. . Here, the BDDC preconditioner is combined with the acceleration ideas first introduced in [37, 38] for two-dimensional lattice structures.

The remainder of the paper is organized as follows. Section 2 introduces the geometric modeling of single unit cells as well as their assembly into full lattice structures. The elasticity problem and its discretization by means of unfitted pp-FEM are also discussed. In Section 3 the BDDC domain decomposition method considered is introduced, alongside the required hypotheses and specific characteristics for this problem. The fast assembly of the cell stiffness matrices is discussed in Section 4. Finally, a series of numerical experiments that validate the considered hypotheses and assess the numerical performance of the proposed solver are presented in Section 5, while main conclusions are drawn in Section 6.

2 Modeling and Discretization

2.1 Geometric modeling

This section describes the geometric construction of the lattice cells investigated in this work. The geometry is obtained by juxtaposing cells, each constructed using a two-step procedure: first, mapping a parametric domain, and second, trimming it with the desired porous shape. To ensure the compatibility of the final assembled structure, the mapping and trimming processes must satisfy certain conditions, which are detailed in the remainder of this section.

Refer to caption
Figure 1: Construction of a single cell of the lattice structure. The untrimmed parametric domain Π^\hat{\Pi} in (a) is mapped through 𝓕\boldsymbol{\mathcal{F}} into the physical domain Π\Pi (b). The boundary of the untrimmed parametric domain is composed by four edges Π^1b\partial\hat{\Pi}_{1b}, Π^1t\partial\hat{\Pi}_{1t}, Π^2b\partial\hat{\Pi}_{2b}, and Π^2t\partial\hat{\Pi}_{2t}, which get mapped into the four edges of the untrimmed physical domain. The trimmed parametric domain Ω^\hat{\Omega} is shown in (a). The threshold parameters μ1\mu_{1}, μ2\mu_{2}, μ3\mu_{3}, and μ4\mu_{4} correspond to the nodes of first-order Lagrangian functions therefore the corners of Π^\hat{\Pi}. The boundary of the trimmed domain is partitioned in its conformal part Ω^c\partial\hat{\Omega}_{c} and its trimmed part Ω^t\partial\hat{\Omega}_{t}. Finally, in (d) it is shown the geometry of the trimmed physical domain Ω\Omega.

2.1.1 Mapping of a single cell

The starting point for the geometric definition of an individual cell is the untrimmed parametric domain, Π^\hat{\Pi}, which is defined as the unit square:

Π^=[0,1]×[0,1].\hat{\Pi}=[0,1]\times[0,1]. (1)

This domain represents the set where the curvilinear coordinates (ξ1,ξ2)(\xi_{1},\xi_{2}) take values. These coordinates are used to explicitly define the map :Π^2\mathcal{F}:\hat{\Pi}\to\mathbb{R}^{2} as:

𝓕(ξ1,ξ2)=i(ξ1,ξ2)𝒆iwithi=1,2,\boldsymbol{\mathcal{F}}\left(\xi_{1},\xi_{2}\right)=\mathcal{F}_{i}\left(\xi_{1},\xi_{2}\right)\boldsymbol{e}_{i}\quad\text{with}\quad i=1,2, (2)

where 𝒆i\boldsymbol{e}_{i} represents the vectors of the standard Euclidean basis. The four edges of the parametric domain are denoted as: the left vertical edge Π^1b={(0,ξ)}\partial\hat{\Pi}_{1b}=\{(0,\xi)\}, the right vertical edge Π^1t={(1,ξ)}\partial\hat{\Pi}_{1t}=\{(1,\xi)\}, the bottom horizontal edge Π^2b={(ξ,0)}\partial\hat{\Pi}_{2b}=\{(\xi,0)\}, and the top horizontal edge Π^2t={(ξ,1)}\partial\hat{\Pi}_{2t}=\{(\xi,1)\}, where ξ[0,1]\xi\in[0,1]. The untrimmed physical domain in 2\mathbb{R}^{2} is the image of the unit square Π^\hat{\Pi} under this map:

Π=𝓕(Π^).{\Pi}=\boldsymbol{\mathcal{F}}(\hat{\Pi}). (3)

Figure 1 shows an example of such construction. At this stage, no particular assumptions are made concerning the function 𝓕\boldsymbol{\mathcal{F}}. However, a discussion regarding its required regularity is provided in the remainder of this section.

2.1.2 Trimming of a single cell

Refer to caption
(a) Schwarz Diamond
Refer to caption
(b) Schwarz Primitive
Refer to caption
(c) Schoen FRD
Refer to caption
(d) Schoen IWP
Figure 2: 2D TPMS corresponding to the level-set functions in Table 1.
Table 1: Common TPMS in 2D. The level-sets have been adapted from their 3D counterparts by evaluation at ξ3=0\xi_{3}=0. The sole exception is the Schwarz Primitive that is evaluated at ξ3=1/2\xi_{3}=1/2 to ensure the geometry remains connected. For the same reason, the sign of the Schoen FRD is the opposite of its standard definition and the standard threshold parameter for the Schwarz Diamond is taken as 0.1.
Name level-set ϕ0(ξ1,ξ2)\phi_{0}(\xi_{1},\xi_{2})
Schwarz Diamond cos(2πξ1)cos(2πξ2)\cos(2\pi\xi_{1})\cos(2\pi\xi_{2})
Schwarz Primitive cos(2πξ1)+cos(2πξ2)1\cos(2\pi\xi_{1})+\cos(2\pi\xi_{2})-1
Schoen FRD cos(4πξ1)cos(4πξ2)+cos(4πξ2)+cos(4πξ1)4cos(2πξ1)cos(2πξ2)\cos(4\pi\xi_{1})\cos(4\pi\xi_{2})+\cos(4\pi\xi_{2})+\cos(4\pi\xi_{1})-4\cos(2\pi\xi_{1})\cos(2\pi\xi_{2})
Schoen IWP 2(cos(2πξ1)cos(2πξ2)+cos(2πξ2)+cos(2πξ1))cos(4πξ1)cos(4πξ2)12\big(\cos(2\pi\xi_{1})\cos(2\pi\xi_{2})+\cos(2\pi\xi_{2})+\cos(2\pi\xi_{1})\big)-\cos(4\pi\xi_{1})-\cos(4\pi\xi_{2})-1

The mapping introduced above is combined with an immersed boundary approach to define the active portion of the cell. Specifically, the trimmed parametric domain is defined as:

Ω^={(ξ1,ξ2)Π^:ϕ0(ξ1,ξ2)<μ(ξ1,ξ2)},\hat{\Omega}=\left\{\left(\xi_{1},\xi_{2}\right)\in\hat{\Pi}:\phi_{0}\left(\xi_{1},\xi_{2}\right)<\mu\left(\xi_{1},\xi_{2}\right)\right\}\;, (4)

where ϕ0\phi_{0} and μ\mu are the level-set and threshold functions, respectively. Or equivalently, by introducing the function ϕ(ξ1,ξ2)=ϕ0(ξ1,ξ2)μ(ξ1,ξ2)\phi\left(\xi_{1},\xi_{2}\right)=\phi_{0}\left(\xi_{1},\xi_{2}\right)-\mu\left(\xi_{1},\xi_{2}\right) as

Ω^={(ξ1,ξ2)Π^:ϕ(ξ1,ξ2)<0}.\hat{\Omega}=\left\{\left(\xi_{1},\xi_{2}\right)\in\hat{\Pi}:\phi\left(\xi_{1},\xi_{2}\right)<0\right\}\;. (5)

While ϕ0\phi_{0} can be any arbitrary implicit function, for illustrative purposes, in this work it is selected from the class of triply periodic minimal surfaces (TPMS) adapted for 2D applications, which does not constitute a limitation for the proposed method. Common examples are defined in Table 1 and depicted in Figure 2.

Typically, the threshold is kept uniform, therefore determining which isoline of ϕ0\phi_{0} is adopted as domain boundary. However, to introduce more flexibility in the design of the cells, this work allows μ\mu to vary linearly as follows:

μ(ξ1,ξ2)=i=14li(ξ1,ξ2)μi,\mu\left(\xi_{1},\xi_{2}\right)=\sum_{i=1}^{4}{l}_{i}\left(\xi_{1},\xi_{2}\right)\mu_{i}\;, (6)

where li{l}_{i} are the classical first-degree Lagrangian shape functions, and the threshold parameters μi\mu_{i} correspond to the nodal values at the bottom-left, bottom-right, top-left, and top-right corners of Π^\hat{\Pi}. As for its untrimmed counterpart, the trimmed physical domain is obtained through the map:

Ω=𝓕(Ω^).\Omega=\boldsymbol{\mathcal{F}}(\hat{\Omega})\;. (7)

The boundary of the parametric domain is identified as two separate portions: the conformal portion lying on the untrimmed parametric domain boundary, and the trimmed portion that is internal to the domain:

Ω^c\displaystyle\partial\hat{\Omega}_{c} ={(ξ1,ξ2)Π^:ϕ0(ξ1,ξ2)<μ(ξ1,ξ2)},\displaystyle=\left\{(\xi_{1},\xi_{2})\in\partial\hat{\Pi}:\phi_{0}\left(\xi_{1},\xi_{2}\right)<\mu\left(\xi_{1},\xi_{2}\right)\right\}\;, (8a)
Ω^t\displaystyle\partial\hat{\Omega}_{t} ={(ξ1,ξ2)int(Π^):ϕ0(ξ1,ξ2)=μ(ξ1,ξ2)},\displaystyle=\left\{(\xi_{1},\xi_{2})\in\mathrm{int}(\hat{\Pi}):\phi_{0}\left(\xi_{1},\xi_{2}\right)=\mu\left(\xi_{1},\xi_{2}\right)\right\}\;, (8b)

where int()\mathrm{int}(\bullet) denotes the internal part of the domain \bullet, such that Ω^=Ω^cΩ^t\partial\hat{\Omega}=\partial\hat{\Omega}_{c}\cup\partial\hat{\Omega}_{t} and Ω^cΩ^t=\partial\hat{\Omega}_{c}\cap\partial\hat{\Omega}_{t}=\emptyset. In Figure 1, an example of a trimmed domain is shown in parametric and physical coordinates and its correspondent threshold parameters.

2.1.3 Assembled lattice structure

Refer to caption
Figure 3: A lattice structure is constructed by juxtaposing six cells in a compatible way. The compatibility conditions are illustrated for cells (1)(1) and (2)(2). The map of the common edge has to be the same for both cells, meaning 𝓕(1)(1,ξ)=𝓕(2)(0,ξ)\boldsymbol{\mathcal{F}}^{(1)}(1,\xi)=\boldsymbol{\mathcal{F}}^{(2)}(0,\xi) with ξ[0,1]\xi\in[0,1]. To guarantee that the threshold function varies in the same way along the common edge, the following equivalences are enforced between threshold parameters: μ2(1)=μ1(2)\mu_{2}^{(1)}=\mu_{1}^{(2)}, and μ4(1)=μ3(2)\mu_{4}^{(1)}=\mu_{3}^{(2)}.

The discussion so far has focused on the geometric definition of a single cell. To describe a complete structure composed of multiple cells, we now introduce a superscript (ic)(i_{c}) to distinguish all quantities associated with a specific cell, where ic{1,,nc}i_{c}\in\{1,\dots,n_{c}\} is the cell index and ncn_{c} is the total number of cells. Therefore, the untrimmed and trimmed physical domains of the overall structure are defined, respectively, as:

Π=int(ic=1ncΠ¯(ic)),andΩ=int(ic=1ncΩ¯(ic)),{\Pi}=\mathrm{int}\left(\bigcup_{i_{c}=1}^{n_{c}}\bar{\Pi}^{(i_{c})}\right),\quad\mathrm{and}\quad{\Omega}=\mathrm{int}\left(\bigcup_{i_{c}=1}^{n_{c}}\bar{\Omega}^{(i_{c})}\right)\;, (9)

where ¯\bar{\bullet} denotes the closure of the domain \bullet. While this procedure can generate complex topologies and is not restricted to tensor-product grids, the cells must satisfy certain compatibility conditions at both the untrimmed and trimmed levels.

First, for untrimmed compatibility, the physical mapping of connected edges must coincide. If the ic1i_{c_{1}}-th and ic2i_{c_{2}}-th cells are joined at their respective edges Π^i(ic1)\partial\hat{\Pi}_{i}^{(i_{c_{1}})} and Π^j(ic2)\partial\hat{\Pi}_{j}^{(i_{c_{2}})}, then:

𝓕(ic1)(Π^i(ic1))=𝓕(ic2)(Π^j(ic2)).\boldsymbol{\mathcal{F}}^{(i_{c_{1}})}\left(\partial\hat{\Pi}_{i}^{(i_{c_{1}})}\right)=\boldsymbol{\mathcal{F}}^{(i_{c_{2}})}\left(\partial\hat{\Pi}_{j}^{(i_{c_{2}})}\right). (10)

where i,j{1b,1t,2b,2t}i,j\in\{1b,1t,2b,2t\}.

Second, for trimmed compatibility, the trimming function ϕ\phi must be continuous across the common interface

ϕ(ic1)(ξ)=ϕ(ic2)(ξ),\phi^{(i_{c_{1}})}(\xi)=\phi^{(i_{c_{2}})}(\xi), (11)

where ξ[0,1]\xi\in[0,1] is an auxiliary curvilinear coordinate that parameterizes the interface. This condition, in turn, is satisfied if both the level-set and threshold functions are independently equal: ϕ0(ic1)(ξ)=ϕ0(ic2)(ξ)\phi_{0}^{(i_{c_{1}})}(\xi)=\phi_{0}^{(i_{c_{2}})}(\xi) and μ(ic1)(ξ)=μ(ic2)(ξ)\mu^{(i_{c_{1}})}(\xi)=\mu^{(i_{c_{2}})}(\xi). In the particular case of TPMS geometries, the first condition (ϕ0\phi_{0}) is automatically satisfied by their intrinsic periodicity, provided that the edge pairs (i,j)(i,j) in Equation (10) are restricted to the admissible set: (1b,1t),(1t,1b),(2b,2t),(2t,2b){(1b,1t),(1t,1b),(2b,2t),(2t,2b)}. The second equality (μ\mu) is satisfied by simply enforcing identical threshold parameters at the common nodes of neighboring cells.

To illustrate, in Figure 3, the two adjacent cells Π(1)\Pi^{(1)} and Π(2)\Pi^{(2)} are connected at their edges Π1t(1)\partial{\Pi}_{1t}^{(1)} and Π1b(2)\partial{\Pi}_{1b}^{(2)}. Compatibility of the untrimmed interface is ensured because the maps are chosen such that the following relationship holds: 𝓕(1)(1,ξ)=𝓕(2)(0,ξ)\boldsymbol{\mathcal{F}}^{(1)}(1,\xi)=\boldsymbol{\mathcal{F}}^{(2)}(0,\xi) with ξ[0,1]\xi\in[0,1]. Furthermore, compatibility of the trimmed interface is achieved by imposing μ2(1)=μ1(2)\mu^{(1)}_{2}=\mu^{(2)}_{1}, and μ4(1)=μ3(2)\mu^{(1)}_{4}=\mu^{(2)}_{3}.

Notably, a spline surface can be easily adopted as the untrimmed physical domain, as it naturally satisfies the compatibility condition in Equation (10). The only preprocessing required is a Bézier extraction for each of its elements, which in turn defines the mapping for each cell in the lattice structure.

2.2 Model Problem and Discretization

With the geometric framework for the lattice structure established, we now turn to the mechanical problem defined on the trimmed physical domain Ω\Omega. Specifically, we consider the linear elasticity equations, which govern the static response of the structure under prescribed loads and boundary conditions, and describe their discretization using a high-order unfitted finite element method.

2.2.1 Linear Elasticity

The variational statement for two-dimensional linear elasticity reads: find the displacement field 𝒖[1]𝒖¯2\boldsymbol{u}\in[\mathcal{H}^{1}]^{2}_{\bar{\boldsymbol{u}}} such that

𝔏int(𝒗,𝒖)=𝔏ext(𝒗),𝒗[1]𝟎2,\mathfrak{L}_{int}(\boldsymbol{v},\boldsymbol{u})=\mathfrak{L}_{ext}(\boldsymbol{v})\;,\quad\quad\forall\boldsymbol{v}\in[\mathcal{H}^{1}]^{2}_{\boldsymbol{0}}\;, (12)

where [1]𝒖¯2[\mathcal{H}^{1}]^{2}_{\bar{\boldsymbol{u}}} and [1]𝟎2[\mathcal{H}^{1}]^{2}_{\boldsymbol{0}} represent the subspaces of [1]2[\mathcal{H}^{1}]^{2} for which Dirichlet boundary conditions are satisfied, in the first case, and where the test function 𝒗\boldsymbol{v} is null on the Dirichlet boundary, in the second one. It is further assumed that only pure Dirichlet or Neumann boundary conditions are considered, meaning that mixed boundary conditions, where Dirichlet is applied to one component of the displacement and Neumann to another, are excluded for simplicity. We note that supporting such conditions is a straightforward extension of the present framework.

The bilinear and the linear forms in Equation (12) are also referred to as virtual work of the internal and external forces, respectively, and are defined as:

𝔏int(𝒗,𝒖)=ic=1nc𝔏int(ic)(𝒗,𝒖),\displaystyle\mathfrak{L}_{int}(\boldsymbol{v},\boldsymbol{u})=\sum_{i_{c}=1}^{n_{c}}\mathfrak{L}_{int}^{(i_{c})}(\boldsymbol{v},\boldsymbol{u}), (13a)
𝔏ext(𝒗)=ic=1nc𝔏ext(ic)(𝒗),\displaystyle\mathfrak{L}_{ext}(\boldsymbol{v})=\sum_{i_{c}=1}^{n_{c}}\mathfrak{L}_{ext}^{(i_{c})}(\boldsymbol{v})\;, (13b)

where the virtual work of the internal and external forces for the ici_{c}-th cell are defined as:

𝔏int(ic)(𝒗,𝒖)=Ω(ic)𝝈(𝒖):𝜺(𝒗)𝑑Ω,\displaystyle\mathfrak{L}_{int}^{(i_{c})}(\boldsymbol{v},\boldsymbol{u})=\int_{\Omega^{(i_{c})}}\boldsymbol{\sigma}(\boldsymbol{u}):\boldsymbol{\varepsilon}(\boldsymbol{v})\,\mathrm{d}\Omega\;, (14a)
𝔏ext(ic)(𝒗)=Ω(ic)𝒗𝒃dΩ+ΩN(ic)𝒗𝒕dΩ,\displaystyle\mathfrak{L}_{ext}^{(i_{c})}(\boldsymbol{v})=\int_{\Omega^{(i_{c})}}\boldsymbol{v}\cdot\boldsymbol{b}\,\mathrm{d}\Omega+\int_{\partial\Omega^{(i_{c})}_{N}}\boldsymbol{v}\cdot\boldsymbol{t}\,\mathrm{d}\partial\Omega\;, (14b)

where 𝒃\boldsymbol{b} and 𝒕\boldsymbol{t} are the distributed domain force and boundary traction, respectively. The components of the strain tensor 𝜺\boldsymbol{\varepsilon} are:

εij(𝒖)=12(uixj+ujxi),\varepsilon_{ij}(\boldsymbol{u})=\frac{1}{2}\left(\frac{\partial u_{i}}{\partial x_{j}}+\frac{\partial u_{j}}{\partial x_{i}}\right)\;, (15)

whereas the components of the stress tensor are obtained through the constitutive relationship:

σij=Cijklεkl,\sigma_{ij}=C_{ijkl}\,\varepsilon_{kl}\;, (16)

being CijklC_{ijkl} the elasticity tensor that for isotropic materials reads as:

Cijkl=λδijδkl+μ(δikδjl+δilδjk),C_{ijkl}=\lambda\,\delta_{ij}\delta_{kl}+\mu\,(\delta_{ik}\delta_{jl}+\delta_{il}\delta_{jk}), (17)

where λ\lambda and μ\mu are the Lamé parameters of the material. The linear elasticity variational statement can be reformulated through an adequate transformation directly in the parametric domain of the cell, which will be useful later in this article for the fast assembly procedure. To do so, one shall notice that

uixj=uiξkξkxj,dΩ=jΩdΩ^,dΩ=jΩdΩ^,andεijCijklεkl=uixjCijklukxl\frac{\partial u_{i}}{\partial x_{j}}=\frac{\partial u_{i}}{\partial\xi_{k}}\frac{\partial\xi_{k}}{\partial x_{j}}\;,\quad\mathrm{d}\Omega=j_{\Omega}\mathrm{d}\hat{\Omega}\;,\quad\mathrm{d}\partial\Omega=j_{\partial\Omega}\mathrm{d}\partial\hat{\Omega}\;,\quad\mathrm{and}\quad\varepsilon_{ij}C_{ijkl}\varepsilon_{kl}=\frac{\partial u_{i}}{\partial x_{j}}C_{ijkl}\frac{\partial u_{k}}{\partial x_{l}}\, (18)

where the last equivalence comes from the symmetries of the elasticity tensor, jΩj_{\Omega} is the determinant of the Jacobian of the map in Equation (2), and jΩj_{\partial\Omega} is the curve Jacobian associated with the boundary. Substituting into Equation (14), the virtual works of the internal and external forces become:

𝔏int(ic)(𝒗,𝒖)=Ω^(ic)uiξjC^ijklukξl𝑑Ω^,\displaystyle\mathfrak{L}_{int}^{(i_{c})}(\boldsymbol{v},\boldsymbol{u})=\int_{\hat{\Omega}^{(i_{c})}}\frac{\partial u_{i}}{\partial\xi_{j}}\hat{C}_{ijkl}\frac{\partial u_{k}}{\partial\xi_{l}}\,\mathrm{d}\hat{\Omega}\;, (19a)
𝔏ext(ic)(𝒗)=Ω^(ic)𝒗𝒃^dΩ^+Ω^N(ic)𝒗𝒕^dΩ^,\displaystyle\mathfrak{L}_{ext}^{(i_{c})}(\boldsymbol{v})=\int_{\hat{\Omega}^{(i_{c})}}\boldsymbol{v}\cdot\hat{\boldsymbol{b}}\,\mathrm{d}\hat{\Omega}+\int_{\partial\hat{\Omega}^{(i_{c})}_{N}}\boldsymbol{v}\cdot\hat{\boldsymbol{t}}\,\mathrm{d}\partial\hat{\Omega}\;, (19b)

where the elasticity tensor and external forces have been modified as:

C^ijkl=jΩξmxjCimknξnxl,\displaystyle\hat{C}_{ijkl}=j_{\Omega}\;\frac{\partial\xi_{m}}{\partial x_{j}}C_{imkn}\frac{\partial\xi_{n}}{\partial x_{l}}\;, (20a)
𝒃^=jΩ𝒃,\displaystyle\hat{\boldsymbol{b}}=j_{\Omega}\;\boldsymbol{b}\;, (20b)
𝒕^=jΩ𝒕.\displaystyle\hat{\boldsymbol{t}}=j_{\partial\Omega}\;\boldsymbol{t}\;. (20c)

It shall be mentioned that in the previous equations, the term relative to the differential geometry of the map should be enriched with a superscript (ic)(i_{c}) since this is specific to the cell. However, to enhance readability and simplify the notation the superscript has not been used here.

2.2.2 p-FEM finite element method

Refer to caption
Figure 4: Position of the Gauss-Lobatto-Legendre nodes of the Lagrangian basis superimposed to the trimmed parametric domain Ω^\hat{\Omega} and its complement Ω^Π\hat{\Omega}_{\Pi}. The associated univariate polynomials in ξ1\xi_{1} and ξ2\xi_{2} are also shown.

The approximation space employed in this work is based on Lagrange polynomials defined on Gauss-Lobatto-Legendre (GLL) nodes, constructed over the untrimmed parametric domain Π^(ic)\hat{\Pi}^{(i_{c})}. Accordingly, the polynomials are expressed as functions of the curvilinear coordinates ξ1\xi_{1} and ξ2\xi_{2}. Figure 4 illustrates the univariate polynomials of degree 6 in both directions, along with the associated tensor-product GLL nodes. The corresponding bivariate polynomials are defined as:

Bij(ξ1,ξ2)=bi(ξ1)bj(ξ2),withi,j{0,,p},{B}_{ij}(\xi_{1},\xi_{2})={b}_{i}(\xi_{1})\cdot{b}_{j}(\xi_{2}),\quad\mathrm{with}\quad i,j\in\{0,\dots,p\}, (21)

where bi(ξ1){b}_{i}(\xi_{1}) and bj(ξ2){b}_{j}(\xi_{2}) denote the ii-th and jj-th univariate GLL polynomials in the ξ1\xi_{1} and ξ2\xi_{2} directions, respectively, and pp represents the degree of the approximation space. Formally, the approximation space for the ici_{c}-th cell is given by

𝒮h=span{Bij𝓕1:i{0,,p},j{0,,p}},\mathcal{S}_{h}=\mathrm{span}\{{B}_{ij}\circ\boldsymbol{\mathcal{F}}^{-1}:i\in\{0,\dots,p\},\;j\in\{0,\dots,p\}\}, (22)

It is worth mentioning that in the p-FEM context, the mesh is not refined beyond the level of the individual cell, thereby making the approximation element and the geometric cell equivalent. Despite this seemingly coarse discretization of the individual cell, the high polynomial order ensures substantial approximation accuracy as it will be shown in Section 5.

Moreover, unlike other high-order bases, the GLL basis features nodes located at the domain boundaries, as illustrated in Figure 4 for p=6p=6. Consequently, degrees of freedom at cell interfaces could, in principle, be strongly enforced. However, as will be detailed in Section 3, the domain decomposition strategy adopted in this work does not impose a strong coupling of all interface degrees of freedom, but still exploits the coincidence of their position.

2.2.3 Unfitted FEM

The polynomial basis and the location of the nodes are initially defined on the untrimmed parametric domain Π^(ic)\hat{\Pi}^{(i_{c})}. After the trimming operation, however, the support of each basis function is restricted to its active portion corresponding to the trimmed parametric domain of the cell, Ω^(ic)\hat{\Omega}^{(i_{c})}. Importantly, regardless of the shape of the trimming, each basis function remains active, even if the associated node lies outside the active domain, leading to fully dense stiffness matrices.

One might argue that, for a comparable approximation accuracy, using lower-degree polynomials with mesh refinement could provide the advantage of increased sparsity. Nevertheless, the property that the basis functions remain active irrespective of the trimming geometry is particularly advantageous for building a surrogate model of the stiffness, as discussed in Section 4, and is a primary motivation for the adoption of p-FEM elements.

Unfitted discretizations naturally introduce three main challenges: quadrature, application of Dirichlet boundary conditions, and conditioning.

Quadrature algorithm

Quadrature over the complex trimmed domains is handled by the recently released QUGaR library [61], which provides a high-order quadrature algorithm for level-set-defined geometries within the FEniCSx framework [62], building on the algoim library [63, 64, 65]. The algorithm recasts the integral over the implicitly defined domain as a recursive sequence of one-dimensional integrations, thereby avoiding any explicit reconstruction of the trimmed boundary. Once an integration direction has been selected, the height function induced by the level-set, that is, the location of its roots along that direction, provides the integration bounds in that coordinate. The remaining base direction is then partitioned into subintervals delimited by the critical points of the level-set, where the height function loses smoothness or the number of roots changes. In the interior of each subinterval the integrand is infinitely smooth, so that a standard quadrature rule (e.g. Gauss-Legendre or tanh-sinh), applied in a tensor-product fashion, evaluates the integral to high accuracy. The procedure is illustrated in Figure 5 for one of the level-set functions listed in Table 1. This methodology has proven to yield high-order accuracy and spectral convergence of the integration error. Consequently, the consistency error associated with the numerical integration can be safely assumed to be negligible. Furthermore, since changes in the threshold functions alter the underlying geometry, a distinct set of quadrature nodes and weights must be generated for each set of threshold parameters.

Ω^\hat{\Omega}
(a)
(b)
Figure 5: Height-function quadrature of QUGaR/algoim over the active domain Ω^\hat{\Omega} of a Schwarz Primitive cell, with ξ2\xi_{2} selected as the integration direction. (a) The base direction ξ1\xi_{1} is split at the critical points of the level-set (red circles) into subintervals I1,I2,I3I_{1},I_{2},I_{3} over which the height function is smooth. (b) A tensor-product Gauss rule then places the quadrature points within each subinterval, clustering them in the active domain.
Application of boundary conditions

We restrict our formulation to boundary conditions applied on the conformal portions of the boundary, Ω^c\partial\hat{\Omega}_{c}. Dirichlet conditions on Ω^c\partial\hat{\Omega}_{c} can be applied directly in a strong sense by acting on the degrees of freedom lying on Π^\partial\hat{\Pi}. Conversely, we do not consider Dirichlet boundary conditions on trimmed boundary portions, Ω^t\partial\hat{\Omega}_{t}. This is a deliberate choice since, in an unfitted setting, the degrees of freedom do not generally align with the cut boundary. As such, enforcing Dirichlet conditions there requires weak imposition techniques. Integrating such methods into the BDDC preconditioner is mathematically non-trivial and is deferred to future work. Non-homogeneous Neumann conditions are supported on the conformal portions of the boundary, including their active parts. On trimmed boundary portions, such conditions pose no mathematical difficulty, as they only involve an integral over the cut boundary, and they are indeed employed in the single-cell study of Section 5.1.1; however, they are not covered by the ROM acceleration of Section 4 and are therefore not considered in the remainder of this work. While boundary conditions on trimmed boundaries might be relevant for local fixtures, local loads, or contact zones, they are uncommon for the interior surfaces of lattice structures, which are typically left unloaded.

Stabilization

Depending on the configuration of the trimming, poorly conditioned stiffness matrices may arise even with a spectral basis. To address this issue, we employ the α\alpha-stabilization proposed in [66]. This non-consistent term is defined as:

𝔏sta(𝒗,𝒖)=ρic=1ncΩ^Π(ic)uiξjC^ijklukξl𝑑Ω^,\mathfrak{L}_{sta}(\boldsymbol{v},\boldsymbol{u})=\rho\sum_{i_{c}=1}^{n_{c}}\int_{\hat{\Omega}^{(i_{c})}_{\Pi}}\frac{\partial u_{i}}{\partial\xi_{j}}\hat{C}_{ijkl}\frac{\partial u_{k}}{\partial\xi_{l}}\,\mathrm{d}\hat{\Omega}, (23)

where ρ\rho is a constant that balances the condition number with the consistency error. The stabilization is applied over the complement of the active domain, Ω^Π(ic)=Π^(ic)Ω^(ic)\hat{\Omega}^{(i_{c})}_{\Pi}=\hat{\Pi}^{(i_{c})}\setminus\hat{\Omega}^{(i_{c})}. Physically, this stabilization can be interpreted as immersing the domain in a softer material, which, when ρ\rho is small, does not significantly contribute to the overall stiffness of the structure.

3 Domain Decomposition Method

This section presents the Balancing Domain Decomposition by Constraints (BDDC) method [67, 55], a non-overlapping domain decomposition technique used to solve the linear system arising from the assembly of the lattice structures. In the present framework, each cell is associated with a corresponding subdomain in the domain decomposition setting. The global Schur complement system, obtained after condensing the internal degrees of freedom (DoFs) of each subdomain, is solved iteratively using the preconditioned conjugate gradient (PCG) method. The BDDC preconditioner decomposes the correction of the residual into two complementary parts: (i) independent local Neumann-type solves in each subdomain, made invertible by constraining the correction to vanish at a selected set of coarse DoFs, and (ii) a global coarse solve that balances the local corrections through a basis spanning the coarse DoF space. Since the resulting correction is only guaranteed to be continuous at the coarse DoFs, a weighted averaging step using a discrete partition of unity restores full continuity across the entire interface skeleton.

Two important aspects of the problem formulation must be noted already at this stage. First, for the 2D elasticity problems considered, there is no one-to-one correspondence between degrees of freedom and nodes; each node is associated with two DoFs, corresponding to the components of the displacement vector. Second, eventual Dirichlet boundary conditions are enforced strongly along entire edges even though only part of it is effectively active. Furthermore, only pure Dirichlet and Neumann boundary conditions are considered, while mixed boundary conditions are neglected.

To improve readability, quantities associated with an individual cell will be denoted by a superscript (i)(i), which differs from the notation used in the previous section. Throughout this section, the following notational convention is adopted: a tilde denotes the redundant (vertically stacked) version of a quantity, obtained by collecting contributions from all cells, e.g., u~\tilde{u}; the absence of a tilde denotes the assembled (non-redundant) counterpart, e.g., uu; and a superscript (i)(i) denotes the local version associated with ii-th cell, e.g., u(i)u^{(i)}. The same convention applies to operators such as ~U\tilde{\mathcal{R}}_{U} and U(i)\mathcal{R}_{U}^{(i)}, and to DoF counts such as n~U\tilde{n}_{U}, nUn_{U}, and nU(i)n_{U}^{(i)}. Furthermore, the following vertical stacking and diagonal stacking operators are introduced here and adopted throughout this section:

vstack(v1,vn)=[v1v2vn],andblockdiag(M1,Mn)=[M10000Mn].\mathrm{vstack}(v_{1}\dots,v_{n})=\begin{bmatrix}v_{1}\\ v_{2}\\ \\ \vdots\\ v_{n}\end{bmatrix},\quad\mathrm{and}\quad\mathrm{blockdiag}(M_{1}\dots,M_{n})=\begin{bmatrix}M_{1}&0&\cdots&0\\ \vdots&\vdots&\ddots&\vdots\\ 0&0&\cdots&M_{n}\end{bmatrix}.

3.1 Preliminary decompositions

Refer to caption
Figure 6: Classification of the DoFs associated with a single cell (a) and with a two-by-two cells structure (b). For the single cell in subfigure (a): Refer to caption denotes the local DoFs associated with the Dirichlet boundary conditions collected in uD(i)u_{D}^{(i)}; Refer to caption denotes the local DoFs whose associated nodes lie on the internal skeleton, collected in u(i)u^{(i)}; Refer to caption denotes the local internal DoFs collected in uI(i)u_{I}^{(i)}. Regarding the entire structure in subfigure (b): Refer to caption denotes the global internal DoFs collected in u~I\tilde{u}_{I}; Refer to caption denotes the non-redundant skeleton DoFs collected in uu; Refer to caption denotes the redundant global skeleton DoFs collected in u~\tilde{u}. The relationship between u~\tilde{u} and uu, visualized by dashed lines in (b), is enforced by the equation u~=~Uu\tilde{u}=\tilde{\mathcal{R}}_{U}u.

Figure 6a illustrates a single cell together with the nodes associated with the DoFs of its spectral approximation space. These DoFs are grouped into three distinct vectors: uD(i)u_{D}^{(i)}, u(i)u^{(i)}, and uI(i)u_{I}^{(i)}. The first vector, uD(i)u_{D}^{(i)} (triangles), contains the local Dirichlet DoFs, i.e., those at which Dirichlet boundary conditions are imposed in strong form. The second vector, u(i)u^{(i)} (squares), contains the local skeleton DoFs, defined as those that do not belong to uD(i)u_{D}^{(i)} and lie on an interface with another cell. Finally, the third vector, uI(i)u_{I}^{(i)} (solid circles), contains the remaining internal DoFs. The sizes of such vectors are denoted as nD(i)n_{D}^{(i)}, nU(i)n_{U}^{(i)}, and nI(i)n_{I}^{(i)}, respectively. For the assembled structure, the internal and skeleton DoFs are stacked into their global counterparts, denoted by u~I\tilde{u}_{I} and u~\tilde{u}, respectively, as follows:

u~I=vstack(uI(1),,uI(nc)),andu~=vstack(u(1),,u(nc)).\tilde{u}_{I}=\mathrm{vstack}\left(u_{I}^{(1)},\dots,u_{I}^{(n_{c})}\right),\quad\mathrm{and}\quad\tilde{u}=\mathrm{vstack}\left(u^{(1)},\dots,u^{(n_{c})}\right)\;. (24)

It is worth recalling that ncn_{c} denotes the number of cells and coincides with the number of subdomains in the decomposition. The dimensions of these vectors are given by n~I=i=1ncnI(i)\tilde{n}_{I}=\sum_{i=1}^{n_{c}}n_{I}^{(i)} and n~U=i=1ncnU(i)\tilde{n}_{U}=\sum_{i=1}^{n_{c}}n_{U}^{(i)}. While the local internal DoFs uI(i)u_{I}^{(i)} vectors are mutually independent, the skeleton DoFs are not. Consequently, the vector u~\tilde{u} contains redundant DoFs. In contrast, we denote by uu the vector of independent non-redundant skeleton DoFs, and by nUn_{U} its dimension. The relationship between n~U\tilde{n}_{U} and nUn_{U} depends on the specific geometry of the mesh. After introducing a global numbering of the non-redundant skeleton DoFs, we introduce the extension/restriction operators U(i)nU(i)×nU\mathcal{R}_{U}^{(i)}\in\mathbb{R}^{n_{U}^{(i)}\times n_{U}} associated to the relation

u(i)=U(i)u,u^{(i)}=\mathcal{R}_{U}^{(i)}u, (25)

that extract the vector of local skeleton DoFs from its global non-redundant version. U(i)\mathcal{R}_{U}^{(i)} is therefore composed of zeros and ones accordingly to the global and local DoFs orderings. The corresponding global expression reads

u~=~Uu,\tilde{u}=\tilde{\mathcal{R}}_{U}u, (26)

with ~Un~U×nU\tilde{\mathcal{R}}_{U}\in\mathbb{R}^{\tilde{n}_{U}\times n_{U}}

~U=vstack(U(1),,U(nc)).\tilde{\mathcal{R}}_{U}=\mathrm{vstack}\left(\mathcal{R}_{U}^{(1)},\dots,\mathcal{R}_{U}^{(n_{c})}\right). (27)

3.2 Assembly of the stiffness matrix

The standard assembly of the bilinear forms introduced in Section 2.2, for the ii-th cell, yields a local stiffness matrix that can be partitioned into submatrices denoted by KAB(i)K_{AB}^{(i)}. Here, the subscripts AA and BB take values in {I,U,D}\{I,U,D\}, depending on whether the corresponding rows and columns are associated with uI(i)u_{I}^{(i)}, u(i)u^{(i)}, and uD(i)u_{D}^{(i)}, respectively. Similarly, the assembly of the linear forms in Section 2.2 yields the local external force vector, which is partitioned into fI(i)f_{I}^{*(i)} and fU(i)f_{U}^{*(i)}. These local force vectors are further adjusted by condensing the Dirichlet DoFs as

fI(i)=fI(i)KID(i)uD(i),\displaystyle f_{I}^{(i)}=f_{I}^{*(i)}-K_{ID}^{(i)}u_{D}^{(i)}\;, (28)
fU(i)=fU(i)KUD(i)uD(i).\displaystyle f_{U}^{(i)}=f_{U}^{*(i)}-K_{UD}^{(i)}u_{D}^{(i)}\;. (29)

Assembling the local stiffness matrices and force vectors over the entire structure, while preserving the separation between internal and skeleton DoFs in the global ordering, yields the following linear system:

[K~IIK~IU~U~UK~IU~UK~UU~U][u~Iu]=[f~I~Uf~U]\begin{bmatrix}\tilde{K}_{II}&\tilde{K}_{IU}\tilde{\mathcal{R}}_{U}\\ \tilde{\mathcal{R}}_{U}^{\top}\tilde{K}_{IU}^{\top}&\tilde{\mathcal{R}}_{U}^{\top}\tilde{K}_{UU}\tilde{\mathcal{R}}_{U}\end{bmatrix}\begin{bmatrix}\tilde{u}_{I}\\ u\end{bmatrix}=\begin{bmatrix}\tilde{f}_{I}\\ \tilde{\mathcal{R}}_{U}^{\top}\tilde{f}_{U}\end{bmatrix} (30)

Here,

K~AB=blockdiag(KAB(1),,KAB(nc)),andf~A=vstack(fA(1),,fA(nc)),\tilde{K}_{AB}=\mathrm{blockdiag}\left(K_{AB}^{(1)},\dots,K_{AB}^{(n_{c})}\right)\;,\quad\mathrm{and}\quad\tilde{f}_{A}=\mathrm{vstack}\left(f_{A}^{(1)},\dots,f_{A}^{(n_{c})}\right)\;, (31)

where, the subscripts AA and BB take values in {I,U}\{I,U\}. Then, condensing the internal DoFs within each cell leads to the local Schur complement S(i)S^{(i)} and the corresponding condensed force vector f(i)f^{(i)}, defined by

S(i)=KUU(i)KUI(i)KII(i)1KIU(i),\displaystyle S^{(i)}=K_{UU}^{(i)}-K_{UI}^{(i)}K_{II}^{(i)-1}K_{IU}^{(i)}\;,
f(i)=fU(i)KUI(i)KII(i)1fI(i).\displaystyle f^{(i)}=f_{U}^{(i)}-K_{UI}^{(i)}K_{II}^{(i)-1}f_{I}^{(i)}\;.

Note that KII(i)K_{II}^{(i)} is invertible, since neither skeleton nor external boundary DoFs are included in its definition. In this work, the local Schur complements are assembled explicitly, although the inverse KII(i)1K_{II}^{(i)-1} is never formed. Instead, the action of KII(i)1K_{II}^{(i)-1} on KIU(i)K_{IU}^{(i)} is computed by solving linear systems of the form KII(i)X=KIU(i)K_{II}^{(i)}X=K_{IU}^{(i)}, i.e., by applying a local solve to each column of KIU(i)K_{IU}^{(i)}. The resulting global system reads

~US~~Uu=~Uf~\tilde{\mathcal{R}}_{U}^{\top}\tilde{S}\tilde{\mathcal{R}}_{U}\,u=\tilde{\mathcal{R}}_{U}^{\top}\tilde{f}

where

S~=blockdiag(S(1),,S(nc)),andf~=vstack(f(1),,f(nc)).\tilde{S}=\mathrm{blockdiag}\left(S^{(1)},\dots,S^{(n_{c})}\right)\;,\quad\mathrm{and}\quad\tilde{f}=\mathrm{vstack}\left(f^{(1)},\dots,f^{(n_{c})}\right)\;.

Equivalently,

Su=fSu=f (32)

with S=~US~~US=\tilde{\mathcal{R}}_{U}^{\top}\tilde{S}\tilde{\mathcal{R}}_{U}, and f=~Uf~f=\tilde{\mathcal{R}}_{U}^{\top}\tilde{f}, where SS is the global assembled Schur complement.

3.3 The BDDC method

In the BDDC method [60, 67], the system in Equation (32) is solved using an iterative method, here the preconditioned conjugate gradient (PCG) method, where the construction of the preconditioner SBDDC1S_{BDDC}^{-1} is described in the following subsection. Although the details are omitted here for brevity, the PCG algorithm requires the multiplication of search directions by SS and of residuals by SBDDC1S_{BDDC}^{-1}.

In this contribution, neither of these quantities are explicitly assembled. Only local Schur complements S(i)S^{(i)} are assembled and stored. Therefore, the action of SS on a vector is performed through sequences of matrix-vector multiplications that can be efficiently distributed in parallel. In contrast, the application of SBDDC1S_{BDDC}^{-1} also involves local solves, which are likewise readily parallelizable, with only one coarse global solve performed using a parallel Cholesky factorization (although alternative solvers for the coarse correction could also be employed).

The BDDC preconditioner consists of two components: a coarse correction, which addresses errors associated with global low-frequency modes affecting the entire structure, and a fine correction, which targets errors in local high-frequency behaviors. To properly separate these two contributions, a set of coarse DoFs is selected.

3.3.1 Coarse degrees of freedom

Refer to caption
Figure 7: Classification of the coarse DoFs associated with a single cell (a) and with a two-by-two cells structure (b). For the single cell in subfigure (a): Refer to caption local DoFs of the internal skeleton used to compute edge averages and moments; Refer to caption local DoFs at crosspoints that are also coarse DoFs; Refer to caption local averages of DoFs on edges lying on the internal skeleton; Refer to caption local moments of DoFs on edges lying on the internal skeleton. In particular, these last three categories are collected in the vector of local coarse DoFs c(i)c^{(i)}. Regarding the entire structure in subfigure (b): Refer to caption global redundant DoFs at crosspoints that are also coarse DoFs; Refer to caption global redundant averages of DoFs on internal skeleton edges; Refer to caption global redundant moments of DoFs on internal skeleton edges. These last three categories are collected in the global vector of redundant coarse DoFs c~\tilde{c}; Refer to caption global non-redundant DoFs at crosspoints that are also coarse DoFs; Refer to caption global non-redundant averages of DoFs on internal skeleton edges; Refer to caption global non-redundant moments of DoFs on internal skeleton edges. These last three categories are collected in the global vector of non-redundant coarse DoFs cc. The relationship between c~\tilde{c} and cc, visualized by dashed lines in (b), is enforced by the equation c~=~Cc\tilde{c}=\tilde{\mathcal{R}}_{C}c.

Coarse DoFs are selected skeleton DoFs, or combinations thereof, used to capture the global behavior of the structure. In this work, three types of coarse DoFs are considered: cross-point values, edge averages, and edge moments (see Figure 7). This choice is inspired by [68, 69], although not identical. Cross points are nodes located at the intersection of mesh lines. The coarse DoFs associated with the ixi_{x}-th cross point are defined as

cixu1\displaystyle c_{i_{x}}^{u_{1}} =u1|𝒙ix,\displaystyle=u_{1}|_{\boldsymbol{x}_{i_{x}}}\,, (33a)
cixu2\displaystyle c_{i_{x}}^{u_{2}} =u2|𝒙ix,\displaystyle=u_{2}|_{\boldsymbol{x}_{i_{x}}}\,, (33b)

where u1u_{1} and u2u_{2} denote the components of the displacement vector, and 𝒙ix\boldsymbol{x}_{i_{x}} are the coordinates of the ixi_{x}-th cross point. The remaining coarse DoFs are associated to the iei_{e}-th edge. Two average coarse DoFs are introduced, one for each displacement component:

ciea1\displaystyle c_{i_{e}}^{a_{1}} =Ωieu1dΩ,\displaystyle=\int_{\partial\Omega_{i_{e}}}u_{1}\,\text{d}\partial\Omega\,, (34a)
ciea2\displaystyle c_{i_{e}}^{a_{2}} =Ωieu2dΩ,\displaystyle=\int_{\partial\Omega_{i_{e}}}u_{2}\,\text{d}\partial\Omega\,, (34b)

where Ωie\partial\Omega_{i_{e}} denotes the domain of the iei_{e}-th edge. In addition, one moment-based coarse DoF is defined as

ciem=Ωie𝒇𝒖dΩ,c_{i_{e}}^{m}=\int_{\partial\Omega_{i_{e}}}\boldsymbol{f}\cdot\boldsymbol{u}\,\text{d}\partial\Omega\,, (35)

where 𝒇=(x2x¯2x¯1x1)\boldsymbol{f}=\begin{pmatrix}x_{2}-\bar{x}_{2}\\ \bar{x}_{1}-x_{1}\end{pmatrix} and (x¯1,x¯2)(\bar{x}_{1},\bar{x}_{2}) are the coordinates of the center of the edge. Collecting all coarse DoFs into the vector cc of size nCn_{C}, the following relationship holds:

c=Qu,c=Qu\;, (36)

where QnC×nUQ\in\mathbb{R}^{n_{C}\times n_{U}} is the matrix that enforces the above definitions through adequate integration and evaluation of basis functions. Figure 7 shows the different types of coarse DoFs for a single cell and for a two-by-two cells structure. As for the skeleton DoFs, the coarse DoFs vector on the ii-th cell, denoted by c(i)c^{(i)} and of size nC(i)n_{C}^{(i)}, is obtained through an extension/restriction operator C(i)nC(i)×nC\mathcal{R}_{C}^{(i)}\in\mathbb{R}^{n_{C}^{(i)}\times n_{C}},

c(i)=C(i)c.c^{(i)}=\mathcal{R}_{C}^{(i)}c. (37)

Similarly to U(i)\mathcal{R}_{U}^{(i)}, the matrix C(i)\mathcal{R}_{C}^{(i)} consists of properly placed zeros and ones according to the global and local orderings of the coarse DoFs. By stacking the local coarse DoFs, the vector of redundant coarse DoFs c~\tilde{c} of size n~C=i=1ncnC(i)\tilde{n}_{C}=\sum_{i=1}^{n_{c}}n_{C}^{(i)} is defined as

c~=vstack(c(1),,c(nc)),\tilde{c}=\mathrm{vstack}\left(c^{(1)},\dots,c^{(n_{c})}\right)\;, (38)

and the associated matrix ~Cn~C×nC\tilde{\mathcal{R}}_{C}\in\mathbb{R}^{\tilde{n}_{C}\times n_{C}}

~C=vstack(C(1),,C(nc))\tilde{\mathcal{R}}_{C}=\mathrm{vstack}\left(\mathcal{R}_{C}^{(1)},\dots,\mathcal{R}_{C}^{(n_{c})}\right)

performs the operation

c~=~Cc.\tilde{c}=\tilde{\mathcal{R}}_{C}\,c\;.

Additionally, the constraint matrices C(i)nC(i)×nU(i)C^{(i)}\in\mathbb{R}^{n_{C}^{(i)}\times n_{U}^{(i)}} are introduced to extract the coarse DoFs of cell ii from its skeleton DoFs:

C(i)=C(i)QU(i),C^{(i)}=\mathcal{R}_{C}^{(i)}Q\mathcal{R}_{U}^{(i)\top}\;,

associated to the relation

c(i)=C(i)u(i).c^{(i)}=C^{(i)}u^{(i)}\;.

The global version of the precedent relation is expressed as:

c~=C~u~,\tilde{c}=\tilde{C}\tilde{u}\;,

where matrix C~n~C×n~U\tilde{C}\in\mathbb{R}^{\tilde{n}_{C}\times\tilde{n}_{U}} is defined as

C~=blockdiag(C(1),,C(nc)).\tilde{C}=\mathrm{blockdiag}\left(C^{(1)},\dots,C^{(n_{c})}\right)\;.

3.3.2 Coarse basis functions

Associated with the coarse DoFs cc, the matrix Ψ~\tilde{\Psi} of size n~U×nC\tilde{n}_{U}\times n_{C} is introduced, whose columns represent a coarse basis for the global correction. The matrix Ψ~\tilde{\Psi} is defined through

[S~C~C~0][Ψ~Λ~]=[0~C],\begin{bmatrix}\tilde{S}&\tilde{C}^{\top}\\ \tilde{C}&0\end{bmatrix}\begin{bmatrix}\tilde{\Psi}\\ \tilde{\Lambda}\end{bmatrix}=\begin{bmatrix}0\\ \mathcal{\tilde{R}}_{C}\end{bmatrix}\;,

which implies that the ii-th column of the matrix Ψ~\tilde{\Psi} is obtained as the solution associated with the ii-th column of the matrix ~C\tilde{\mathcal{R}}_{C}. The matrix Λ~\tilde{\Lambda} contains the Lagrange multipliers associated with the coarse DoF constraints. Additionally, due to the block structures of S~\tilde{S}, C~\tilde{C}, and ~C\tilde{\mathcal{R}}_{C}, the previous problem can be decomposed, and therefore parallelized, into local problems as

[S(i)C(i)C(i)0][Ψ(i)Λ(i)]=[0C(i)],\begin{bmatrix}S^{(i)}&C^{(i)\top}\\ C^{(i)}&0\end{bmatrix}\begin{bmatrix}\Psi^{(i)}\\ \Lambda^{(i)}\end{bmatrix}=\begin{bmatrix}0\\ \mathcal{R}_{C}^{(i)}\end{bmatrix}\;, (39)

where Λ(i)\Lambda^{(i)} contains the Lagrange multipliers associated to coarse DoFs at the cell level. Furthermore, it should be noted that while ~C\tilde{\mathcal{R}}_{C} has at least two nonzero elements in every column, this is not necessarily the case for the local matrix C(i)\mathcal{R}_{C}^{(i)} in cell ii. Therefore, only a subset of the problems (39) needs to be solved for each cell. The coarse basis functions Ψ~\tilde{\Psi} are then assembled as

Ψ~=vstack(Ψ(1),,Ψ(nc)).\tilde{\Psi}=\mathrm{vstack}\left(\Psi^{(1)},\dots,\Psi^{(n_{c})}\right)\;.

From a physical point of view, the ii-th basis function (i.e., the ii-th column of Ψ~\tilde{\Psi}) represents the displacement field obtained by solving in each cell a local Dirichlet problem where, in addition to homogeneous Dirichlet conditions on the external boundary DoFs uD(i)u_{D}^{(i)}, one coarse DoF is set equal to one while all the others are set to zero.

3.3.3 Discrete partition of unity matrix

In agreement with the PCG scheme, the input to the BDDC preconditioner is the residual force vector on the skeleton. As shown in the next subsection, the first step of the preconditioner is to distribute this vector to each cell by means of the extension/restriction operator ~U\tilde{\mathcal{R}}_{U}. In doing so, it is important that the sum of the extended contributions equals one and that the forces are distributed proportionally to the local stiffness associated with their DoFs. For this purpose, the diagonal matrix D~\tilde{D} is introduced, constructed as

D~=blockdiag(D(1),,D(nc)),\tilde{D}=\mathrm{blockdiag}\left(D^{(1)},\dots,D^{(n_{c})}\right), (40)

where, for the ii-th cell, the jjj\,j-th entry of the diagonal matrix D(i)D^{(i)}, corresponding to the node XlX_{l}, is defined as

D[jj](i)=K[jj](i)Kltot,D^{(i)}_{[j\,j]}=\frac{K_{[j\,j]}^{(i)}}{K_{l}^{tot}}, (41)

where KltotK_{l}^{tot} denotes the sum of all stiffness contributions associated with node XlX_{l} from the cells sharing that node.

3.3.4 The preconditioner

The BDDC preconditioner, denoted by SBDDC1S_{BDDC}^{-1}, provides an approximation of the inverse of the global Schur complement. Its action decomposes the correction of the residual into two contributions acting on distinct S~\tilde{S}-orthogonal subspaces. The first contribution is a fine correction: independent local Neumann-type problems are solved in each subdomain. Because such local Neumann problems are in general not invertible, the correction is computed in the subspace of functions that vanish at the coarse DoFs (i.e., ker(C(i))\ker(C^{(i)})), which is enforced through local saddle-point systems (see Algorithm 2). The second contribution is a coarse correction: the residual is projected onto the subspace spanned by the coarse basis functions Ψ~\tilde{\Psi}, and a global coarse system involving SC=Ψ~S~Ψ~S_{C}=\tilde{\Psi}^{\top}\tilde{S}\tilde{\Psi}^{\top} is solved. This coarse solve balances the local fine corrections, hence the name of the method. The constraints thus serve a dual purpose: they ensure the invertibility of local problems and define a coarse basis that allows the solver to scale effectively as the problem size grows. While the exact solution is globally continuous, the approximate correction obtained from the direct sum of these two subspaces is only guaranteed to be continuous at the coarse DoFs. To restore global continuity across the entire interface skeleton, the partially discontinuous correction is projected back onto the continuous space using the restriction operator ~U\tilde{\mathcal{R}}_{U} and the diagonal scaling matrix D~\tilde{D}. This weighting is essential for ensuring the robustness and convergence of the method.

The formal expression of the preconditioner reads

SBDDC1=~UD~Ψ~SC1Ψ~D~~U+i=1nc[D(i)U(i)0][S(i)C(i)C(i)0]1[D(i)U(i)0].S_{BDDC}^{-1}=\tilde{\mathcal{R}}_{U}^{\top}\tilde{D}^{\top}\tilde{\Psi}S_{C}^{-1}\tilde{\Psi}^{\top}\tilde{D}\tilde{\mathcal{R}}_{U}+\sum_{i=1}^{n_{c}}\begin{bmatrix}{D^{(i)}}{\mathcal{R}}_{U}^{(i)}\\ 0\end{bmatrix}^{\top}\begin{bmatrix}S^{(i)}&C^{(i)^{\top}}\\ C^{(i)}&0\end{bmatrix}^{-1}\begin{bmatrix}{D^{(i)}}{\mathcal{R}}_{U}^{(i)}\\ 0\end{bmatrix}\;. (42)

In this expression, the first term corresponds to the coarse correction and the second term to the fine correction. The application of SBDDC1S_{BDDC}^{-1} is carried out through a sequence of matrix-vector multiplications and local solves, as detailed in Algorithm 1. While the local problems are fully decoupled and can be solved in parallel, the coarse problem requires the solution of a global system. Since SCS_{C} is explicitly assembled, the corresponding linear systems are solved using a direct method based on a parallel Cholesky factorization (specifically, the MUMPS solver [70], accessed through PETSc).

4 Solver accelerations

The BDDC method described in the previous section requires assembling the local stiffness matrix for each cell. However, as demonstrated in Section 5, this assembly step is relatively slow and represents the main computational bottleneck of the solver. This section outlines the strategies adopted in this work to accelerate the assembly process.

First, in Section 4.1 we employ the fast assembly technique introduced in [71]. This approach separates the contribution of the cell mapping, which determines the integrands of Equations (14), from the contribution arising from the implicit description of the trimmed domain, which affects only the quadrature rule. As a result, the integrand functions obtained no longer depend on the geometric map. Second, in Section 4.2 a reduced order model (ROM) is constructed for these integrand functions to avoid their computationally expensive evaluation. This process yields a surrogate model that, while specific to a given level-set, is valid for any geometric mapping for which the pulled-back coefficients satisfy the smoothness conditions required by the fast assembly technique. The final assembly process for the stiffness matrix is then summarized in Algorithm 4.

4.1 Fast assembly

Equation (20), introduces the terms that combine the constitutive equation and the external forces with the differential geometry quantities associated to the map. Such quantities, namely, the equivalent constitutive tensor C^i1j1i2j2\hat{C}_{i_{1}j_{1}i_{2}j_{2}}, the equivalent body force 𝒃^\hat{\boldsymbol{b}}, and the equivalent traction 𝒕^\hat{\boldsymbol{t}} are smooth on each cell, provided that the geometric map is regular (non-vanishing Jacobian) on the closure of the cell and that the material coefficients and loads are smooth cell-wise. Under these conditions, they can be interpolated at the cell level with high accuracy, resulting in

C^i1j1i2j2(ξ1,ξ2)\displaystyle\hat{C}_{i_{1}j_{1}i_{2}j_{2}}(\xi_{1},\xi_{2}) Lk(ξ1,ξ2)Ci1j1i2j2k,\displaystyle\approx{L}_{k}(\xi_{1},\xi_{2})\mathrm{C}_{i_{1}j_{1}i_{2}j_{2}k}\;, (43a)
b^i(ξ1,ξ2)\displaystyle\hat{b}_{i}(\xi_{1},\xi_{2}) Lk(ξ1,ξ2)Bik,\displaystyle\approx{L}_{k}(\xi_{1},\xi_{2})\mathrm{B}_{ik}\;, (43b)
t^i(ξ1,ξ2)\displaystyle\hat{t}_{i}(\xi_{1},\xi_{2}) Lk(ξ1,ξ2)Tik,\displaystyle\approx{L}_{k}(\xi_{1},\xi_{2})\mathrm{T}_{ik}\;, (43c)

being b^i\hat{b}_{i} and t^i\hat{t}_{i} the components of 𝒃^\hat{\boldsymbol{b}} and 𝒕^\hat{\boldsymbol{t}}, respectively, Lk(ξ1,ξ2){L}_{k}(\xi_{1},\xi_{2}) the Lagrangian polynomials of degree qq associated with the interpolation nodes, selected also here as the Gauss-Lobatto-Legendre (GLL) tensor-product points, and Ci1j1i2j2k\mathrm{C}_{i_{1}j_{1}i_{2}j_{2}k}, Bik\mathrm{B}_{ik}, and Tik\mathrm{T}_{ik} are the values of C^i1j1i2j2\hat{C}_{i_{1}j_{1}i_{2}j_{2}}, b^i\hat{b}_{i}, and t^i\hat{t}_{i}, respectively, at the interpolation nodes. The components of the test (vi1v_{i_{1}}) and trial (ui2u_{i_{2}}) functions are first approximated using the basis functions Bk{B}_{k}:

vi1(ξ1,ξ2)=Bk1(ξ1,ξ2)Vi1k1\displaystyle v_{i_{1}}(\xi_{1},\xi_{2})={B}_{k_{1}}(\xi_{1},\xi_{2})\mathrm{V}_{i_{1}k_{1}} (44a)
ui2(ξ1,ξ2)=Bk2(ξ1,ξ2)Ui2k2\displaystyle u_{i_{2}}(\xi_{1},\xi_{2})={B}_{k_{2}}(\xi_{1},\xi_{2})\mathrm{U}_{i_{2}k_{2}} (44b)

where Vik\mathrm{V}_{ik} and Uik\mathrm{U}_{ik} are the degrees of freedom for the test and trial functions, respectively. Substituting this approximation into Equation (19), the expressions for the virtual work of the internal and external forces at the cell level are modified as follows:

𝔏int(ic)Vi1k1[(Ω^(c)Bk1ξj1Bk2ξj2Lk3𝑑Ω^)Ci1j1i2j2k3]Ui2k2,\displaystyle\mathfrak{L}_{int}^{(i_{c})}\approx\mathrm{V}_{i_{1}k_{1}}\left[\left(\int_{\hat{\Omega}^{(c)}}\frac{\partial{B}_{k_{1}}}{\partial\xi_{j_{1}}}\frac{\partial{B}_{k_{2}}}{\partial\xi_{j_{2}}}{L}_{k_{3}}\,\mathrm{d}\hat{\Omega}\right)\mathrm{C}_{i_{1}j_{1}i_{2}j_{2}k_{3}}\right]\mathrm{U}_{i_{2}k_{2}}\;, (45a)
𝔏ext(ic)Vi1k1[(Ω^(ic)Bk1Lk3𝑑Ω^)Bi1k3+(Ω^(ic)Bk1Lk3𝑑Ω^)Ti1k3].\displaystyle\mathfrak{L}_{ext}^{(i_{c})}\approx\mathrm{V}_{i_{1}k_{1}}\left[\left(\int_{\hat{\Omega}^{(i_{c})}}{B}_{k_{1}}{L}_{k_{3}}\,\mathrm{d}\hat{\Omega}\right)\mathrm{B}_{i_{1}k_{3}}+\left(\int_{\partial\hat{\Omega}^{(i_{c})}}{B}_{k_{1}}{L}_{k_{3}}\,\mathrm{d}\hat{\Omega}\right)\mathrm{T}_{i_{1}k_{3}}\right]\;. (45b)

The quantities in the square brackets are the entries of the stiffness matrix and the external force vector associated to the cell. However, only the quantities inside the integrals actually depend on the curvilinear coordinates ξ1\xi_{1} and ξ2\xi_{2}. If the value of the integral were known, the assembly procedure would be equivalent to computing the tensorial contraction along j1j_{1}, j2j_{2}, and k3k_{3}, which is computationally cheap.

In a nutshell, if the constitutive relationship, the external forces, and the differential geometry, can be combined and accurately approximated as polynomials, then the integration could be precomputed with some efficient technique and the actual stiffness matrix and external forces vectors obtained by a fast tensorial product with the coefficients of such polynomials. This procedure, introduced in [37], is referred to as the fast assembly technique.

It should be noted that the interpolation in Equations (43b) and (43c) is not always applicable. The fast assembly technique requires the geometric map to be regular, i.e., with non-vanishing Jacobian, on the closure of each cell, and the material coefficients, the body forces, and the tractions to be smooth on each cell. Therefore, discontinuities aligned with cell boundaries are admissible. Under these conditions, and in particular for the spline maps and constant material coefficients employed in this work, the pulled-back quantities C^i1j1i2j2\hat{C}_{i_{1}j_{1}i_{2}j_{2}}, 𝒃^\hat{\boldsymbol{b}}, and 𝒕^\hat{\boldsymbol{t}} are analytic within each cell, and their polynomial interpolation of degree qq converges exponentially. Furthermore, the interpolation error can be evaluated a priori, by sampling the difference between the exact and interpolated quantities, so that qq can be selected adaptively to meet a prescribed tolerance; the resulting consistency error is controlled through Strang’s first lemma [37, 72].

When these regularity requirements are violated, for instance, when the geometric map approaches degeneracy or in the presence of discontinuous material fields or non-smooth loads, the interpolation error ceases to decrease at high order, and a full quadrature of the affected term is required. We remark, however, that the impact of non-smooth data is not limited to the fast assembly step. In fact, spectral elements themselves lose their high-order approximation properties when the solution lacks sufficient regularity.

Regarding the stabilization term in Equation (23), it can also be assembled using a fast assembly procedure. In particular,

𝔏staVi1k1[(Ω^Π(ic)Bk1ξj1Bk2ξj2Lk3𝑑Ω^)ρCi1j1i2j2k3]Ui2k2.\mathfrak{L}_{sta}\approx\mathrm{V}_{i_{1}k_{1}}\left[\left(\int_{\hat{\Omega}^{(i_{c})}_{\Pi}}\frac{\partial{B}_{k_{1}}}{\partial\xi_{j_{1}}}\frac{\partial{B}_{k_{2}}}{\partial\xi_{j_{2}}}{L}_{k_{3}}\,\mathrm{d}\hat{\Omega}\right)\rho\mathrm{C}_{i_{1}j_{1}i_{2}j_{2}k_{3}}\right]\mathrm{U}_{i_{2}k_{2}}\;. (46)

Exploiting the identity

Ω^Π(ic)(dΩ^)=Π^(ic)(dΩ^)Ω^(ic)(dΩ^),\int_{\hat{\Omega}^{(i_{c})}_{\Pi}}\left(\bullet\mathrm{d}\hat{\Omega}\right)=\int_{\hat{\Pi}^{(i_{c})}}\left(\bullet\mathrm{d}\hat{\Omega}\right)-\int_{\hat{\Omega}^{(i_{c})}}\left(\bullet\mathrm{d}\hat{\Omega}\right), (47)

the above expression can be rewritten as

𝔏staVi1k1[(Π^(ic)Bk1ξj1Bk2ξj2Lk3𝑑Ω^Ω^(ic)Bk1ξj1Bk2ξj2Lk3𝑑Ω^)ρCi1j1i2j2k3]Ui2k2.\mathfrak{L}_{sta}\approx\mathrm{V}_{i_{1}k_{1}}\left[\left(\int_{\hat{\Pi}^{(i_{c})}}\frac{\partial{B}_{k_{1}}}{\partial\xi_{j_{1}}}\frac{\partial{B}_{k_{2}}}{\partial\xi_{j_{2}}}{L}_{k_{3}}\,\mathrm{d}\hat{\Omega}-\int_{\hat{\Omega}^{(i_{c})}}\frac{\partial{B}_{k_{1}}}{\partial\xi_{j_{1}}}\frac{\partial{B}_{k_{2}}}{\partial\xi_{j_{2}}}{L}_{k_{3}}\,\mathrm{d}\hat{\Omega}\right)\rho\mathrm{C}_{i_{1}j_{1}i_{2}j_{2}k_{3}}\right]\mathrm{U}_{i_{2}k_{2}}\;. (48)

The first integral in this expression can be precomputed and stored, as it does not depend on the trimming configuration. The second integral is formally equivalent to the one appearing in Equation (45a), which can therefore be reused here.

4.2 Reduced order modeling

In this section, we describe how to construct the ROM in order to avoid the need for full numerical quadrature. In this regard, to make it adaptable to different mappings, the models are constructed on the fast assembly integrals introduced in Section 4.1. The procedure is presented here for the tensor associated with the stiffness term, as in Equation (45a), but it is adopted also for the integrals related to the external forces as in Equation (45b). Let us denote as \mathcal{I} the tensor whose components are

j1j2k1k2k3=Bk1ξj1Bk2ξj2Lk3.\mathcal{I}^{k_{1}k_{2}k_{3}}_{j_{1}j_{2}}=\frac{\partial{B}_{k_{1}}}{\partial\xi_{j_{1}}}\frac{\partial{B}_{k_{2}}}{\partial\xi_{j_{2}}}{L}_{k_{3}}. (49)

The vector containing the integrals of the components of \mathcal{I} is denoted as:

I(𝝁)=Ω^(𝝁)vec()𝑑Ω^I(\boldsymbol{\mu})=\int_{\hat{\Omega}(\boldsymbol{\mu})}\mathrm{vec}(\mathcal{I})\,\mathrm{d}\hat{\Omega} (50)

where vec()\mathrm{vec}(\bullet) stands for the vectorization operation of the tensor \bullet. Here, the dependence of II from the level-set threshold parameters 𝝁={μ1,μ2,μ3,μ4}\boldsymbol{\mu}=\{\mu_{1},\mu_{2},\mu_{3},\mu_{4}\}, arises from the variation of the trimmed domain Ω^\hat{\Omega}. This section revolves around the strategy to avoid explicitly computing the integrals in Equation (50) by means of an offline built reduced order model.

In particular, the goal is to construct an approximation of the form:

I(𝝁)UrIr(𝝁),I(\boldsymbol{\mu})\approx U_{r}I_{r}(\boldsymbol{\mu})\;, (51)

where Urni×nrU_{r}\in\mathbb{R}^{n_{i}\times n_{r}}, and IrnrI_{r}\in\mathbb{R}^{n_{r}}. The columns of UrU_{r} constitute the basis vectors of the reduced order model, and the reduced order vector IrI_{r} contains the components of II with respect to such basis. The length of the vector II is denoted as nin_{i}, while the number of basis vectors is denoted as nrn_{r}.

4.2.1 Clustering of the threshold parameters space

The construction of the ROM approximation begins with the definition of the threshold parameter space, 𝝁M\boldsymbol{\mu}\in M. This space is defined as the hypercube M=[μmin,μmax]dM=[\mu_{\mathrm{min}},\mu_{\mathrm{max}}]^{d}, where μmin\mu_{\mathrm{min}} and μmax\mu_{\mathrm{max}} are the respective lower and upper bounds, and dd the number of parameters, four in this case. This domain is then partitioned into clusters by subdividing each interval into nkn_{k} subintervals, resulting in a total of nK=(nk)4n_{K}=(n_{k})^{4} cluster domains denoted as MikM_{i_{k}}. The approximation described in Equation (51) is then performed independently within each cluster. In other words, a distinct ROM is constructed for each cluster, following the procedure outlined below.

To keep the notation concise, no additional index is introduced to explicitly indicate the cluster to which each quantity belongs, as this is not expected to generate ambiguity. It should be noted, however, that when evaluating functions of 𝝁\boldsymbol{\mu}, the first step consists in identifying the cluster to which the corresponding threshold parameter vector belongs.

4.2.2 Reduced order basis

The basis UrU_{r} is constructed in an offline phase. First, a set of nsn_{s} representative level-set threshold parameter vectors, 𝝁is{\boldsymbol{\mu}^{{i_{s}}}}, is generated within the associated cluster domain. To ensure a representative sample with a limited number of elements, these parameter sets are selected using the Latin hypercube sampling method [73]. For each of these samples, the corresponding snapshot integrand, I(𝝁is)I(\boldsymbol{\mu}^{{i_{s}}}), is then computed exactly using the accurate quadrature procedure described in Section 2.2.3. These snapshots are then collected in the matrix

=[I(𝝁{1}),I(𝝁{2}),,I(𝝁{ns})]ni×ns.\mathfrak{I}=\left[I(\boldsymbol{\mu}^{\{1\}}),\;I(\boldsymbol{\mu}^{\{2\}}),\;\cdots,\;I(\boldsymbol{\mu}^{\{n_{s}\}})\right]\in\mathbb{R}^{n_{i}\times n_{s}}. (52)

A randomized singular values decomposition is then applied on this matrix and truncated to nvn_{v} singular values, with nv>nrn_{v}>n_{r} to account for the loss of accuracy on the trailing singular vectors, leading to the following approximated expression

𝔍UvΣvVv,\mathfrak{J}\approx U_{v}\Sigma_{v}V_{v}^{\intercal}, (53)

where Uvni×nvU_{v}\in\mathbb{R}^{n_{i}\times n_{v}} is the matrix containing as columns the left singular vectors, Σvnv×nv\Sigma_{v}\in\mathbb{R}^{n_{v}\times n_{v}} contains on the main diagonal the singular values, and Vvns×nvV_{v}\in\mathbb{R}^{n_{s}\times n_{v}} contains as columns the right singular vectors. The vectors of the basis UrU_{r} in Equation (51) are selected as the first nrn_{r} columns of UvU_{v}.

4.2.3 Coefficients of the reduced model

With the basis for the reduced-order model constructed, the non-linear function Ir(𝝁)I_{r}(\boldsymbol{\mu}) is then approximated using the Matrix Discrete Empirical Interpolation Method (MDEIM) [47].

Firstly, the so-called magic points are selected [74]. The number of magic points is equal to the size of the reduced basis nrn_{r}, and correspond to positions within the basis vectors. As such, they are integers in the set mir{1,,ni}m_{i_{r}}\in\{1,\dots,n_{i}\}, with ir=1,,nri_{r}=1,\dots,n_{r}. How the magic points are computed is detailed in Algorithm 3. In a nutshell, the algorithm works by iterating over the basis vectors; at each iteration, the entry that is most orthogonal to the previous vectors is selected.

The magic points are used to compute the reduced vector IrI_{r} from the full vector II. In particular, IrI_{r} contains coefficients chosen so that the reduced approximation matches the entries of II exactly at the magic points. This condition is expressed as

Uri[mj]Ir[j]=I[mj],i,j=1,,nr,U_{r\,i}^{[m_{j}]}\,I_{r}^{[j]}=I^{[m_{j}]},\qquad i,j=1,\dots,n_{r}, (54)

which corresponds to solving an nr×nrn_{r}\times n_{r} linear system, where Uri[mj]U_{r\,i}^{[m_{j}]} denote the mjm_{j}-th component of the ii-th vector of the reduced-order basis, and Ir[j]I_{r}^{[j]} and I[mj]I^{[m_{j}]} are the jj-th and the mjm_{j}-th components of IrI_{r} and II, respectively.

However, computing IrI_{r} exactly requires access to the magic-points entries of the non-reduced vector II, which in turn would require a full integration process, which the proposed approach aims to avoid in the online phase. To overcome this issue, the vector Ir(𝝁)I_{r}(\boldsymbol{\mu}) is computed exactly in an offline phase for a set of interpolatory snapshots. This sampling, which does not coincide with that used for the singular value decomposition, has a tensor-product structure within the associated cluster domain MikM_{i_{k}}, and follows the distribution of GLL points.

The function Ir(𝝁)I_{r}(\boldsymbol{\mu}) is then obtained by interpolating these values, using Lagrangian polynomial of degree rr. In this work, the interpolation is based on standard Lagrange polynomials defined over GLL nodes, which are preferred over radial basis functions [75]. This choice is motivated by the aim of minimizing the impact of the interpolation error on the overall accuracy of the MDEIM model. For problems with a larger number of parameters, Lagrangian interpolation may become too expensive in terms of both memory and computational cost. Alternative approaches, such as sparse grids [76], might be used in such cases.

4.3 Offline cost and speedup

This section quantifies the offline and online costs of the ROM-based acceleration strategies introduced above. The offline phase involves training a surrogate model for each level-set family. The online phase consists in evaluating the surrogate model to assemble each cell stiffness matrix, replacing the expensive numerical quadrature.

Offline training: The training is performed independently for each level-set geometry. The first step is to define the interval within which the threshold parameters are allowed to vary. This interval is chosen to exclude geometrically degenerate configurations, such as disconnected cells. For the Schwarz Diamond, two models are trained over the parameter spaces 1SD=[0.1,0.9]4\mathbb{P}_{1}^{\mathrm{SD}}=[0.1,0.9]^{4} and 2SD=[0.1,1.0]4\mathbb{P}_{2}^{\mathrm{SD}}=[0.1,1.0]^{4}. For the Schoen IWP, the two corresponding spaces are 1IWP=[2.5,2.5]4\mathbb{P}_{1}^{\mathrm{IWP}}=[-2.5,2.5]^{4} and 2IWP=[2.5,3.0]4\mathbb{P}_{2}^{\mathrm{IWP}}=[-2.5,3.0]^{4}. Where, for both geometries, the latter space is defined to include the fully solid cell, which however comes at the cost of a slight reduction in accuracy (see Section 5.1.2.

Each model is built for a polynomial degree p=8p=8 and a fast assembly interpolation degree q=2q=2. The parameter space is partitioned into nK=nk4=16n_{K}=n_{k}^{4}=16 clusters, nk=2n_{k}=2 for each parametric direction. Within each cluster, ns=100n_{s}=100 fully integrated snapshots are generated via Latin hypercube sampling, and a randomized SVD is performed, retaining nv=50n_{v}=50 singular vectors of which the first nr=40n_{r}=40 form the reduced basis.

The MDEIM coefficient fitting requires, per cluster, (r+1)4=74=2,401(r+1)^{4}=7^{4}=2{,}401 additional fully integrated evaluations on a tensor-product GLL grid, for a total of nK×74=38,416n_{K}\times 7^{4}=38{,}416 evaluations across all clusters. These parameter values were tuned based on the numerical results presented in Section 5. For the ROM corresponding to 1IWP\mathbb{P}_{1}^{\mathrm{IWP}}, the total training time is approximately 9 hours (using 30 cores on a workstation with 4 Intel Xeon Gold 6148 processors and 1 TB of memory), and the total disk-storage footprint of the trained ROM data is 2.16 GB. Comparable training times were observed for the other geometries considered in this work. These figures include the model for the stiffness, the model for the mass matrix (not utilized in this contribute), and the model used to impose Neumann boundary conditions. The difference in the speedup factor arises from the higher geometric complexity of the Schoen IWP-based geometries, resulting in a larger number of quadrature points.

Table 2: Online assembly cost per cell, with and without the ROM, for two level-set families. Timings are averaged over 1000 cells.
Quantity Schwarz Diamond Schoen IWP
Full quadrature assembly 499 ms 870 ms
Assembly time with ROM 2.3 ms 2.5 ms
Speedup factor 218×\times 342×\times

Online assembly and amortization threshold: Once the ROM is available, the assembly cost per cell is reduced to a Lagrangian interpolation of the MDEIM reduced vector, followed by a multiplication with the reduced basis. The assembly times, with and without the ROM, for two level-set families and the settings described in Section 5.1.1, are reported in Table 2.

The amortization threshold is defined as the total number of cell assembly evaluations required for the cumulative online savings to offset the offline training cost. Denoting the training time as ToffT_{\mathrm{off}}, the per-cell assembly time without ROM as TfullT_{\mathrm{full}}, and with ROM as TromT_{\mathrm{rom}}, the threshold is

namm=ToffTfullTrom.n_{\mathrm{amm}}=\left\lceil\frac{T_{\mathrm{off}}}{T_{\mathrm{full}}-T_{\mathrm{rom}}}\right\rceil. (55)

As an example, for the ROM model 1IWP\mathbb{P}_{1}^{\mathrm{IWP}}, the break-even point is reached after approximately 3800038000 cell evaluations, beyond which the offline training cost is amortized. This threshold is largely independent of the geometry, as the offline training cost is primarily determined by the fixed number of fully integrated cells used to construct the model.

On this regard, it is worth noting that the number of TPMS geometries used as lattice micro-structures is limited. The training therefore represents a one-time community investment rather than a per-user burden. Consistent with this philosophy, the precomputed ROM models used in this work are publicly available on Zenodo [77]. These models are directly reusable in any simulation involving the same level-set families: indeed, they were computed once and then reused, without any retraining, in all the analyses of Section 5.

4.4 Summary of the computational workflow

Having introduced the individual ingredients and quantified their offline and online cost, we now summarize how they combine into a single offline–online pipeline, illustrated in Figure 8. The two panels show the respective workflows from the input box to the output box: Figure 8a traces the one-time offline training of the ROM, while Figure 8b traces the online assembly and the subsequent BDDC solve. The two stages are deliberately decoupled, and trimmed quadrature is confined entirely to the offline stage.

(a)
(b)
Figure 8: Computational workflow of the ROM-based BDDC solver, read top to bottom from the input to the output box. (a) Offline ROM-training pipeline, built once per level-set family. (b) Online per-cell assembly and BDDC solve, performed for every analysis. The individual steps, with the corresponding algorithms, are detailed in the text.

Offline phase: Following Figure 8a, the range of the threshold parameters is partitioned into the nK=(nk)4n_{K}=(n_{k})^{4} clusters, and every subsequent step is repeated independently for each cluster. Within a cluster, snapshots of the fast-assembly tensor I(𝝁)I(\boldsymbol{\mu}) are computed by full trimmed quadrature (Section 2.2.3) at the nsn_{s} parameter samples 𝝁s\boldsymbol{\mu}_{s} obtained by Latin hypercube sampling, and a truncated randomized SVD of these snapshots yields the reduced basis UrU_{r}. The MDEIM magic points are then extracted (Algorithm 3), and the interpolation coefficients are fitted from a second, tensor-product set of samples 𝝁r\boldsymbol{\mu}_{r}, which likewise require full quadrature. Once all clusters have been processed, the trained model is archived for reuse (Section 4.3). We note once again that the resulting trimming-based ROM is geometry-specific but mapping-independent.

Online phase: The online stage corresponds to Figure 8b. After the degrees of freedom have been identified and classified as either Dirichlet, internal, or skeleton DoFs, the solver loops over the cells: given the threshold parameters 𝝁(i)\boldsymbol{\mu}^{(i)} of a cell, the relevant cluster is selected and the reduced vector IrI_{r} is obtained by MDEIM interpolation, from which the fast-assembly tensor is reconstructed as IUrIrI\approx U_{r}I_{r} (Algorithm 5). This tensor is contracted with the mapping coefficients corresponding to 𝓕(i)\boldsymbol{\mathcal{F}}^{(i)} to form the local stiffness matrix, to which the α\alpha-stabilization is added (Algorithm 4), the local Schur complement S(i)S^{(i)} is then formed. Once every cell has been processed, it is computed the coarse basis Ψ~\tilde{\Psi} and the preconditioned conjugate gradient is initiated. When requested by the iterative solver scheme, application of preconditioner SBDDC1S_{BDDC}^{-1} is carried out by superimposition of a coarse and a fine correction (Algorithm 1), the first relying on a global direct solve, and the latter relying on the local saddle-point solves of Algorithm 2, and the iteration proceeds until the prescribed tolerance is met, returning the displacement field 𝒖\boldsymbol{u}.

Read together, the two panels make explicit the migration of the dominant cost. In the unaccelerated baseline, the per-cell trimmed quadrature dominates the setup phase (Figure 17b); the acceleration layers move this cost to the one-time offline training of Figure 8a, so that the online assembly of Figure 8b becomes negligible and the BDDC setup and solve times become comparable (Figure 16). The ingredients remain simultaneously effective provided that the pulled-back integrands are smooth, as required by the fast assembly (Section 4.1); that the threshold parameters lie within the admissible range used to train the ROM and to exclude degenerate cells; and that the α\alpha-stabilization keeps the conditioning of strongly trimmed cells under control, which in turn supports the robustness of the BDDC coarse space.

5 Numerical Results

In this section, several numerical examples are presented to assess the performance of the proposed computational framework. The section is divided into two parts. Initially, tests are conducted on simple geometries to evaluate the impact of the various approximations introduced by the method, namely the α\alpha-stabilization, the fast assembly, and the reduced-order modeling, and to guide the selection of the relevant parameters. The performance is also assessed in terms of iteration count and total analysis time. In the second part, the proposed approach is applied to more realistic geometries, namely a sandwich wing and a lattice wrench.

It is further recalled that, within the presented BDDC framework, there is a one-to-one correspondence between cells and subdomains. Accordingly, the two terms are used interchangeably throughout the section.

The method presented in this paper is implemented in FLASh, an open-source Python library [78]. In particular, the repository includes dedicated example scripts that reproduce each figure and timing table presented in this section, along with the corresponding input configurations and solver settings. Table 3 lists, for each figure of this section, the script(s) of the FLASh repository reproducing it, all referring to version v0.2.0. FLASh relies on PETSc4py [79, 80] for the parallel solver, NumPy and SciPy for numerical computations, and QUGaR [61] for the unfitted discretizations. Precomputed ROM models used in this work are publicly available on Zenodo [77] and are automatically downloaded during the library installation. All the numerical results presented in this section are fully reproducible using FLASh. The reported tests were performed on a Apple MacBook Pro with an Apple M4 Pro chip (14-core CPU: 10 performance + 4 efficiency cores; 48 GB unified memory). The simulations were run in parallel using 8 performance cores.

Table 3: Scripts of the FLASh repository (v0.2.0) reproducing the figures of this section.
Figure Section Script(s)
9 5.1.1 test_convergence.py
10 5.1.1 test_stabilization_1.py
11 5.1.1 test_stabilization_2.py (a), test_stabilization_3.py (b)
13 5.1.2 test_fast_assembly_accuracy.py
14 5.1.2 test_rom_basis.py
15 5.1.2 test_rom_accuracy.py
16 5.1.3 test_solver_comparison.py
17 5.1.3 test_acceleration_efficiency.py
18 5.1.3 test_scalability.py
19 5.2.1 example_wing.py
20 5.2.2 example_wrench_coarse.py (a,b), wrench_refined.py (c,d)
21 5.2.2 wrench_refined.py, wrench_validation.py, wrench_paper_summary.py, plot_wrench_h_study.py

5.1 Method validation and benchmarking

This section justifies the choice of discretization strategy, evaluates the accuracy of each approximation component (fast assembly, ROM, and stabilization), and assesses the computational performance of the overall method. Throughout this section, the term baseline refers to the BDDC method assembled with full integration without applying any acceleration technique or stabilization. Additionally, all errors reported in this section are normalized with respect to the corresponding reference quantities.

5.1.1 Accuracy assessment on a single-cell structure

As a starting point, a simple single-cell geometry is considered. The threshold parameter μ(𝝃)\mu(\boldsymbol{\xi}) is set to be uniform, with value specified in the tests. . The geometry is subsequently transformed through the map.

𝓕=[12+(ξ112)(1+(a1)(2ξ2ξ22))ξ2],\boldsymbol{\mathcal{F}}=\begin{bmatrix}\frac{1}{2}+\left(\xi_{1}-\frac{1}{2}\right)(1+(a-1)(2\xi_{2}-\xi_{2}^{2}))\\ \xi_{2}\end{bmatrix}\;,

where aa is a parameter controlling the severity of the geometric distortion. The body forces, prescribed displacements, and boundary tractions for this test are derived from the reference manufactured solution:

𝒖ex=[u0(2x21)sin2(πx1)sin2(πx2)u0(12x1)sin2(πx1)sin2(πx2)].\boldsymbol{u}_{ex}=\begin{bmatrix}u_{0}(2x_{2}-1)\sin^{2}{(\pi x_{1})}\sin^{2}{(\pi x_{2})}\\ u_{0}(1-2x_{1})\sin^{2}{(\pi x_{1})}\sin^{2}{(\pi x_{2})}\end{bmatrix}\;. (56)

It is important to note that, here, Neumann boundary conditions are also applied on the trimmed boundary Ωt\partial\Omega_{t} to enable a consistent comparison with the exact solution, as permitted by the manufactured nature of the problem settings. The Lamé constants of the adopted material are both set unitary. Here, no stabilization or acceleration techniques are employed in the assembly of the stiffness matrices.

(a)
(b)
(c)
Figure 9: Comparison between unfitted p-FEM element method and CutFEM for the manufactured problem described in Section 5.1.1. In the left picture the L2L^{2} error is plotted against the square root of the number of DoFs. In the center, the L2L^{2} error is plotted against the mesh size. Here p-FEM data are vertically aligned since the mesh size in all such cases is unitary. On the right, the L2L^{2} error is reported as a function of non-zero entries of the stiffness matrix.
Accuracy of the p-FEM discretization

In this test, the adopted level-set is the Schoen FRD shown in Figure 2c. The threshold parameter is set to zero, and the transformation is taken as the identity (a=1a=1). No stabilization is adopted in this test. Two different discretizations are taken into account. Specifically, either a single unfitted p-FEM element is adopted, or a grid of rectangular elements is employed within a CutFEM framework [81, 45]. Figure 9 shows the convergence curves of the L2L^{2} error in the displacement field for both discretizations, with respect to the square root of the degrees of freedom, the mesh size, and the number of non-zero entries of the stiffness matrix. From these results, it is evident that a single high-degree p-FEM element can achieve the same level of accuracy with a significantly lower number of degrees of freedom. This is particularly apparent for p=10p=10, which outperforms the CutFEM refinement of degree p=3p=3 by requiring more than an order of magnitude fewer degrees of freedom. This advantage becomes less pronounced when considering the number of nonzero entries of the stiffness matrix. In this case, the p-FEM with p=10p=10 requires fewer than four times the number of nonzero entries compared to the corresponding CutFEM curve with p=3p=3. This comparison becomes even more relevant when examining the p=6p=6 and p=8p=8 points for the p-FEM, where CutFEM refinements of order p=2p=2 and p=3p=3 can be more efficient.

However, when adopting a CutFEM approach, shape functions may switch between active and inactive states, which can introduce difficulties in the construction of the ROM. This issue does not arise in the p-FEM case. Consequently, the stiffness matrix to be approximated within the ROM framework depends continuously on the threshold parameters, therefore making the surrogate model more accurate. For this reason, in this work p-FEM elements are adopted to approximate the solution within each cell. Additionally, unless otherwise specified, the polynomial degree is set to p=8p=8, as it provides a suitable compromise between accuracy and computational cost.

Accuracy of the stabilization
Refer to caption
(a)
Refer to caption
(b)
Refer to caption
(c)
Refer to caption
(d)
Figure 10: L2L^{2} error as a function of the approximation degree pp for different values of the stabilization parameter ρ\rho, computed on a single cell with the manufactured solution described in Section 5.1.1. Results are shown for the four TPMS geometries introduced in Figure 2: (a) Schwarz Diamond, (b) Schwarz Primitive, (c) Schoen FRD, and (d) Schoen IWP.
Refer to caption
(a)
Refer to caption
(b)
Figure 11: L2L^{2} error for the Schoen IWP geometry at fixed polynomial degree p=14p=14, for different values of the stabilization parameter ρ\rho. (a) Error as a function of the trimmed area ratio, controlled by a uniform additive shift of the threshold parameter, ranging from no trimming to increasingly trimmed configurations. (b) Error as a function of the mapping distortion parameter aa, where a=1a=1 corresponds to the identity map.

The accuracy impact of the stabilization parameter ρ\rho is assessed using the single-cell manufactured solution described above, considering five values ρ{102,103,104,105,0}\rho\in\{10^{-2},10^{-3},10^{-4},10^{-5},0\}. Three aspects are investigated: the effect on pp-convergence, the sensitivity to trimming severity, and the robustness with respect to mapping distortion.

Figure 10 reports the L2L^{2} error as a function of the polynomial degree pp for all four TPMS geometries, with the identity map (a=1a=1) and a uniform threshold parameter (0.1 for the Schwarz Diamond and 0 for the remaining cases). Without stabilization (ρ=0\rho=0), spectral convergence is achieved in all cases. The staircase pattern for ρ=0\rho=0 results from the higher ability of odd-order polynomials to capture the reference solution during pp-convergence. As ρ\rho increases, the error eventually plateaus at a level approximately equal to the stabilization parameter itself, with minor differences among geometries. This confirms that the stabilization introduces a consistency error whose magnitude scales linearly with ρ\rho, limiting high-order accuracy for large stabilization values.

Figure 11a shows the L2L^{2} error at fixed p=14p=14 as a function of the trimmed area ratio. Such a high polynomial degree, compared to the degree p=8p=8 employed in the rest of this work, is deliberately chosen to drive the approximation error well below the error floor induced by the stabilization, thereby isolating the consistency error introduced by ρ\rho from the approximation error. Without stabilization, the error remains at the level dictated by the element’s approximation accuracy, regardless of how severely the cell is trimmed, demonstrating that the base method is inherently robust to trimming. With stabilization, the error increases monotonically with the trimmed area, since the penalty term acts over an increasingly large fictitious extension of the domain. Larger values of ρ\rho lead to proportionally higher errors across all trimming levels.

Figure 11b reports the L2L^{2} error at fixed p=14p=14 as a function of the mapping distortion parameter aa, for a homogeneously zero threshold parameter. For ρ=0\rho=0, the error is minimized near a=1a=1 (identity map), corresponding to a trimmed area ratio of 0.67, and grows for strongly compressed (a=0.1a=0.1) or stretched (a=2a=2) configurations, reflecting the reduced approximation accuracy of the polynomial basis defined in the parametric domain. With stabilization, the error remains bounded across the full range of mapping parameters, with the floor determined by ρ\rho.

These results characterize how the interaction between pp, ρ\rho, μ\mu, and 𝓕\boldsymbol{\mathcal{F}} affects the accuracy of the analysis. Extending this characterization to a broader range of multi-cell geometries and loading conditions is a natural continuation of this study.

5.1.2 Accuracy assessment on a multi-cells structure

Refer to caption
(a)
Refer to caption
(b)
Refer to caption
(c)
Figure 12: Benchmark geometry for the tests in Sections 5.1.2 and 5.1.3. (a) Auxiliary parametric domain after trimming operation. (b) Physical domain resulting from the map given in Equation (57). (c) Contour of the magnitude of the displacements expressed in m.

The remaining examples in this subsection share a common benchmark geometry, namely the lattice structure depicted in Figure 12. The geometry under consideration is constructed by adopting an intermediate step with respect to the procedure described in Section 2.1. Here, it is introduced an auxiliary parametric domain Π~=[0,1]2\tilde{\Pi}=[0,1]^{2}, with associated curvilinear coordinates ξ~1\tilde{\xi}_{1} and ξ~2\tilde{\xi}_{2}. The untrimmed physical domain Π\Pi is then defined through the auxiliary mapping

~(ξ~1,ξ~2)=[+(r0+(r1r0)ξ~2)sin(π2ξ~1)(r0+(r1r0)ξ~2)cos(π2ξ~1)],\tilde{\mathcal{F}}(\tilde{\xi}_{1},\tilde{\xi}_{2})=\begin{bmatrix}+(r_{0}+(r_{1}-r_{0})\tilde{\xi}_{2})\sin(\frac{\pi}{2}\tilde{\xi}_{1})\\ -(r_{0}+(r_{1}-r_{0})\tilde{\xi}_{2})\cos(\frac{\pi}{2}\tilde{\xi}_{1})\end{bmatrix}, (57)

where r0=0.6r_{0}=0.6 m and r1=1r_{1}=1 m, corresponding to a quarter annulus.

The untrimmed cells are then constructed with the aid of Π~\tilde{\Pi} by partitioning it into a tensor-product rectangular mesh. The number of cells is chosen such that the number of cells in the ξ~1\tilde{\xi}_{1} direction is twice that in the ξ~2\tilde{\xi}_{2} direction. This mesh naturally induces a partitioning of Π\Pi into curvilinear quadrilateral cells. Starting from this geometric construction, it is straightforward to define, for each cell, a mapping from its local parametric domain Π^(ic)=[0,1]2\hat{\Pi}^{(i_{c})}=[0,1]^{2} to the corresponding physical untrimmed domain in the assembled structure, thereby recovering the procedure described in Section 2.1.1. Such an intermediate auxiliary parameter domain Π~\tilde{\Pi}, although not strictly necessary, is particularly useful when the arrangement of the lattice cells follows a tensor-product structure, allowing the mapping to be reduced to a common global one.

With regard to the trimming procedure described in Section 2.1.2, the level-set function selected here is the Schwarz diamond, as defined in Table 1. The threshold parameters are chosen according to the position of the corresponding node in the auxiliary parametric domain Π~\tilde{\Pi}. In particular, the threshold parameters are defined as

μi(𝝃~)=0.90.8ξ~1.\mu_{i}(\tilde{\boldsymbol{\xi}})=0.9-0.8\,\tilde{\xi}_{1}\,.

It is important to remark that the introduction of the auxiliary parametric domain Π~\tilde{\Pi} is particularly convenient for lattice structures whose cell distribution follows a tensor-product pattern, as in the case of Figure 12. However, this assumption is not strictly required, and structures that do not follow such a cells organization can also be analyzed within the proposed framework, as will be demonstrated in Section 5.2.

The material properties are defined by a Young’s modulus E=5E=5 N/m and a Poisson’s ratio ν=0.25\nu=0.25. No body forces are applied within the domain. The boundary corresponding to ξ~1=0\tilde{\xi}_{1}=0 is clamped, while a traction f=0.1f=0.1 N/m, directed downward in the physical space, is applied on the boundary corresponding to ξ~1=1\tilde{\xi}_{1}=1. The deformation magnitude is depicted in Figure 12c.

Throughout the remainder of this subsection, the parameters under investigation are the stabilization parameter ρ\rho, the degree qq of the fast assembly technique, and the number of basis vectors nrn_{r} and clusters nkn_{k} for the ROM, as described in Sections 2.2.3, 4.1, and 4.2, respectively. A polynomial basis of degree 88 is employed in all tests. However, when not explicitly varied, or differently specified, the parameters are set to ρ=5104\rho=5\cdot 10^{-4}, q=2q=2.

Accuracy of the fast assembly technique
(a)
(b)
Figure 13: (a) Accuracy of the fast assembly interpolation measured in the L2L^{2} norm of the displacements error. (b) Number of iterations required by the solver when the fast assembly technique is adopted.

We begin by assessing the capability of the fast assembly technique described in Section 4.1 to accurately interpolate the terms that combine the constitutive parameters and external forces with the differential geometry contributions associated with the mapping. Here, the stabilization parameter ρ\rho is set to zero and no ROM acceleration is applied.

To evaluate the accuracy of the interpolation in Equation (43), Figure 13a shows the L2L^{2} error on the displacement vector obtained with the fast assembly technique compared with a standard integration. It can be observed that increasing the interpolation degree reduces the error as expected. Furthermore, the interpolation becomes increasingly accurate as the number of subdomains increases, since the mapping for a small cell approaches a simpler bilinear one.

Additionally, Figure 13b reports the number of iteration required by the solver, varying the degree qq of the fast assembly interpolation and the number of subdomains. The plots demonstrate that the interpolation degree has no significant influence on the number of iterations. In the remainder of the tests, the interpolation degree for the fast assembly technique is set to two, as it provides a good compromise between accuracy and memory consumption. In fact, a higher interpolation degree leads to larger tensors II and, consequently, a larger ROM. It should be noticed that for q=2q=2, even considering a single subdomain, the error in Figure 13a is still of the order of magnitude of 10310^{-3}.

Accuracy of the reduced order model
(a)
(b)
(c)
(d)
Figure 14: Error of the fast assembly tensor depending on the basis size nrn_{r} and for different number of clusters nkn_{k}. (a) Schwarz diamond, with space of the threshold parameters 1SD\mathbb{P}_{1}^{\mathrm{SD}} and 2SD\mathbb{P}_{2}^{\mathrm{SD}}, (b) Schoen IWP, with threshold-parameter space 1IWP\mathbb{P}_{1}^{\mathrm{IWP}} and 2IWP\mathbb{P}_{2}^{\mathrm{IWP}}, (c) Schoen FRD, with space of the threshold parameters 1FRD\mathbb{P}_{1}^{\mathrm{FRD}} and 2FRD\mathbb{P}_{2}^{\mathrm{FRD}}, (d) Schwarz Primitive, with space of the threshold parameters 1SP\mathbb{P}_{1}^{\mathrm{SP}} and 2SP\mathbb{P}_{2}^{\mathrm{SP}}

Next, we study how the performance of the method depends on the number of basis functions nrn_{r} and the number of clusters nkn_{k} in the ROM, seeking a suitable compromise between accuracy and efficiency. Four level-set geometries are considered, namely the Schwarz diamond, the Schoen IWP, the Schoen FRD, and the Schwarz Primitive (see Figure 2). For each geometry, the parameter domain over which the threshold parameters are allowed to vary is specified for the construction of the ROM. In particular, two options are considered for each case, as defined in Section 4.3. For the Schwarz diamond, the threshold parameters are taken within either 1SD=[0.1,0.9]4\mathbb{P}_{1}^{\mathrm{SD}}=[0.1,0.9]^{4} or 2SD=[0.1,1.0]4\mathbb{P}_{2}^{\mathrm{SD}}=[0.1,1.0]^{4}; for the Schoen IWP within either 1IWP=[2.5,2.5]4\mathbb{P}_{1}^{\mathrm{IWP}}=\left[-2.5,2.5\right]^{4} or 2IWP=[2.5,3.0]4\mathbb{P}_{2}^{\mathrm{IWP}}=\left[-2.5,3.0\right]^{4}; for the Schoen FRD, within either 1FRD=[6.5,0.5]4\mathbb{P}_{1}^{\mathrm{FRD}}=\left[-6.5,0.5\right]^{4} or 2FRD=[7.0,0.5]4\mathbb{P}_{2}^{\mathrm{FRD}}=\left[-7.0,0.5\right]^{4}; and for the Schwarz Primitive, within either 1SP=[0.5,0.8]4\mathbb{P}_{1}^{\mathrm{SP}}=\left[-0.5,0.8\right]^{4} or 2SP=[0.5,1.0]4\mathbb{P}_{2}^{\mathrm{SP}}=\left[-0.5,1.0\right]^{4}. The use of two different parameter spaces for each geometry is intended to illustrate the performance of the ROM when the parameter domain used for its construction is progressively enlarged. Specifically, the sets 2SD\mathbb{P}_{2}^{\mathrm{SD}}, 2IWP\mathbb{P}_{2}^{\mathrm{IWP}}, 2FRD\mathbb{P}_{2}^{\mathrm{FRD}}, and 2SP\mathbb{P}_{2}^{\mathrm{SP}} contain the combination of the threshold parameters that reproduces a full cell. We recall that the ROM models are built on the fast assembly tensor II as described in Sections 4.1 and 4.2. The ROM coefficients are computed via Lagrangian interpolation (see Section 4.2.3), with interpolation order 6 used throughout the results presented below.

Figure 14 reports the results of this study. Figure 14a refers to the Schwarz diamond level-set, Figure 14b to the Schoen IWP, Figure 14c to the Schoen FRD, and Figure 14d to the Schwarz Primitive. The vertical axis represents a measure of the ROM error, computed as follows. For 50 different randomly generated snapshots (for each cluster) that are not included in the singular value decomposition training set, the L norm of the difference between the vectorized tensor II obtained through full integration and its projection in the reduced-order basis is evaluated and normalized by the L norm of II. The final ROM error is then obtained as the arithmetic average of these values.

As expected, the error decreases as both the number of basis vectors and the number of clusters increase, reflecting the improved accuracy of the ROM. Furthermore, as the parameter domain expands from 1\mathbb{P}_{1} to 2\mathbb{P}_{2}, a deterioration in accuracy is observed for all the tested geometries. Similar trends are evident in all panels of Figure 14; however, the error level is geometry-dependent, with higher values observed for the Schoen IWP and a milder but still visible deterioration also for the newly included Schoen FRD and Schwarz Primitive cases, indicating that the ROM reliability is sensitive to both the geometry family and the extent of the threshold-parameter space.

For the remainder of this paper, unless otherwise specified, the ROM is constructed, as described in Section 4.3, using two clusters per threshold parameter (resulting in a total of 16 clusters) and 40 basis vectors per cluster. Furthermore, the threshold parameters are taken in the sets 1\mathbb{P}_{1}. This choice ensures an accuracy comparable to that of the fast assembly procedure, so that the different components of the method exhibit a balanced level of approximation.

We remark that, since in the online phase the surrogate is only queried inside the threshold-parameter box sampled during training, the study of Figure 14 constitutes a practical acceptance test that can be carried out entirely at the ROM training stage, at a marginal cost compared to the training itself (50 additional full-quadrature evaluations per cluster): the user selects the basis size and the number of clusters so that the indicator meets a prescribed tolerance, or otherwise rejects the model and retrains it with more clusters or a smaller parameter range. The reported projection error relates to the actual interpolation error through a computable amplification factor associated with the magic-point rows of the basis [46]. Its transfer to the solution follows a first-order perturbation argument: the entries of the cell operators depend linearly on the tensor II, so a relative error ε\varepsilon on II induces an operator perturbation of the same order, and the ensuing relative solution error is bounded, to first order, by ε\varepsilon times a constant depending on the conditioning of the stabilized problem. For energy-type quantities of interest, such as the compliance, the first-order error is bounded by the energy-relative operator perturbation, with no conditioning amplification. These transfer constants are moderate in practice: as will be shown in the wrench example of Section 5.2.2, replacing the ROM by full integration changes the monitored quantities of interest by 1.41041.4\cdot 10^{-4}, of the same order as the offline indicator for the settings employed here. A practical guideline is thus to select, at the ROM training stage, the ROM configuration such that the offline indicator lies below the target discretization error, as done in this work.

Effect of the stabilization
(a)
(b)
(c)
(d)
Figure 15: Effect of the stabilization on the solver iterations and the solution error. (a) Iterations with and without ROM for different stabilizations. (b) Error between the original solution and stabilized solution without using ROM. (c) Error between the solution using ROM and without ROM (both with the same stabilization). (d) Error between the original solution and the solution using ROM + stabilization

The following analysis is aimed at demonstrating the effect of stabilization on the different components of the proposed method. Figure 15 summarizes the results and illustrates its interaction with the ROM. It is worth noting that, since the ROM is constructed from the fast assembly tensors, its use is inherently coupled with the fast assembly technique. In contrast, when the ROM is not employed, standard numerical integration is used for matrix assembly.

Figure 15a shows the number of iterations required by the BDDC preconditioner when employing both the ROM and stabilization, and when using stabilization alone. It can be observed that stabilization has a negligible effect on the number of iterations when standard integration is adopted (solid lines). However, when the matrices are assembled through the ROM (dashed lines), increasing the stabilization parameter helps control the number of iterations, bringing it closer to the baseline case, while reducing it can cause the iterations to grow unbounded. This highlights that the stability of the solver can be delicate. Although not reported here, for different microgeometries, the solver performed well when stabilization was applied. However, for some geometries, it did not scale properly in the absence of stabilization, even when no ROM was used.

Figure 15b assesses the consistency error associated with the stabilization by measuring the L2L^{2} norm of the difference between the solutions obtained with and without stabilization. As expected, increasing the stabilization parameter also increases the error. Moreover, for sufficiently large numbers of cells, the error no longer varies as a function of this quantity. In addition, the error levels are approximately proportional to ρ\rho, consistently with the single-cell study of Figure 10: the O(ρ)O(\rho) scaling of the consistency error carries over from the single cell to multi-cell structures.

Figure 15c compares the solution obtained with both ROM and stabilization to the solution obtained with stabilization alone, in order to isolate the contribution of the ROM. It can be observed that, for values below 10310^{-3}, this error becomes independent of the stabilization, indicating that it is primarily due to the ROM approximation, whose accuracy is independent from ρ\rho.

Finally, Figure 15d depicts the error obtained by comparing the solution without ROM or stabilization to the solution computed with both ROM and stabilization. It can be observed that, initially, the accuracy is primarily governed by the stabilization, and decreasing ρ\rho leads to a reduction in the error. However, once the accuracy limit of the ROM is reached, the error saturates at approximately the same value, and further reduction of ρ\rho does not yield any additional improvement.

The value chosen for the stabilization parameter in the remainder of this section is ρ=5104\rho=5\cdot 10^{-4}, which as demonstrated by these results and those of the related paragraph of Section 5.1.1, is sufficient to control the number of solver iterations while maintaining a satisfactory level of accuracy.

More generally, a practical guideline is that ρ\rho should be chosen small enough that the consistency error O(ρ)O(\rho) lies below the desired accuracy at the working polynomial degree pp, and large enough to ensure bounded BDDC iterations when the ROM is active. Typical accuracy requirements in structural analysis are of order 10210^{-2} or better, so ρ=5×104\rho=5\times 10^{-4} is comfortably below this threshold while still controlling the iteration count, as suggested by the results in Figure 15a. A sharp analytical criterion, relating ρ\rho explicitly to pp, the Jacobian of the geometric map, the trimmed area fraction, or the loading, remains an open question.

5.1.3 Computational performance

This section assesses the computational performance of the proposed solver through three complementary studies: a comparison against representative direct and iterative solvers, the benefit of the proposed acceleration layers against an unaccelerated BDDC baseline, and a scalability study up to 17,00017{,}000 subdomains. The geometry, materials, loads, and discretization are the same as in Section 5.1.2.

Comparison with other solvers
(a)
(b)
(c)
(d)
Figure 16: Performances of four different solvers are compared: BDDC, Cholesky decomposition, SOR, and AMG. (a) Number of iterations required by the iterative solvers. (b), (c) Time required for the setup and solve phases, respectively. (d) Total computational time required by the solvers.

We first compare a basic version of the BDDC method with three widely used solvers for linear systems: the Cholesky factorization, representing a direct method, and the conjugate gradient method combined with either the Successive Over-Relaxation (SOR) preconditioner [82] or an algebraic multigrid (AMG) preconditioner [83], in its smoothed-aggregation variant (GAMG) as implemented in PETSc, representing iterative approaches. All the solvers in this comparison rely on their PETSc implementations, accessed through petsc4py [79, 80], so that the results are not biased by implementation differences. In this comparison, the BDDC method is used without any of the acceleration techniques introduced in Section 4. Furthermore, the stabilization parameter ρ\rho is also set to zero. The performance is evaluated for an increasing number of cells. The trends for the four solvers are reported in Figure 16. In particular, Figure 16a shows the number of iterations required by the iterative methods, highlighting that BDDC is more efficient than both SOR and AMG by more than two orders of magnitude. It should be noted, however, that the iterations in these approaches are performed on different systems. The SOR and AMG methods operate on the full system given in Equation (30), whereas BDDC is applied only to the condensed system defined in Equation (32).

Regarding computational time, Figures 16(b-d) illustrate the setup time, solve time, and total time for the four solvers. More precisely, the setup time does not include the assembly of the local stiffness matrices, as this cost is common to all methods. Although it represents the main portion of the computational effort, as shown in the remainder of this section, local assembly time can be reduced to a level comparable with setup and solve time by employing the acceleration techniques discussed in Section 4. Therefore, the setup time includes:

  • BDDC: construction of the local operators (e.g., Schur complements, restriction/extension matrices) and preparation of the coarse problem solver (assembly of the coarse correction operator SCS_{C} and its Cholesky factorization);

  • Cholesky: assembly of the global matrix and parallel computation of its Cholesky factorization;

  • AMG: assembly of the global matrix and construction of the multigrid hierarchy (coarse levels, transfer operators, and smoothers);

  • SOR: assembly of the global matrix and standard preprocessing required by the SOR method.

The most striking feature of these results is that BDDC outperforms all the alternative methods in terms of total computational time, being approximately one order of magnitude faster than the Cholesky decomposition and about two orders of magnitude faster than SOR and AMG. More specifically, for the Cholesky decomposition, the majority of the computational cost is associated with the setup phase, while the solution phase is comparatively fast, as expected for a direct method. In contrast, for SOR and AMG, most of the computational effort is concentrated in the solution phase due to the large number of iterations required. In this regard, it is worth noting that, although AMG requires fewer iterations than SOR, each of its iterations is more expensive, as it involves the application of a full multigrid cycle, resulting in an overall longer solve time. Moreover, the relatively poor performance of AMG is not unexpected, since standard algebraic multigrid methods are known to lose efficiency for high-order discretizations, and the ill-conditioning introduced by trimming further degrades the effectiveness of the coarsening and smoothing procedures. For BDDC, the setup and solution times are of comparable magnitude, leading to a more balanced computational cost distribution.

Efficiency of the accelerations
(a)
(b)
Figure 17: Iterations (a) and computational time (b) associated with the solution of the problem using a baseline BDDC approach and using the BDDC approach proposed here.

We now turn to the efficiency of the proposed acceleration techniques with respect to the full integration approach. The performance is evaluated in terms of the number of iterations, setup time, and total computational time, as functions of the number of subdomains.

Figure 17a shows the number of iterations for both the baseline case and the proposed method. Here, the term baseline refers to the use of full integration, i.e., no fast assembly technique and no ROM are employed. Additionally, stabilization is not included in the baseline configuration. It can be observed that there is no significant difference in the number of iterations between the baseline and the proposed method, except for the last data point, where the baseline requires one additional iteration.

In contrast, a substantial difference emerges when considering the setup and total computational times, as shown in Figure 17b. In the baseline case, the majority of the computational cost is associated with the setup phase (that here includes also the assemble time), which is expected since full numerical integration must be performed. These results confirm the superiority of the proposed techniques with respect to a standard approach in terms of computational time.

Scalability of the method
(a)
(b)
Figure 18: Iterations (a) and computational time (b) as a function of number of cells. In (b), the computational time is decomposed into assembly time, setup time, solve time, and total time (approximately equal to the sum of the former components). The test is performed up to a large number of cells, specifically 17,000.

To examine scalability, the method is evaluated for increasingly large numbers of cells in the geometry, reaching up to 17,000 subdomains. From Figure 18a, it can be seen that the number of iterations slightly increases with the number of cells, however reaching a constant value of 17.

Figure 18b reports the different components of the computational time, namely: the assembly time that includes the construction of the local matrices, the setup time associated with the computation of all quantities required by the BDDC method, the solve time corresponding to the iterative phase, and the total time, which is approximately the sum of the previous contributions. From this figure, it can be observed that the solve phase is the fastest component, being approximately twice as fast as the setup phase, which in turn is about twice as fast as the assembly phase. The overall computational complexity of the different components with respect to the number of cells appears to exhibit a linear trend. This is expected for problems that are not dominated by the size of the coarse correction. Remarkably, the most demanding analysis including 17,000 cells was still performed in approximately 30 seconds in a standard laptop (online phase only; see Section 4.3 for the offline training cost).

For completeness, the problem size and statistics for the largest test are reported here. The total number of non-redundant degrees of freedom is nI+nU=2,169,728n_{I}+n_{U}=2{,}169{,}728, of which nU=510,784n_{U}=510{,}784 belong to the skeleton and nI=1,658,944n_{I}=1{,}658{,}944 are internal. The coarse problem has nC=136,344n_{C}=136{,}344 degrees of freedom and is solved with a direct Cholesky factorization; its diagonally scaled condition number is κ(SC)=6.0×106\kappa(S_{C})=6.0\times 10^{6}, which induces a relative error of at most κ(SC)ε109\kappa(S_{C})\,\varepsilon\approx 10^{-9} in the coarse solve (ε\varepsilon being the double-precision machine epsilon), well below the solver tolerance of 10810^{-8}, and therefore does not affect the robustness of the preconditioner. The peak resident memory is 30 GB (aggregate over 8 processes). It should be noted that this scalability test is performed on a structured quarter-annulus geometry, which is more regular than the application examples of Section 5.2; nevertheless, the latter exhibit a comparable iteration count. More challenging configurations, such as highly graded geometries or severe trimming, may increase the BDDC iteration count; their systematic assessment is left for future work.

Parallel efficiency and cost distribution

So far the scalability has been assessed with respect to the number of subdomains at a fixed number of cores; we now turn to the parallel behaviour. To this end, a weak-scaling study, which is the natural measure of scalability for a domain-decomposition method, was carried out on a shared-memory server equipped with four Intel Xeon Gold 6148 sockets (20 cores per socket, 80 physical cores, four NUMA nodes, 1 TB of RAM). Each MPI rank is pinned to a distinct physical core with node-local memory, using a single computational thread per rank, and the reported times are the fastest of three repetitions

Table 4 reports the weak scaling at a fixed load of approximately 2,0482{,}048 subdomains per core, up to 131,072131{,}072 subdomains and 1.68×1071.68\times 10^{7} degrees of freedom on 6464 cores, over which the coarse problem grows proportionally from 16,70416{,}704 to 1,051,1361{,}051{,}136 degrees of freedom. Despite this 64×64\times growth, the BDDC iteration count stays between 1515 and 1818, the peak memory per rank remains 4.44.45.45.4 GB, and the direct coarse solve stays below 11 s, so the coarse problem does not become the bottleneck; this confirms the scalability of the coarse space. The parallel efficiency nonetheless decreases from 88%88\% on 22 cores to 19%19\% on 6464 cores, and the distribution of costs reveals the origin. The coarse solve (1\leq 1 s) and the inter-process communication (17\leq 17 s) remain small throughout; the growth is concentrated in the solve phase and is dominated by the vector operations of the interface conjugate-gradient iteration, which reach about 160160 s of the 196196 s solve on 6464 cores. In the present implementation these operations are carried out redundantly on every process over the full interface vector, so that their cost scales with the global problem size; a distributed Krylov solver for the interface problem would remove them. A secondary contribution to the efficiency loss is the saturation of the per-socket memory bandwidth in the setup and assembly phases once more than about four ranks share a socket.

We emphasise that the parallel implementation is a research prototype and that its optimisation lies beyond the scope of this work, which concerns the overall solution strategy rather than parallel-implementation tuning. The principal route to improved efficiency at large core counts is a distributed Krylov solver for the interface problem, which would eliminate the redundant per-process vector operations identified above; at substantially larger scale a parallel or multilevel coarse solve would also become relevant. We finally observe that, in three dimensions, the per-cell workload grows substantially (the local problems scale as (p+1)3(p+1)^{3} rather than (p+1)2(p+1)^{2}), so that each subdomain carries considerably more computation; this higher granularity is expected to improve the parallel efficiency of the dominant per-subdomain phases.

Table 4: Weak scaling at a fixed load of 2,048\approx 2{,}048 subdomains per core on the four-socket Xeon server: number of subdomains, total (non-redundant) and coarse degrees of freedom, BDDC iteration count, the setup/assembly/solve decomposition of the wall time with the coarse-solve and communication contributions (both contained in the solve phase) listed separately, and the weak-scaling efficiency Ew(p)=T(1)/T(p)E_{w}(p)=T(1)/T(p), expressed as a percentage.
Cores Subdom. DOFs Coarse DOFs Iters Setup [s] Asm. [s] Solve [s] Coarse [s] Comm. [s] Total [s] Eff.
11 2,0482{,}048 263,168263{,}168 16,70416{,}704 1515 37.137.1 17.117.1 10.610.6 0.090.09 0.010.01 64.864.8 100%100\%
22 4,2324{,}232 543,168543{,}168 34,31634{,}316 1616 40.740.7 19.419.4 13.413.4 0.140.14 0.820.82 73.573.5 88%88\%
44 8,1928{,}192 1,050,6241{,}050{,}624 66,17666{,}176 1616 42.842.8 19.419.4 15.015.0 0.170.17 1.201.20 77.277.2 84%84\%
88 16,20016{,}200 2,076,4802{,}076{,}480 130,500130{,}500 1717 44.844.8 20.520.5 21.321.3 0.230.23 1.531.53 86.686.6 75%75\%
1616 32,76832{,}768 4,198,4004{,}198{,}400 263,424263{,}424 1717 48.148.1 24.224.2 38.838.8 0.300.30 3.123.12 111.1111.1 58%58\%
3232 66,24866{,}248 8,485,5688{,}485{,}568 531,804531{,}804 1717 56.256.2 30.430.4 86.986.9 0.520.52 5.955.95 173.4173.4 37%37\%
6464 131,072131{,}072 16,785,40816{,}785{,}408 1,051,1361{,}051{,}136 1818 94.594.5 46.746.7 195.6195.6 0.990.99 17.0317.03 336.8336.8 19%19\%

5.2 Application examples

We now demonstrate the effectiveness of the proposed method on application-oriented examples. In particular, we consider two scenarios: a sandwich wing profile with a lattice core, and a wrench featuring a lattice structure.

5.2.1 Sandwich wing

Refer to caption
(a)
Refer to caption
(b)
Figure 19: (a) Geometry of the sandwich wing example in Section 5.2.1. (b) Contour of the magnitude of the displacement field with a zoom on the wing profile. Displacements are expressed here in mm.

The first application considers the analysis of a 2D wing profile featuring a sandwich structure, which is composed of a continuous external layer and a porous inner core. The geometry of the wing is depicted in Figure 19a, and it is characterized by a chord length of l=10l=10 m, a maximum height of h=220h=220 mm, and a profile thickness of 1010 mm.

The load applied to the structure, also illustrated in Figure 19a, simulates a typical aerodynamic relative pressure distribution over a wing profile with a maximum value of pmax=4.5p_{\mathrm{max}}=4.5 N/mm. The structure is clamped at the nodes where the internal part of the wing section would be in contact with the main spar, representing a realistic constraint for a wing structure.

The domain is obtained by combining a total of 4,000 cells. The internal lattice structure is generated using a Schwarz Diamond level-set, whose threshold parameters are kept constant along the chord direction but are varied through the thickness within the interval 1SD=[0.1,1]\mathbb{P}_{1}^{SD}=[0.1,1]. This specific selection of parameters ensures the creation of a continuous, solid external boundary, which is a critical requirement for aerodynamic performance. On the other hand, it produces a porous internal core, which is a characteristic of sandwich structures designed for lightweight applications.

The stabilization parameter for this analysis was chosen as ρ=1104\rho=1\cdot 10^{-4}. It is worth mentioning that despite the geometric complexity of the problem, the BDDC solver demonstrated excellent performance, reaching convergence in just 18 iterations. Figure 19b presents a colormap of the magnitude of the displacement field superimposed, illustrating the structural response under the applied aerodynamic load. The internal structure of the sandwich wing is further illustrated in the zoomed view within the same figure.

5.2.2 Lattice wrench

Refer to caption
(a)
Refer to caption
(b)
Refer to caption
(c)
Refer to caption
(d)
Figure 20: Geometry of lattice structure representing a wrench as described in Section 5.2.2 for the coarse (a) and the dense (c) lattice structures. Contour of the magnitude of the displacement field expressed in mm for the coarse (b) and the dense (d) lattice structures.

In this second example, we consider a geometry that does not derive from a standard tensor-product-based disposition of cells. Specifically, we consider the wrench depicted in Figure 20(a), partitioned into 90 subdomains. The global geometric features of the wrench are the handle length of l=50l=50 mm, the apothem of the hexagonal hole of a=8.7a=8.7 mm, and the external diameter of d=60d=60 mm. The lattice micro-structure within each subdomain is defined by a Schoen IWP level-set, with threshold parameters chosen within the interval [2.5,2.5]4[-2.5,2.5]^{4}. The threshold parameters are drawn randomly, independently for each cell, from a uniform distribution over this interval; the random seed is fixed in the corresponding scripts (see Table 3), so that the lattice geometries and the reported results are exactly reproducible.

The mechanical behavior of the structure is modeled with a Young’s modulus E=5E=5 N/mm and a Poisson’s ratio ν=0.25\nu=0.25. To simulate the action of the wrench, a homogeneous Dirichlet boundary condition is imposed on the interior hexagonal boundary of the wrench head, representing the fixed grip on a bolt. A downward traction force 𝐟=1\mathbf{f}=-1 N/mm 𝒆2\boldsymbol{e}_{2} is applied as a Neumann boundary condition on the vertical left side of the handle, while homogeneous Neumann boundary conditions are enforced on the remaining portions of the boundary.

The stabilization parameter is chosen as ρ=5104\rho=5\cdot 10^{-4}. Despite the non-trivial layout of the subdomains and the variability of the random lattice parameters, the proposed BDDC solver proves to be highly robust, achieving convergence in only 15 iterations. The resulting displacement field uhu_{h} is illustrated in Figure 20(b), exhibiting the expected bending behavior of the loaded wrench.

To assess the accuracy of the computed solution, a reference solution is built by discretizing every cell of the wrench with a grid of k×kk\times k rectangular elements of degree p=3p=3 within a CutFEM framework [81, 45], with kk up to 66. The level-set of each element describes the corresponding portion of the cell level-set, so that the lattice geometry is exactly the same for every kk. These reference solutions employ full integration, no ROM acceleration, and a direct solver. Two quantities of interest are monitored: the compliance and the mean displacement of the loaded boundary. Since the traction is interpolated at the degrees of freedom of the loaded boundary, the resultant of the discrete load varies slightly with the discretization. For this reason, the compliance is normalized by the square of the resultant of the discrete load, and the mean displacement by the resultant itself.

(a)
(b)
Figure 21: Relative error of the normalized compliance (a) and of the normalized mean displacement of the loaded boundary (b) for the wrench example. In each plot, the blue curve corresponds to the hh-refined solutions, obtained with a grid of k×kk\times k rectangular CutFEM elements of degree p=3p=3 per cell, with k=1,2,3,4k=1,2,3,4. The star corresponds to the proposed spectral method, with a single element of degree p=8p=8 per cell, combined with the ROM acceleration, the α\alpha-stabilization, and the BDDC solver. The errors are measured against the finest hh-refined solution (k=6k=6, corresponding to 59,400 DoFs).

Figure 21 reports the relative error of both quantities with respect to the finest reference solution, which counts 59,400 DoFs. The reference solutions converge monotonically as kk increases, with errors decreasing from about 17%17\% for k=1k=1 down to 0.7%0.7\% for k=4k=4. The result of the proposed method, which combines the ROM acceleration, the α\alpha-stabilization, and the BDDC solver with degree p=8p=8, lies on the same error curve, with an error close to 5%5\% for 12,000 DoFs. The impact of the individual ingredients of the method on both quantities is small compared to the discretization error. Replacing the ROM by full integration changes both quantities by 1.41041.4\cdot 10^{-4}; removing the α\alpha-stabilization changes them by 5.51035.5\cdot 10^{-3}; and replacing the BDDC solver by a direct factorization changes them by 2.510102.5\cdot 10^{-10}.

To further confirm the scalability observed in Section 5.1.3, the similar wrench geometry shown in Figure 20(c) is considered, this time obtained as a lattice structure consisting of 7,290 subdomains, while all other properties remain unchanged. The BDDC solver remains robust and converges in a comparable number of iterations (18). The resulting displacement field is shown in Figure 20(d).

6 Conclusions

In this work, we presented a novel domain decomposition method for fast simulation of large two-dimensional lattice structures geometrically described through implicit functions, without relying on homogenization or multiscale approaches. Individual lattice cells, described through level-set functions that may change from cell to cell, are mapped using arbitrary order mappings (in a finite element spirit), allowing the creation of complex graded designs.

In order to solve such designs efficiently and with low memory requirements, without the need for homogenization or multiscale techniques, which rely on assumptions such as scale separation and periodicity, we use domain decomposition methods. Specifically, the proposed framework integrates a Balanced Domain Decomposition by Constraints (BDDC) solver with high-order unfitted discretizations, which naturally handle level-set geometric descriptions. This strategy exploits the geometric similarities between lattice cells by building a reduced order model (ROM) surrogate that assembles the cell stiffness matrices in a fraction of the time and without the need for expensive quadrature rules. The different hypotheses and approximations introduced in the solver have been assessed through numerical experiments to validate the proposed framework.

This methodology is complemented with a α\alpha-stabilization term, similar to the one applied in finite cell methods, required by the unfitted nature of the discretization. When using ROM techniques, such stabilization is required to obtain a scalable solver with respect to the number of subdomains. However, it breaks the consistency of the problem, introducing an error in the solution which remains small for moderate stabilization parameters. As reported in the numerical experiments, the number of iterations remains asymptotically bounded as the ratio H/hH/h (subdomain versus mesh size) is kept constant, in agreement with the scalability properties of BDDC methods. We demonstrated its performance on a 2D problem with 17,000 varying cell geometries, solving it in approximately 30 seconds on an off-the-shelf laptop. A dedicated weak-scaling study further confirms this behaviour, the BDDC iteration count remaining bounded (between 1515 and 1818) as the problem is scaled up to 131,072131{,}072 subdomains and 1.68×1071.68\times 10^{7} degrees of freedom on 6464 cores.

Such a solver could constitute a solid foundation for use in conjunction with optimization algorithms: it allows forward problems to be solved quickly, and the ROM surrogate for stiffness matrix assembly makes it straightforward to compute the gradient of the solution with respect to the design parameters.

We will also investigate alternative ROM surrogates for 3D problems. The MDEIM coefficient interpolation algorithm proposed in this work relies on one parameter coefficient per interpolation mesh vertex, which in hexahedral meshes amounts to at least 8 coefficients per cell. In view of the additional complexity associated with a three-dimensional extension of the present framework, two possible research directions can be considered: the use of neural network based surrogates that do not suffer the curse of dimensionality; and the discretization of the porosity field on tetrahedral meshes, which have fewer vertices per cell and thus lead to lower-dimensional parameter spaces. Beyond the construction of the surrogates themselves, we plan to explore their use as approximate subdomain inverses for building efficient preconditioners. In this setting, the ROM-generated subdomain stiffness matrices would be applied directly inside a Krylov solver without the need to invert them, which would also reduce the need for the stabilization introduced in this work. Finally, we plan to extend this framework to support more complex boundary conditions, to the case of hyperelastic materials under large deformations, and to the simulation of plates.

Acknowledgments

The authors acknowledge the financial support of the Swiss National Science Foundation through the project FLASh (200021_214987). The authors would like to acknowledge the support of Raul Rubio for his valuable scientific contributions, particularly in the area of domain decomposition.

Declaration of generative AI and AI-assisted technologies in the writing process:

During the preparation of this work, the authors used ChatGPT, Gemini, and Claude in order to improve language and readability. After using this tool/service, the authors reviewed and edited the content as needed and take full responsibility for the content of the publication.

Appendix A Algorithms

In this appendix, some of the algorithms employed in the method are presented to provide additional clarity and to assist the reader in navigating its various aspects.

Algorithm 1 Application of operator SBDDC1S_{BDDC}^{-1} to vv (parallelizable over subdomains ii).
1: Input: vector vnUv\in\mathbb{R}^{n_{U}}
2: Output: vector wnUw\in\mathbb{R}^{n_{U}}
3: w0nUw\leftarrow 0\in\mathbb{R}^{n_{U}}
4: for all i[1,,nc]i\in[1,\dots,n_{c}] do\triangleright Executed in parallel
5:   Extract subvector v(i)v^{(i)} from vv
6:   Solve [S(i)C(i)C(i)0][x(i)λ(i)]=[D(i)v(i)0]\begin{bmatrix}S^{(i)}&C^{(i)^{\top}}\\ C^{(i)}&0\end{bmatrix}\begin{bmatrix}x^{(i)}\\ \lambda^{(i)}\end{bmatrix}=\begin{bmatrix}D^{(i)}v^{(i)}\\ 0\end{bmatrix} \triangleright Using Algorithm 2
7:   Prolong D(i)x(i)D^{(i)}x^{(i)} to xx
8:   Compute w=w+xw=w+x
9: end for
10: z0ncz\leftarrow 0\in\mathbb{R}^{n_{c}}
11: for all i[1,,nc]i\in[1,\dots,n_{c}] do\triangleright Executed in parallel
12:   Extract subvector v(i)v^{(i)} from vv
13:   Prolong Ψ(i)D(i)v(i){\Psi^{(i)\top}}D^{(i)\top}v^{(i)} to yy
14:   Compute z=z+yz=z+y
15: end for
16: Solve SCg=zS_{C}g=z\triangleright Executed with a parallel sparse Cholesky solver
17: for all i[1,,nc]i\in[1,\dots,n_{c}] do\triangleright Executed in parallel
18:   Extract subvector g(i)g^{(i)} from gg
19:   Prolong D(i)Ψ(i)g(i)D^{(i)}\Psi^{(i)}g^{(i)} to xx
20:   Compute w=w+xw=w+x
21: end for
22: return ww
Algorithm 2 Local solve of the problem [S(i)C(i)C(i)0][x(i)λ(i)]=[f(i)g(i)]\begin{bmatrix}S^{(i)}&C^{(i)^{\top}}\\ C^{(i)}&0\end{bmatrix}\begin{bmatrix}x^{(i)}\\ \lambda^{(i)}\end{bmatrix}=\begin{bmatrix}f^{(i)}\\ g^{(i)}\end{bmatrix}
1: Input: vector f(i)nU(i)f^{(i)}\in\mathbb{R}^{n_{U}^{(i)}}, vector g(i)nC(i)g^{(i)}\in\mathbb{R}^{n_{C}^{(i)}}
2: Output: vector x(i)nU(i)x^{(i)}\in\mathbb{R}^{n_{U}^{(i)}}, vector λ(i)nC(i)\lambda^{(i)}\in\mathbb{R}^{n_{C}^{(i)}}.
3: Remove the rows and columns associated with cross-point coarse DoFs in C(i)C^{(i)}, x(i)x^{(i)}, λ(i)\lambda^{(i)}, f(i)f^{(i)}, g(i)g^{(i)}, and S(i)S^{(i)}, yielding the system
[S^(i)C^(i)C^(i)0][x^(i)λ^(i)]=[f^(i)g^(i)].\begin{bmatrix}\hat{S}^{(i)}&\hat{C}^{(i)^{\top}}\\ \hat{C}^{(i)}&0\end{bmatrix}\begin{bmatrix}\hat{x}^{(i)}\\ \hat{\lambda}^{(i)}\end{bmatrix}=\begin{bmatrix}\hat{f}^{(i)}\\ \hat{g}^{(i)}\end{bmatrix}.
4: Compute S^(i)1C^(i)\hat{S}^{(i)-1}\hat{C}^{(i)^{\top}} \triangleright Through solve of S^(i)X=C^(i)\hat{S}^{(i)}X=\hat{C}^{(i)^{\top}}
5: Compute t^(i)=C^(i)S^(i)1f^(i)g^(i)\hat{t}^{(i)}=\hat{C}^{(i)}\hat{S}^{(i)-1}\hat{f}^{(i)}-\hat{g}^{(i)} \triangleright Through solve of S^(i)x=f^(i)\hat{S}^{(i)}x=\hat{f}^{(i)}
6: Solve T^(i)λ^(i)=t^(i)\hat{T}^{(i)}\hat{\lambda}^{(i)}=\hat{t}^{(i)}
7: Compute h^(i)=f^(i)C^(i)λ^(i)\hat{h}^{(i)}=\hat{f}^{(i)}-\hat{C}^{(i)^{\top}}\hat{\lambda}^{(i)}
8: Compute x^(i)=S^(i)1h^(i)\hat{x}^{(i)}=\hat{S}^{(i)-1}\hat{h}^{(i)} \triangleright Through solve of S^(i)x=h^(i)\hat{S}^{(i)}x=\hat{h}^{(i)}
9: Assemble x(i)x^{(i)} and λ(i)\lambda^{(i)} by reversing step 5
10: return x(i)x^{(i)}, λ(i)\lambda^{(i)}
Algorithm 3 Select magic points
1: Input: matrix Urni×nrU_{r}\in\mathbb{R}^{n_{i}\times n_{r}}
2: Output: set of indices {m1,,mnr}\{m_{1},\dots,m_{n_{r}}\}\in\mathbb{N}
3: for j=1j=1 to nrn_{r} do
4:   if j=1j=1 then
5:    m1argmaxi|Ur 1[i]|m_{1}\leftarrow\operatorname{arg\,max}_{i}\left|U_{r\,1}^{[i]}\right|
6:   else
7:    Compute projection of UrjU_{r\,j} onto span{Ur 1,,Urj1}:Upj=k=1j1UrkUrkUrj\mathrm{span}\{U_{r\,1},\dots,U_{r\,j-1}\}:U_{p\,j}=\sum_{k=1}^{j-1}U_{r\,k}U_{r\,k}^{\top}\,U_{r\,j}
8:    mjargmaxi|Urj[i]Upj[i]|m_{j}\leftarrow\operatorname{arg\,max}_{i}\left|U_{r\,j}^{[i]}-U_{p\,j}^{[i]}\right|
9:   end if
10: end for
11: return m1,m2,,mnrm_{1},m_{2},\dots,m_{n_{r}}
Algorithm 4 Assembly of the local stiffness matrix
1: Input: tensor function C^i1j1i2j2(𝝃)\hat{C}_{i_{1}j_{1}i_{2}j_{2}}(\boldsymbol{\xi}), threshold vector 𝝁0\boldsymbol{\mu}_{0}, stabilization parameter ρ\rho
2: Output: stiffness tensor Ki1i2k1k2K_{i_{1}i_{2}k_{1}k_{2}}
3: Compute Ci1j1i2j2k3\mathrm{C}_{i_{1}j_{1}i_{2}j_{2}k_{3}} by interpolating C^i1j1i2j2(𝝃)\hat{C}_{i_{1}j_{1}i_{2}j_{2}}(\boldsymbol{\xi})
4: Obtain I(𝝁0)I(\boldsymbol{\mu}_{0}) \triangleright Using Algorithm 5
5: Obtain j1j2k1k2k3Reshape(I)\mathcal{I}^{k_{1}k_{2}k_{3}}_{j_{1}j_{2}}\leftarrow\text{Reshape}(I)
6: Obtain ~j1j2k1k2k3Π^Bk1ξj1Bk2ξj2Lk3𝑑Ω^j1j2k1k2k3\tilde{\mathcal{I}}^{k_{1}k_{2}k_{3}}_{j_{1}j_{2}}\leftarrow\int_{\hat{\Pi}}\frac{\partial{B}_{k_{1}}}{\partial\xi_{j_{1}}}\frac{\partial{B}_{k_{2}}}{\partial\xi_{j_{2}}}{L}_{k_{3}}\,\mathrm{d}\hat{\Omega}-\mathcal{I}^{k_{1}k_{2}k_{3}}_{j_{1}j_{2}} \triangleright Π^Bk1ξj1Bk2ξj2Lk3𝑑Ω^\int_{\hat{\Pi}}\frac{\partial{B}_{k_{1}}}{\partial\xi_{j_{1}}}\frac{\partial{B}_{k_{2}}}{\partial\xi_{j_{2}}}{L}_{k_{3}}\,\mathrm{d}\hat{\Omega} is precomputed
7: Obtain Ki1i2k1k2(j1j2k1k2k3+ρ~j1j2k1k2k3)Ci1j1i2j2k3K_{i_{1}i_{2}k_{1}k_{2}}\leftarrow\left(\mathcal{I}^{k_{1}k_{2}k_{3}}_{j_{1}j_{2}}+\rho\cdot\tilde{\mathcal{I}}^{k_{1}k_{2}k_{3}}_{j_{1}j_{2}}\right)\mathrm{C}_{i_{1}j_{1}i_{2}j_{2}k_{3}}
8: return Ki1i2k1k2K_{i_{1}i_{2}k_{1}k_{2}}
Algorithm 5 MDEIM
1: Input: list(tensor Urni×nrU_{r}\in\mathbb{R}^{n_{i}\times n_{r}}), list(reduced-order functions Ir(𝝁):4rI_{r}(\boldsymbol{\mu}):\mathbb{R}^{4}\to\mathbb{R}^{r}), threshold vector 𝝁0\boldsymbol{\mu}_{0}
2: Output: vector IniI\in\mathbb{R}^{n_{i}}
3: ikFindCluster(𝝁0)i_{k}\leftarrow\text{FindCluster}(\boldsymbol{\mu}_{0})
4: IUrikIrik(𝝁0)I\leftarrow U_{r}^{i_{k}}I_{r}^{i_{k}}(\boldsymbol{\mu}_{0})
5: return II

References

  • [1] T. D. Ngo, A. Kashani, G. Imbalzano, K. T. Nguyen, D. Hui, Additive Manufacturing (3D Printing): A Review of Materials, Methods, Applications and Challenges, Composites Part B: Engineering 143 (2018) 172–196.
  • [2] A. Vyatskikh, S. Delalande, A. Kudo, X. Zhang, C. M. Portela, J. R. Greer, Additive Manufacturing of 3D Nano-Architected Metals, Nature communications 9 (1) (2018) 1–8.
  • [3] C. Pan, Y. Han, J. Lu, Design and Optimization of Lattice Structures: A Review, Applied Sciences 10 (18) (2020) 6374.
  • [4] X. Zheng, H. Lee, T. H. Weisgraber, M. Shusteff, J. DeOtte, E. B. Duoss, J. D. Kuntz, M. M. Biener, Q. Ge, J. A. Jackson, et al., Ultralight, Ultrastiff Mechanical Metamaterials, Science 344 (6190) (2014) 1373–1377.
  • [5] J. Bauer, S. Hengsbach, I. Tesari, R. Schwaiger, O. Kraft, High-Strength Cellular Ceramic Composites with 3D Microarchitecture, Proceedings of the National Academy of Sciences 111 (7) (2014) 2453–2458.
  • [6] S. C. Han, J. W. Lee, K. Kang, A New Type of Low Density Material: Shellular, Advanced Materials 27 (37) (2015) 5506–5511.
  • [7] L. R. Meza, A. J. Zelhofer, N. Clarke, A. J. Mateos, D. M. Kochmann, J. R. Greer, Resilient 3D Hierarchical Architected Metamaterials, Proceedings of the National Academy of Sciences 112 (37) (2015) 11502–11507.
  • [8] A. J. D. Shaikeea, H. Cui, M. O’Masta, X. R. Zheng, V. S. Deshpande, The Toughness of Mechanical Metamaterials, Nature Materials 21 (3) (2022) 297–304.
  • [9] X. Ren, R. Das, P. Tran, T. D. Ngo, Y. M. Xie, Auxetic Metamaterials and Structures: A Review, Smart materials and structures 27 (2) (2018) 023001.
  • [10] T. Tancogne-Dejean, A. B. Spierings, D. Mohr, Additively-Manufactured Metallic Micro-Lattice Materials for High Specific Energy Absorption under Static and Dynamic Loading, Acta Materialia 116 (2016) 14–28.
  • [11] S. Shan, S. H. Kang, J. R. Raney, P. Wang, L. Fang, F. Candido, J. A. Lewis, K. Bertoldi, Multistable Architected Materials for Trapping Elastic Strain Energy, Advanced Materials 27 (29) (2015) 4296–4301.
  • [12] J. U. Surjadi, L. Gao, H. Du, X. Li, X. Xiong, N. X. Fang, Y. Lu, Mechanical Metamaterials and Their Engineering Applications, Advanced Engineering Materials 21 (3) (2019) 1800864.
  • [13] D. M. Kochmann, J. B. Hopkins, L. Valdevit, Multiscale Modeling and Optimization of the Mechanics of Hierarchical Metamaterials, MRS Bulletin 44 (10) (2019) 773–781.
  • [14] M. Buck, O. Iliev, H. Andrä, Multiscale Finite Element Coarse Spaces for the Application to Linear Elasticity, Open Mathematics 11 (4) (2013) 680–701.
  • [15] T. Y. Hou, X.-H. Wu, A Multiscale Finite Element Method for Elliptic Problems in Composite Materials and Porous Media, Journal of computational physics 134 (1) (1997) 169–189.
  • [16] N. Castelletto, H. Hajibeygi, H. A. Tchelepi, Multiscale Finite-Element Method for Linear Elastic Geomechanics, Journal of Computational Physics 331 (2017) 337–356.
  • [17] M. Doškář, J. Zeman, P. Krysl, J. Novák, Microstructure-Informed Reduced Modes Synthesized with Wang Tiles and the Generalized Finite Element Method, Computational Mechanics 68 (2) (2021) 233–253.
  • [18] D. Savvas, G. Stefanou, M. Papadrakakis, G. Deodatis, Homogenization of Random Heterogeneous Media with Inclusions of Arbitrary Shape Modeled by XFEM, Computational mechanics 54 (5) (2014) 1221–1235.
  • [19] T. Strouboulis, I. Babuška, K. Copps, The Design and Analysis of the Generalized Finite Element Method, Computer methods in applied mechanics and engineering 181 (1-3) (2000) 43–69.
  • [20] F. Feyel, A Multilevel Finite Element Method (FE2) to Describe the Response of Highly Non-Linear Structures Using Generalized Continua, Computer Methods in applied Mechanics and engineering 192 (28-30) (2003) 3233–3244.
  • [21] J. Schröder, A Numerical Two-Scale Homogenization Scheme: the FE 2-Method, in: Plasticity and beyond, Springer, 2014, pp. 1–64.
  • [22] N. Charalambakis, Homogenization Techniques and Micromechanics: A Survey and Perspectives, Applied Mechanics Reviews 63 (3) (2010).
  • [23] H. Moulinec, P. Suquet, A FFT-Based Numerical Method for Computing the Mechanical Properties of Composites from Images of Their Microstructures, in: IUTAM symposium on microstructure-property interactions in composite materials, Springer, 1995, pp. 235–246.
  • [24] J. Zeman, J. Vondřejc, J. Novák, I. Marek, Accelerating a FFT-Based Solver for Numerical Homogenization of Periodic Media by Conjugate Gradients, Journal of Computational Physics 229 (21) (2010) 8065–8071.
  • [25] V. Müller, M. Kabel, H. Andrä, T. Böhlke, Homogenization of Linear Elastic Properties of Short-Fiber Reinforced Composites—A Comparison of Mean Field and Voxel-Based Methods, International Journal of Solids and Structures 67 (2015) 56–70.
  • [26] R. N. Glaesener, E. A. Träff, B. Telgen, R. M. Canonica, D. M. Kochmann, Continuum Representation of Nonlinear Three-Dimensional Periodic Truss Networks by On-The-Fly Homogenization, International Journal of Solids and Structures 206 (2020) 101–113.
  • [27] P. Onck, E. Andrews, L. Gibson, Size Effects in Ductile Cellular Solids. Part I: Modeling, International Journal of Mechanical Sciences 43 (3) (2001) 681–699.
  • [28] M. Yoder, L. Thompson, J. Summers, Size Effects in Lattice Structures and a Comparison to Micropolar Elasticity, International Journal of Solids and Structures 143 (2018) 245–261.
  • [29] C. M. Portela, J. R. Greer, D. M. Kochmann, Impact of Node Geometry on the Effective Stiffness of Non-Slender Three-Dimensional Truss Lattice Architectures, Extreme Mechanics Letters 22 (2018) 138–148.
  • [30] M. Jamshidian, N. Boddeti, D. W. Rosen, O. Weeger, Multiscale Modelling of Soft Lattice Metamaterials: Micromechanical Nonlinear Buckling Analysis, Experimental Verification, and Macroscale Constitutive Behaviour, International Journal of Mechanical Sciences 188 (2020) 105956.
  • [31] O. Weeger, Isogeometric sizing and shape optimization of 3D beams and lattice structures at large deformations, Structural and Multidisciplinary Optimization 65 (2) (2022) 1–22.
  • [32] C. Bonatti, D. Mohr, Large deformation response of additively-manufactured FCC metamaterials: From octet truss lattices towards continuous shell mesostructures, International Journal of Plasticity 92 (2017) 122–147.
  • [33] K. D. Nguyen, T. V. Duong, J. Lee, Y. Bazilevs, H. Nguyen-Xuan, An Efficient NURBS-Based Reconstruction Approach to Isogeometric Analysis of Triply Periodic Minimal Surface Structures, Engineering with Computers 41 (6) (2025) 4479–4509.
  • [34] N. Korshunova, G. Alaimo, S. B. Hosseini, M. Carraturo, A. Reali, J. Niiranen, F. Auricchio, E. Rank, S. Kollmannsberger, Image-Based Numerical Characterization and Experimental Validation of Tensile Behavior of Octet-Truss Lattice Structures, Additive Manufacturing 41 (2021) 101949.
  • [35] N. Korshunova, G. Alaimo, S. Hosseini, M. Carraturo, A. Reali, J. Niiranen, F. Auricchio, E. Rank, S. Kollmannsberger, Bending Behavior of Octet-Truss Lattice Structures: Modelling Options, Numerical Characterization and Experimental Validation, Materials & Design 205 (2021) 109693.
  • [36] A. Düster, J. Parvizian, Z. Yang, E. Rank, The Finite Cell Method for Three-Dimensional Problems of Solid Mechanics, Computer methods in applied mechanics and engineering 197 (45-48) (2008) 3768–3782.
  • [37] T. Hirschler, P. Antolin, A. Buffa, Fast and Multiscale Formation of Isogeometric Matrices of Microstructured Geometric Models, Computational Mechanics 69 (2) (2022) 439–466.
  • [38] T. Hirschler, R. Bouclier, P. Antolin, A. Buffa, Reduced Order Modeling Based Inexact FETI-DP Solver for Lattice Structures, International Journal for Numerical Methods in Engineering 125 (8) (2024) e7419.
  • [39] C. Guillet, T. Hirschler, P. Jolivet, P. Antolin, R. Bouclier, Efficient Fine-Scale Simulation of Nonlinear Hyperelastic Lattice Structures, arXiv preprint arXiv:2603.10741 (2026).
  • [40] C. Guillet, T. Hirschler, P. Jolivet, R. Bouclier, Multilevel Matrix-Free Method for High-Performance Isogeometric Analysis of Lattice Structures, Journal of Computational Physics 537 (2025) 114136.
  • [41] S. Kumar, S. Tan, L. Zheng, D. M. Kochmann, Inverse-Designed Spinodoid Metamaterials, npj Computational Materials 6 (1) (2020) 73.
  • [42] J. Feng, J. Fu, X. Yao, Y. He, Triply Periodic Minimal Surface (TPMS) Porous Structures: from Multi-Scale Design, Precise Additive Manufacturing to Multidisciplinary Applications, International Journal of Extreme Manufacturing 4 (2) (2022) 022001.
  • [43] S. Badia, F. Verdugo, A. F. Martín, The Aggregated Unfitted Finite Element Method for Elliptic Problems, Computer Methods in Applied Mechanics and Engineering 336 (2018) 533–553.
  • [44] A. Main, G. Scovazzi, The Shifted Boundary Method for Embedded Domain Computations. Part I: Poisson and Stokes Problems, Journal of Computational Physics 372 (2018) 972–995.
  • [45] E. Burman, P. Hansbo, M. G. Larson, S. Zahedi, Cut Finite Element Methods, Acta Numerica 34 (2025) 1–121.
  • [46] S. Chaturantabut, D. C. Sorensen, Nonlinear Model Reduction via Discrete Empirical Interpolation, SIAM Journal on Scientific Computing 32 (5) (2010) 2737–2764.
  • [47] F. Negri, A. Manzoni, D. Amsallem, Efficient Model Reduction of Parametrized Systems by Matrix Discrete Empirical Interpolation, Journal of Computational Physics 303 (2015) 431–454.
  • [48] E. N. Karatzas, F. Ballarin, G. Rozza, Projection-Based Reduced Order Models for a Cut Finite Element Method in Parametrized Domains, Computers & Mathematics with Applications 79 (3) (2020) 833–851.
  • [49] M. Chasapi, P. Antolin, A. Buffa, A Localized Reduced Basis Approach for Unfitted Domain Methods on Parameterized Geometries, Computer Methods in Applied Mechanics and Engineering 410 (2023) 115997.
  • [50] N. Mueller, S. Badia, Y. Zhao, Reduced Basis Solvers for Unfitted Methods on Parameterized Domains, Computer Methods in Applied Mechanics and Engineering 451 (2026) 118610.
  • [51] J. Parvizian, A. Düster, E. Rank, Finite Cell Method: h- and p-Extension for Embedded Domain Problems in Solid Mechanics, Computational Mechanics 41 (1) (2007) 121–133.
  • [52] C. Lehrenfeld, A. Reusken, Analysis of a High-Order Unfitted Finite Element Method for Elliptic Interface Problems, IMA Journal of Numerical Analysis 38 (3) (2018) 1351–1387.
  • [53] P. A. Martorell, S. Badia, High Order Unfitted Finite Element Discretizations for Explicit Boundary Representations, Journal of Computational Physics 511 (2024) 113127.
  • [54] A. Idesman, M. Mobin, J. Bishop, 10-th order of accuracy for numerical solution of 3-D elasticity equations for heterogeneous materials on unfitted Cartesian meshes, Computational Mechanics 76 (2025) 1085–1115.
  • [55] C. R. Dohrmann, A preconditioner for substructuring based on constrained energy minimization, SIAM Journal on Scientific Computing 25 (1) (2003) 246–258.
  • [56] J. Mandel, C. R. Dohrmann, Convergence of a balancing domain decomposition by constraints and energy minimization, Numerical Linear Algebra with Applications 10 (7) (2003) 639–659.
  • [57] J. Li, O. B. Widlund, FETI-DP, BDDC, and block Cholesky methods, International Journal for Numerical Methods in Engineering 66 (2) (2006) 250–271.
  • [58] L. Beirão da Veiga, D. Cho, L. F. Pavarino, S. Scacchi, BDDC preconditioners for isogeometric analysis, Mathematical Models and Methods in Applied Sciences 23 (6) (2013) 1099–1142.
  • [59] L. Beirão da Veiga, L. F. Pavarino, S. Scacchi, O. B. Widlund, S. Zampini, Isogeometric BDDC preconditioners with deluxe scaling, SIAM Journal on Scientific Computing 36 (3) (2014) A1118–A1139.
  • [60] S. Badia, F. Verdugo, Robust and Scalable Domain Decomposition Solvers for Unfitted Finite Element Methods, Journal of Computational and Applied Mathematics 344 (2018) 740–759.
  • [61] P. Antolin, QUGaR: Quadratures for Unfitted GeometRies, https://github.com/FELIGN/qugar, GitHub repository (2025).
  • [62] I. A. Baratta, J. P. Dean, J. S. Dokken, M. Habera, J. S. Hale, C. N. Richardson, M. E. Rognes, M. W. Scroggs, N. Sime, G. N. Wells, DOLFINx: The next generation FEniCS problem solving environment (Dec. 2023).
  • [63] R. I. Saye, Algoim: Algorithms for Implicit Domains, https://github.com/algoim/algoim, GitHub repository (2025).
  • [64] R. I. Saye, High-Order Quadrature Methods for Implicitly Defined Surfaces and Volumes in Hyperrectangles, SIAM Journal on Scientific Computing 37 (2) (2015) A993–A1019.
  • [65] R. I. Saye, High-Order Quadrature on Multi-Component Domains Implicitly Defined by Multivariate Polynomials, Journal of Computational Physics 448 (2022) 110720.
  • [66] M. Dauge, A. Düster, E. Rank, Theoretical and Numerical Investigation of the Finite Cell Method, Journal of Scientific Computing 65 (3) (2015) 1039–1064.
  • [67] T. P. A. Mathew, Domain Decomposition Methods for the Numerical Solution of Partial Differential Equations, Springer, 2008.
  • [68] A. Heinlein, A. Klawonn, M. Lanser, J. Weber, A Frugal FETI-DP and BDDC Coarse Space for Heterogeneous Problems, Tech. rep., TR series, Center for Data and Simulation Science, University of Cologne (2019).
  • [69] J. Mandel, C. R. Dohrmann, R. Tezaur, An algebraic theory for primal and dual substructuring methods by constraints, Applied Numerical Mathematics 54 (2) (2005) 167–193.
  • [70] P. R. Amestoy, I. S. Duff, J.-Y. L’Excellent, J. Koster, A fully asynchronous multifrontal solver using distributed dynamic scheduling, SIAM Journal on Matrix Analysis and Applications 23 (1) (2001) 15–41.
  • [71] T. Hirschler, P. Antolin, A. Buffa, Fast and Multiscale Formation of Isogeometric Matrices of Microstructured Geometric Models, Computational Mechanics 69 (2) (2022) 439–466.
  • [72] A. Mantzaflaris, B. Jüttler, Integration by interpolation and look-up for Galerkin-based isogeometric analysis, Computer Methods in Applied Mechanics and Engineering 284 (2015) 373–400.
  • [73] M. D. Mckay, R. J. Beckman, W. J. Conover, A Comparison of Three Methods for Selecting Values of Input Variables in the Analysis of Output from a Computer Code, Technometrics 42 (1) (2000) 55–61.
  • [74] M. Barrault, Y. Maday, N. C. Nguyen, A. T. Patera, An ‘Empirical Interpolation’ Method: Application to Efficient Reduced-Basis Discretization of Partial Differential Equations, Comptes Rendus Mathematique 339 (9) (2004) 667–672.
  • [75] M. J. Powell, The Theory of Radial Basis Function Approximation in 1990, Advances in numerical analysis (1992) 105–210.
  • [76] H.-J. Bungartz, M. Griebel, Sparse Grids, Acta Numerica, Cambridge University Press, 2004, pp. 147–270.
  • [77] P. Antolin, G. Bonilla Moreno, Reduced-Order Model data for FLASh: Fast simulation tools for Lattice Structures, https://doi.org/10.5281/zenodo.19254389, zenodo dataset (Mar. 2026). doi:10.5281/zenodo.19254389.
  • [78] G. Bonilla Moreno, FLASh: Fast simulation tools for Lattice Structures, https://github.com/Gonzalobm99/FLASh, GitHub repository (2025).
  • [79] S. Balay, S. Abhyankar, M. F. Adams, J. Brown, P. Brune, K. Buschelman, E. M. Constantinescu, L. Dalcin, S. Benson, A. Dener, V. Eijkhout, J. Faibussowitsch, W. D. Gropp, V. Hapla, T. Isaac, P. Jolivet, D. Karpeev, D. Kaushik, M. G. Knepley, F. Kong, S. Kruger, D. A. May, L. C. McInnes, R. T. Mills, L. Mitchell, T. Munson, J. E. Roman, K. Rupp, P. Sanan, J. Sarich, B. F. Smith, H. Suh, S. Zampini, H. Zhang, J. Zhang, PETSc/TAO users manual revision 3.24, Tech. Rep. ANL-21/39 - Revision 3.24, Argonne National Laboratory (2025).
  • [80] L. D. Dalcin, R. R. Paz, P. A. Kler, A. Cosimo, Parallel distributed computing using Python, Advances in Water Resources 34 (9) (2011) 1124–1139.
  • [81] E. Burman, S. Claus, P. Hansbo, M. G. Larson, A. Massing, CutFEM: Discretizing Geometry and Partial Differential Equations, International Journal for Numerical Methods in Engineering 104 (7) (2015) 472–501.
  • [82] D. M. Young, Iterative Solution of Large Linear Systems, Elsevier, 2014.
  • [83] J. W. Ruge, K. Stüben, Algebraic Multigrid, in: S. F. McCormick (Ed.), Multigrid Methods, SIAM, 1987, pp. 73–130.