Abstract
We present a novel isogeometric method, namely the Immersed Boundary-Conformal Method (IBCM), that features a layer of discretization conformal to the boundary while employing a simple background mesh for the remaining domain. In this manner, we leverage the geometric flexibility of the immersed boundary method with the advantages of a conformal discretization, such as intuitive control of mesh resolution around the boundary, higher accuracy per degree of freedom, automatic satisfaction of interface kinematic conditions, and the ability to strongly impose Dirichlet boundary conditions. In the proposed method, starting with a boundary representation of a geometric model, we extrude it to obtain a corresponding conformal layer. Next, a given background B-spline mesh is cut with the conformal layer, leading to two disconnected regions: an exterior region and an interior region. Depending on the problem of interest, one of the two regions is selected to be coupled with the conformal layer through Nitsche’s method. Such a construction involves Boolean operations such as difference and union, which therefore require proper stabilization to deal with arbitrarily cut elements. In this regard, we follow our precedent work called the minimal stabilization method (Antolin et al in SIAM J Sci Comput 43(1):A330–A354, 2021). In the end, we solve several 2D benchmark problems to demonstrate improved accuracy and expected convergence with IBCM. Two applications that involve complex geometries are also studied to show the potential of IBCM, including a spanner model and a fiber-reinforced composite model. Moreover, we demonstrate the effectiveness of IBCM in an application that exhibits boundary-layer phenomena.
Similar content being viewed by others
1 Introduction
Isogeometric analysis (IGA) was proposed to tightly integrate computer-aided design (CAD) with downstream engineering simulation [2, 3], which is enabled by employing the same basis of CAD in simulation. While significant advances have been made in almost every aspect of IGA, dealing with boundary representation (B-rep) remains one of the biggest challenges in the field. In many current commercial CAD systems, solid modeling is built upon B-reps, where a solid model is represented by its boundary only. However, B-reps are not immediately ready to be used in IGA. A key issue is the lack of a true volumetric description. They need to be processed through either volume parameterization (from the geometry point of view) or the immersed method (from the analysis point of view). Volume parameterization conformal to a given B-rep is appealing but remains an open problem at large [4, 5]. Alternatively, the immersed boundary method, which embeds a given B-rep into a simple background mesh (e.g., a Cartesian grid), eliminates the need for conformal and quality volume parameterization and has gained wide popularity in IGA [6,7,8,9,10,11].
The term “immersed boundary method” indicates a large family of methods and is sometimes used interchangeably with other terms such as “non-boundary-fitted method”, “finite cell method”, “fictitious domain method” and “embedded domain method”. Despite their various origins, all of such methods share the same idea: embedding a B-rep into a simple background mesh. We use the term only to reflect this key idea. Interested readers may refer to [12] and references therein for a comprehensive review.
In the context of IGA, the immersed idea is also closely related to Boolean operations (i.e., intersection, difference, and union) and the related trimming operations, which allow the specification of arbitrary interfaces within the elements of a tensor product surface. Indeed, an immersed method needs to address the same challenging problems encountered in dealing with Boolean operations, such as numerical integration of cut elements [13,14,15,16,17], stabilization for small cut elements [18,19,20,21], and imposition of boundary/interface conditions [22, 23].
Motivated to accurately capture boundary/interface features while retaining geometric flexibility of immersed methods, we propose a novel method that combines the immersed idea with a conformal discretization. We call it the immersed boundary-conformal method (IBCM). The geometric construction of IBCM is conceptually simple. It starts with a B-rep of the domain of interest. The B-rep is first extruded to yield a boundary layer that is clearly conformal to the input B-rep, so we call it the conformal layer. Next, we embed the conformal layer into a sufficiently large background mesh such as a Cartesian grid. As a result, the background mesh is cut into two disconnected regions: an exterior region and an interior region. Depending on the problem of interest, one of the two regions is selected and coupled with the conformal layer to constitute (a part of) underlying computation domain. It is noted that we focus on 2D planar domains in this paper.
An IBCM construction involves Boolean operations such as difference and union. Properly dealing with them in analysis is the key to the success of IBCM, which includes numerical integration on cut elements and interfaces, and stabilized formulation regardless of how elements are cut. To address the integration issue, we present an improved decomposition method to minimize the number of resulting quadrature cells. On the other hand, we adopt our previous work, the minimal stabilization method [1, 21], to guarantee stability for its simplicity and effectiveness.
Two kinds of applications are studied with IBCM: (1) accuracy enhancement via adding conformal layers to geometric features (e.g., holes, reentrant corners, etc), and (2) stress analysis on domains composed of multiple materials (e.g., inclusions). It is straightforward for IBCM to control the mesh resolution near boundaries/interfaces due to the conformal layers. As singularities and/or large gradients often happen close to the boundary, it is often vital to have a sufficiently fine mesh near the boundary to obtain accurate solutions. The conformal layer also provides the possibility to strongly impose Dirichlet boundary conditions, which, in contrast, is not possible in immersed methods. In the case of modeling composite materials, material interfaces can be represented with conformal meshes in IBCM, and thus kinematic constraints are automatically satisfied on the interfaces by construction. While strong imposition of boundary/interface conditions is enabled by the conformal layer, coupling it with the background mesh is done weakly with the control over where to put the coupling interface. In addition to all these analysis benefits, we will further show that IBCM indeed can easily model complex geometries via the immersed idea.
It is worth mentioning that there exist several methods that IBCM shares the essential idea with. First, a popular group of methods in computational fluid dynamics, called overset grid methods [24,25,26,27,28,29], also employ boundary-fitted meshes near geometric features while keeping discretization simple elsewhere. However, the two methods differ in the key building blocks such as geometric representations and treatment of coupling interfaces. Overset grid methods are typically developed on linear elements, and different meshes are coupled via, for instances, hybrid meshes [25], and interpolation schemes [24, 27] that solve the problem iteratively to reach a convergent solution. Second, in [30], disk-shaped patches (represented by degenerated NURBS) are added on top of a large domain (represented by a Cartesian grid) to model holes or inclusions. Different domains are coupled in a non-intrusive way that requires tens or even hundreds of iterations to obtain a converged solution for the linear elasticity problem. Moreover, the method primarily aims to capture local features inside a rectangle-shaped domain and thus does not support complex exterior geometries. Third, a multi-mesh finite element method was proposed in [31] to optimize the shapes of disk- or ring-like objects that are embedded in a large background domain. Compared to the multi-mesh approach [31,32,33], the main differences of our proposed method lie in four aspects: (1) smooth discretization with IGA, (2) emphasis on parameterizations of conformal layers, (3) a minimal stabilization approach, and (4) use of conformal layers to improve accuracy and provide flexible control near the boundary/interface.
The paper is organized as follows. We first introduce several basic concepts and notations in Sect. 2.1. Section 2 introduces how to deal with Boolean operations in IGA, which lays the foundation to our proposed method. Section 3 presents the proposed immersed boundary-conformal method. In Sect. 4, we present several numerical examples to demonstrate the proposed method in terms of improved accuracy, ease of imposing Dirichlet boundary conditions, and flexibility in modeling complex geometries. Section 5 concludes the paper and suggests future work.
2 Analysis-aware treatment of Boolean operations
In this section, we introduce how to handle difference and union operations in IGA. Their analysis-aware treatment lays the foundation to our proposed method. As the difference operation is built upon trimming, we discuss trimming in the following without loss of generality. Our description is based on 2D planar domains unless stated otherwise.
2.1 B-spline/NURBS surfaces
We first introduce several basic notations of B-spline/NURBS surfaces to facilitate our discussion. Given a control mesh \(\{\varvec{P}_{ij}\}_{i=1,j=1}^{n,m}\) (\(\varvec{P}_{ij}\in {\mathbb {R}}^2\)), degrees p and q, and knot vectors \(\{\xi _i\}_{i=1}^{n+p+1}\) and \(\{\eta _j\}_{j=1}^{m+q+1}\), a bivariate B-spline basis function is defined as
where \(\varvec{i}=(i,j)\), \(\varvec{p}=(p,q)\), \(\varvec{\xi } = (\xi ,\eta )\), and \(N_{i,p}(\xi )\) and \(M_{j,q}(\eta )\) are univariate B-spline basis functions defined on \(\{\xi _i\}_{i=1}^{n+p+1}\) and \(\{\eta _j\}_{j=1}^{m+q+1}\), respectively. The geometric mapping of a B-spline surface, \(\varvec{F}:\,{\hat{\varOmega }}\rightarrow \varOmega \), is defined as
where \({\hat{\varOmega }}:=(\xi _1,\xi _{n+p+1})\times (\eta _1,\eta _{m+q+1})\) and \(\varOmega \) are called the parametric domain and the physical domain, respectively. We also call a surface a patch, especially when multiple surfaces are involved. \({\hat{\varOmega }}\) is partitioned by the knot vectors, leading to a parametric mesh \(\hat{{\mathcal {M}}}\),
The corresponding physical mesh \({\mathcal {M}}\) is obtained as the images of elements in \(\hat{{\mathcal {M}}}\) through the geometric mapping,
The element boundaries in \(\hat{{\mathcal {M}}}\) are represented by knot lines, i.e., \(\{\xi _i\}\times [\eta _1,\eta _{m+q+1}]\) and \(\{\eta _j\}\times [\xi _1,\xi _{n+p+1}]\). Their images are called knot-line curves and they are the element boundaries in \({\mathcal {M}}\).
NURBS are a generalization of B-splines and they are able to exactly represent conic sections such as circles and ellipses. A weight \(w_{\varvec{i}} \in {\mathbb {R}}\) is associated to each control point in addition to its coordinates. The NURBS basis function corresponding to the B-spline \(B_{\varvec{i},\varvec{p}}(\varvec{\xi })\) is defined as
Note that NURBS and B-spline basis functions are equivalent when \(w_{\varvec{i}} =1\) \(\forall \varvec{i}\in {\mathcal {I}}\), i.e., \(R_{\varvec{i},\varvec{p}} = B_{\varvec{i},\varvec{p}}(\varvec{\xi })\). A NURBS surface representation is obtained by replacing \(B_{\varvec{i},\varvec{p}}(\varvec{\xi })\) with \(R_{\varvec{i},\varvec{p}}(\varvec{\xi })\) in Eq. 2. To simplify notations, we use \(B_{\varvec{i},\varvec{p}}(\varvec{\xi })\) to generically denote a B-spline or NURBS basis function in the rest of the paper.
The spline space on the physical domain \(\varOmega \) is defined as
Let \(\varOmega _a \subset \varOmega \) be a subdomain. We further define the restriction of \({\mathcal {B}}\) to \(\varOmega _a\) as
where \(\mathrm {supp}B_{\varvec{i},\varvec{p}}:=(\xi _i,\xi _{i+p+1})\times (\eta _j,\eta _{j+q+1})\) is the support of \(B_{\varvec{i},\varvec{p}}(\varvec{\xi })\). \({\mathcal {B}}|_{\varOmega _a}\) will be used in trimmed geometries.
2.2 Trimming
From the geometric point of view, trimming provides a powerful and flexible tool to represent complex shapes that do not have a tensor-product structure. However, it is merely a visualization means to make part of a geometry invisible to users without changing anything else. More specifically, we consider a NURBS surface \(\varvec{F}:\ {\hat{\varOmega }} \rightarrow \varOmega \). Applying trimming is equivalent to restricting \(\varvec{F}\) to a visible or active subdomain \({\hat{\varOmega }}_a\subset {{\hat{\varOmega }}}\). Correspondingly, the complementary portion \(\varvec{F}({\hat{\varOmega }}\backslash {\hat{\varOmega }}_a)\) is invisible or trimmed away. We note that the only change in a trimming operation is the change in the definition domain: from \({\hat{\varOmega }}\) to \({\hat{\varOmega }}_a\). The trimming operation is illustrated in Fig. 1. We can observe its resemblance to the immersed idea, where neither of their background meshes aligns with the domain boundary.
The active subdomain \({\hat{\varOmega }}_a\) is identified by a set of closed loops \(\{{\hat{\varGamma }}_i\}\). Each trimming loop \({\hat{\varGamma }}_i\) is generally a collection of connected B-spline curves. Trimming loops are oriented such that all points in \({\hat{\varOmega }}_a\) locate on the left side (in convention) of any \({\hat{\varGamma }}_i\). In practice, trimming curves are often given in the physical domain and may not even lie on the surface \({\mathbf {F}}({{\hat{\varOmega }}})\). To obtain the parametric counterpart \({\hat{\varGamma }}_i\), points are sampled along \(\varGamma _i\) and then pulled back to \({\hat{\varOmega }}\) through the inversion algorithm [34]. \({\hat{\varGamma }}_i\) is constructed based on these sampled points.
From the analysis point of view, numerical integration is performed on the active subdomain \({\hat{\varOmega }}_a\) rather than the entire domain \({\hat{\varOmega }}\). \({\hat{\varOmega }}_a\) consists of non-trimmed elements and trimmed elements. Given an element \(K\in \hat{{\mathcal {M}}}\), K is cut if \(0<|K\cap {\hat{\varOmega }}_a|<|K|\), where \(|\cdot |\) denotes area. Its active portion, \(K\cap {\hat{\varOmega }}_a\), is referred to as a trimmed element. Clearly, non-trimmed elements are those with \(|K\cap {\hat{\varOmega }}_a|=|K|\), whereas elements with no active area (i.e., \(|K\cap {\hat{\varOmega }}_a|=0\)) are inactive in the sense that they are not used in geometric representation or in analysis.
While it is straightforward to integrate non-trimmed elements, the challenge lies in the integration for a trimmed element because it is topologically a polygon with certain edges corresponding to part of a (high-order) trimming curve, where no quadrature rules are immediately available. One solution is to reparameterize trimmed elements such that the standard Gauss quadrature rule can be applied. Reparameterization of a trimmed element is a local operation that has no influence on other elements. It consists of an approximation step and a decomposition step. The former approximates each involved trimming curve with a Bézier curve, whereas the latter decomposes trimmed element into quadrilateral/triangular cells. We explain related details in the following. Interested readers may refer to [35] for a comprehensive review on the treatment of trimming in IGA.
Approximation step An element \(K\in \hat{{\mathcal {M}}}\) may be cut by multiple trimming loops. For each involved trimming loop \({\hat{\varGamma }}_i\), we focus on the portion restricted to K, i.e., \({\hat{\varGamma }}_i \cap K\). In general, \({\hat{\varGamma }}_i \cap K\) may be composed of several B-spline curves that are piecewise polynomials, but Gauss quadrature can only be applied to polynomials.
Therefore, we approximate \({\hat{\varGamma }}_i \cap K\) with a Bézier curve that has a polynomial representation. The degree of the target Bézier curve is chosen to be that of spline discretization even if the trimming curve has a higher degree. It has been proven that this choice guarantees optimal error estimates [16]. The remaining procedure of least-squares fitting the Bézier curve to the sampled points of \({\hat{\varGamma }}_i \cap K\) is straightforward.
Note that the above discussion is based on the assumption that the trimming curve \({\hat{\varGamma }}_i \cap K\) is sufficiently smooth. However, generally it involves points of reduced continuity or even \(C^0\) points. In practice, we observe that to retain integration accuracy, it suffices to only respect those \(C^0\) points, for which we split \({\hat{\varGamma }}_i \cap K\) at each of them and fit a Bézier curve separately to each resulting piece.
Decomposition step We develop a divide-and-conquer approach to decompose trimmed elements into reparameterization cells. The method applies to 2D only. We first investigate how an element (in the parametric domain) is cut by one or two trimming curves. The key is to find a pair of curves and create one or multiple ruled surfaces between them. In each pair of curves, one has to be the trimming curve, whereas the other can be a straight segment (A, H), a series of concatenated segments (E, F), a point (K), or another trimming curve (B, C, D); see Fig. 2. As a result, 8 base cases are identified. Ruled surfaces are then created between a pair of such curves. Note that cases G and H present a single red curve and lead to degenerated quadrilateral reparameterization cells: For the case G, the ruled surface is created using the red curve and the opposite red vertex; whereas in the case H, the cell is created by splitting the red curve at its two vertices, and generating a ruled surface between them. As already mentioned above, the curved segments of the trimming loop may present \(C^0\) features. Using this strategy, these features will be explicitly represented in the generated reparameterization. On the other hand, applying the same idea to finding base cases in 3D becomes intractable due to the proliferation of possible cases. One viable solution is to explore the unique base cases of marching cubes [36] and design a corresponding decomposition for each of them. Alternatively, each cut element may be divided into a set of tetrahedra, which, however, leads to a proliferation of integration cells [37, 38].
If the algorithm above fails (the generated ruled surface presents a change in its Jacobian’s sign), or the trimmed element does not fall into one of the base categories A-H, a divide-and-conquer strategy is applied: The trimming loop is split with a line parallel to one of the two coordinate axes, and the algorithm is applied again for the resulting pieces. This is also the case in which the element presents nested trimming loops. Such a recursive method works up to a certain geometric tolerance, beyond which the splitting algorithm terminates and unresolved trimming features will be ignored. Adoption of geometric tolerances is a common practice in CAD when implementing trimming-related operations.
For selecting the splitting line we consider the bounding boxes of all the curved segments on the trimming loop, cherry pick the one with the smallest volume, and consider a line that passes through that bounding box’s mid point and is perpendicular to its longest coordinate direction. Nevertheless, whenever possible, the splitting line is defined such that different curved segments are not intersected by the line and they are separated into different reparameterization cells (see, e.g., cases B, I, and J in Fig. 2). This is not always possible; see for instance cases C, D, K, and L.
2.3 Union
Following [1, 33], we adopt a hierarchy of overlapping patches to perform the union operation. We consider a two-patch union for simplicity, which is actually sufficient to help explain our proposed method in Sect. 3. Interested readers may refer to [1] for more general constructions. Given a pair of domains, we put one on top of another. The top and bottom domains have the geometric mappings \(\varvec{F}_t:\ {\hat{\varOmega }}^t \rightarrow \varOmega ^t\) and \(\varvec{F}_b:\ {\hat{\varOmega }}^b \rightarrow \varOmega ^b\), respectively. Their union is created by first trimming \(\varOmega ^b\) with \(\varOmega ^t\), leading to a trimmed (bottom) domain \(\varOmega _a^b = \varOmega ^b\backslash \varOmega ^t\). Next, \(\varOmega _a^b\) is combined with \(\varOmega ^t\) to constitute the computational domain \(\varOmega =\varOmega _a^b \cup \varOmega ^t\); see Fig. 3. In such an overlapping construction, the bottom patch is always trimmed whereas the top patch is intact. Note that we can choose either of the two patches to be on the top. It has been shown that different arrangements do not influence solution accuracy or matrix conditioning in linear elliptic problems [1].
With trimming handled according to Sect. 2.2, analysis-aware treatment of the union operation centers on weakly coupling patches through their interfaces, where we choose Nitsche’s method for its consistent and symmetric formulation [39]. We then need to address the following challenging issues: (1) generation of interface quadrature meshes to accurately compute involved interface integrals, and (2) stabilization of flux terms in the interface integral to guarantee the well-posedness of the problem regardless of how elements in the bottom patch are cut.
The key to generating an interface quadrature mesh is to find a mesh intersection on the interface. This ensures that on each quadrature cell, all the involved basis functions from both top and bottom patches are polynomials rather than piecewise polynomials. In 2D, this is to find curve–curve intersections between the interface and the knot-line curves of both patches. Note that in the overlapping construction of union, the interface \(\varGamma \) (in the physical domain) is part of the trimming loop in the bottom patch \(\varOmega ^b\). Moreover, \(\varGamma \) itself is part of the top patch boundary, i.e., \(\varGamma = \partial \varOmega ^t \cap \varOmega ^b \subset \partial \varOmega ^t\). In other words, \(\varGamma \) already has the mesh information of \(\varOmega ^t\); see, for example, the blue dots in Fig. 3. It is left to find its intersections with the knot-line curves of \(\varOmega ^b\). We proceed in the parametric domain of the bottom patch \({\hat{\varOmega }}^b\). An approximate preimage of \(\varGamma \) is first found in \({\hat{\varOmega }}^b\) through the inversion algorithm and spline fitting, i.e., \({\hat{\varGamma }}^b=\tilde{\varvec{F}}_b^{-1} \circ \varGamma \), where \(\tilde{\varvec{F}}_b^{-1}\) indicates an approximate inversion map. Next, we can easily find the intersections of \({\hat{\varGamma }}^b\) with the axis-aligned knot lines in \({\hat{\varOmega }}^b\); see the orange dots in \({\hat{\varOmega }}^b\) in Fig. 3. For each resulting intersection point \(\varvec{\xi }\), we find its image \(\varvec{F}_b(\varvec{\xi })\) in the physical domain and further bring it onto \(\partial {\hat{\varOmega }}^t\), leading to a desired intersection \(\tilde{\varvec{F}}_t^{-1}\circ \varvec{F}_b(\varvec{\xi })\). Once all the intersections are found, a 1D mesh can be readily constructed as the interface quadrature mesh, for example, based on the blue and orange dots in \({\hat{\varOmega }}^t\) in Fig. 3.
2.4 Stabilized formulations
We choose Nitsche’s method [39] to couple independent domains for its consistent and symmetric formulation. However, the flux terms (those involving normal derivatives) in Nitsche’s formulation may give rise to an instability issue when elements adjacent to an interface are badly cut, that is, only an extremely small portion of an element is left after trimming [21, 40]. The lack of stability indicates the potential violation of the coercivity condition in the bilinear form, leading to that the well-posedness of the problem is not guaranteed. Therefore, a proper stabilization method is needed and it often poses as one of the most challenging problems in employing Boolean operations in IGA.
In this regard, we adopt the minimal stabilization method that was developed in our previous work on the overlapping construction of union [1]. It was originally introduced to address the stability issue in Nitsche’s formulation on trimmed boundaries [21]. It has shown optimal convergence behaviors as well as trimming-independent conditioning in various tests. As stabilization methods are problem-dependent, let us take two linear elliptic problems, Poisson’s problem and linear elasticity, as the model problems to explain the formulation details.
Poisson’s problem In the two-domain setting, the strong form of the Poisson’s problem is stated as follows. Given \(f:\,\varOmega \rightarrow {\mathbb {R}}\), \(g_D:\,\varGamma _D\rightarrow {\mathbb {R}}\), and \(g_N:\,\varGamma _N\rightarrow {\mathbb {R}}\), find \(u:\,\varOmega \rightarrow {\mathbb {R}}\) such that
where \(u^t=u|_{\varOmega ^t}\), \(u^b=u|_{\varOmega _a^b}\) are restrictions of u to respective domains; \(\varvec{n}^t\), \(\varvec{n}^b\), and \(\varvec{n}\) are outwards unit normals of \(\partial \varOmega ^t\), \(\partial \varOmega _a^b\) and \(\partial \varOmega \) respectively; and \(\varGamma _D\) and \(\varGamma _N\) (\(\varGamma _D\cap \varGamma _N=\emptyset \), \(\overline{\varGamma _D\cup \varGamma _N}=\partial \varOmega \)) are Dirichlet and Neumann boundaries, respectively. The second and third equations are transmission conditions across the interface \(\varGamma \). We have also assumed that the Dirichlet boundary \(\varGamma _D\) is not trimmed to simplify formulations. One may refer to [21] for the case of trimmed \(\varGamma _D\).
Before presenting the weak formulation of Problem (8), we first introduce the following generic approximation space,
where \(\alpha :\,\varGamma _D\rightarrow {\mathbb {R}}\) is a generic scalar function with suitable regularity, \({\mathcal {B}}^t\) and \({\mathcal {B}}^b\) are B-spline (or NURBS) spaces on \(\varOmega ^t\) and \(\varOmega ^b\), respectively, and \({\mathcal {B}}^b|_{\varOmega _a^b}\) is the restriction of \({\mathcal {B}}^b\) to the active subdomain \(\varOmega _a^b\). We have the approximation spaces of trial functions \({\mathcal {V}}_h^{g_D}\) and test functions \({\mathcal {V}}_h^{0}\) when \(\alpha =g_D\) and \(\alpha =0\), respectively.
The discrete weak form of Problem (8) is stated as follows: Find \(u_h \in {\mathcal {V}}_h^{g_D}\) such that
where
and
The transmission conditions are weakly enforced by Nitsche’s method. In Eq. (11), \([u_h]:=u_h^t|_{\varGamma }-u_h^b|_{\varGamma }\) is the jump term across the interface \(\varGamma \), whereas \(\langle \nabla u_h \cdot {\varvec{n}^t} \rangle \) represents the flux through \(\varGamma \) and will be discussed in detail soon. Assuming quasi-uniform meshes in \(\varOmega ^t\) and \(\varOmega ^b\), \(h_t\) and \(h_b\) represent the maximum element sizes of corresponding meshes. \(\beta \) is a penalty parameter. We take \(\beta =6p_{\max }^2\) following [33], where \(p_{\max }\) is the maximum degree in the neighboring patches of \(\varGamma \).
We discuss two types of fluxes here, the symmetric average flux,
and the one-sided flux from \(\varOmega ^t\),
It has been shown that it is the flux from a certain trimmed patch that causes the instability issue [1, 21]. Therefore, if the symmetric average flux is adopted in Eq. (11), \(\nabla u_h^b\cdot \varvec{n}^t\) is a flux from the trimmed patch \(\varOmega _a^b\), and thus stabilization is needed for \(\nabla u_h^b\cdot \varvec{n}^t\). In contrast, no further treatment is needed to ensure stability if the one-sided flux from the non-trimmed \(\varOmega ^t\) is used.Footnote 1 It has been shown that the two types of fluxes yield very similar results in terms of solution accuracy and matrix conditioning for linear elliptic problems [1]. Therefore, we choose the one-sided flux in this work to obtain a formulation without further treatment regarding stabilization.
Remark 1
The stabilization through Eq. (14) leverages the adjacency of trimmed and untrimmed meshes. Essentially, Eq. (14) can be viewed as imposing the third equation in Eq. (8) as a Neumann boundary condition on the trimmed domain. Since trimming at Neumann boundaries does not lead to instability, the entire need for additional stabilization vanishes.
Linear elasticity The second model problem is linear elasticity under assumption of homogeneous and isotropic material, small strains, and small displacements. The strong form is stated as follows. Given \(f_i:\,\varOmega \rightarrow {\mathbb {R}}\), \(g_{D_i}:\,\varGamma _{D_i}\rightarrow {\mathbb {R}}\), and \(g_{N_i}:\,\varGamma _{N_i}\rightarrow {\mathbb {R}}\), find the displacement \(u_i:\,\varOmega \rightarrow {\mathbb {R}}\) such that
where
In Eqs. (15,16), indices i, j, k, and l take on values \(1,\ldots ,d\), where \(d\in \{2,3\}\) is the number of the spatial dimensions. The displacement field \(\varvec{u}\) is vector-valued with \(u_i\) being the i-th component; the same notation applies to \(f_i\), \(g_i\), \(h_i\), and \(n_j\) (the j-th component of the normal \(\varvec{n}\)). \(\sigma _{ij}\) and \(\epsilon _{kl}\) are Cartesian components of the Cauchy stress tensor and the infinitesimal strain tensor, respectively. The comma in \(\sigma _{ij,j}\) and \(u_{i,j}\) denotes differentiation with respect to the spatial coordinate, e.g., \(u_{i,j} = \partial u_i / \partial x_j\). Moreover, the summation convention is applied to repeated indices, for instances, \(\sigma _{ij,j} = \sigma _{i1,1}+\sigma _{i2,2}\) and \(\sigma _{ij}n_j = \sigma _{i1}n_1+\sigma _{i2}n_2\) in 2D. The superscripts “t” and “b” again denote restrictions to the top and bottom patches, respectively. The Dirichlet and Neumann boundary conditions are applied independently in each direction and thus \(\varGamma _{D_i} \cap \varGamma _{N_i} = \emptyset \) and \(\overline{\varGamma _{D_i} \cup \varGamma _{N_i}} = \partial \varOmega \) for \(i=1,\ldots ,d\). \(\delta _{ij}\) is the Kronecker delta, i.e.,
In Eq. (16), constants \(\lambda \) and \(\mu \) are material parameters called Lamé parameters, which are often expressed in terms of the Young’s modulus E and and Poisson’s ratio \(\nu \),
In 2D, Eq. (18) falls into the plane strain assumption. Also note that different domains may be occupied by different materials, and thus the values of \(\lambda \) and \(\mu \) can vary from domain to domain.
The corresponding discrete weak formulation with Nitsche’s method to deal with the interface is stated as follows: Find \(\varvec{u}_h =(u_{1,h},u_{2,h}) \in {\mathcal {V}}_h^{g_{D_1}}\times {\mathcal {V}}_h^{g_{D_2}}\) (see Eq. (9)) such that
where
and
In Eq. (20), \([u_{i,h}]:=u_{i,h}^t - u_{i,h}^b\) and \(\langle \sigma _{ij}(\varvec{u}_h) {n_j^t} \rangle \) denote the displacement jump and the stress flux across \(\varGamma \), respectively. We again adopt the one-sided flux, i.e.,
which does not need further treatment for stabilization. The penalty parameter \(\beta \) depends on both spline degrees and material properties,
where \(\lambda _{\max }\) and \(\mu _{\max }\) are the maximum Lamé constants of neighboring patches. The choice is inspired by [33, 41].
3 Immersed boundary-conformal isogeometric method
In this section, we introduce the proposed method, namely the Immersed Boundary-Conformal Method (IBCM). We start with two types of geometric constructions using IBCM. We then proceed to discuss the key technologies that guarantee IBCM to work properly, including parameterization-consistent extrusion and analysis-aware treatment of Boolean operations in IBCM.
3.1 Geometric construction
The geometric construction of IBCM is conceptually simple and can be divided into two types depending on the features of interest: the boundary type and the interface type. The boundary type aims to capture boundary features, such as boundary shapes and local solution features near boundaries. The interface type, on the other hand, deals with interfaces between different materials such as inclusions and fiber-reinforced materials, where stresses exhibit discontinuity across material interfaces. The major steps in constructing an IBCM representation are the same in both types, including extrusion, trimming and union.
Boundary-type construction We first explain the boundary type. In the extrusion step, we start with the representation of a boundary \(\varGamma \), which is a closed loop formed by a set of oriented and connected B-spline/NURBS curves. We extrude the loop inwards to yield a ring-like layer \(\varOmega ^c\) that is obviously conformal to the given boundary, so we call it a conformal layer. \(\varOmega ^c\) is generally represented by multiple B-spline/NURBS patches. Details of constructing \(\varOmega ^c\) will be discussed in Sect. 3.2.
We explain the remaining steps with the reference to Fig. 4. In the trimming step, we embed \(\varOmega ^c\) into a sufficiently large background domain \(\varOmega ^b\) such that \(\varOmega ^c \subset \varOmega ^b\). \(\varOmega ^b\) is usually represented by a B-spline mesh defined on a Cartesian grid. As a result, \(\varOmega ^b\) is cut by \(\varOmega ^c\) into two disconnected regions: an exterior region \(\varOmega ^{\mathrm {ex}}\) and an interior region \(\varOmega ^{\mathrm {in}}\). In other words, we have \(\varOmega ^b \backslash \overline{\varOmega ^c}=\varOmega ^{\mathrm {ex}} \cup \varOmega ^{\mathrm {in}}\).
Finally in the union step, \(\varOmega ^{\mathrm {in}}\) is coupled with \(\varOmega ^c\) to constitute the computational domain \(\varOmega \), i.e., \(\varOmega =\varOmega ^{\mathrm {in}} \cup \varOmega ^c\). This way, we obtain the IBCM representation of \(\varOmega \).
Interface-type construction We next discuss the interface-type construction, which can be obtained by repeatedly applying the boundary-type construction. Let \(\varGamma \) denote an interface of two domains \(\varOmega ^1\) and \(\varOmega ^2\), each of which has its own material properties. We explain details in the following with the help of Fig. 5.
We first create an IBCM representation for \(\varOmega ^1\), which in fact follows the same procedure as the boundary-type construction; see Fig. 5b. The IBCM construction for \(\varOmega ^2\) is almost the same. Now, \(\varGamma \) is extruded towards the interior of \(\varOmega ^2\) to obtain a conformal layer \(\varOmega ^{2,c}\). Clearly, the extrusion direction is opposite to that for \(\varOmega ^1\). After the corresponding background mesh is cut, the exterior region is coupled with \(\varOmega ^{2,c}\); see Fig. 5c. Finally, the two IBCM representations are combined together on \(\varGamma \) in a conformal manner, leading to an entire IBCM representation of \(\varOmega ^1\cup \varOmega ^2\), as shown in Fig. 5d.
In general, when more than one boundary/interface feature appears in geometric modeling, we need to construct an IBCM representation for each of them. Combining all the resulting IBCM representations together is straightforward through conformal interfaces. We will present such an example in Sect. 4.
Remark 2
IBCM aims to leverage the geometric flexibility of immersed methods with the advantages of boundary-fitted methods. While the large portion of a geometry is represented following the immersed manner, its boundary (or interface), as the key geometric feature, has a boundary-fitted representation through the conformal layer. In other words, the conformal mesh is placed where it is needed most. On the other hand, meshing is still needed in IBCM to obtain a desired conformal layer through extrusion. Although it remains a challenge in general cases, extrusion is much easier to manage than finding a boundary-conformal parameterization for the entire domain. From this perspective, IBCM helps alleviate the meshing difficulties encountered in IGA while retaining geometry-aligned discretization around key geometric features.
Remark 3
Several benefits of conformal discretization are immediately available in IBCM thanks to the conformal layer. First, it is possible to strongly impose Dirichlet boundary conditions, which is preferable when point-wise satisfaction is desired (e.g., the clamped boundary in solid mechanics). In contrast, imposing Dirichlet boundary conditions often poses as one of the biggest challenges in immersed methods. Second, IBCM is also suitable to model material interfaces when perfect bonding is the case, as the kinematic constraints are naturally met due to the conformal representation of the interface.
Remark 4
In immersed boundary methods, the geometry boundary always serves as the trimming loop on the background mesh. In contrast, IBCM moves trimming curves away from the boundary/interface. As such geometric features are often critical to solution accuracy and trimming is the origin of various issues in analysis, we expect that by separating the two, IBCM can benefit solution accuracy. Moreover, as conformal layers align with geometric features, it is much more intuitive and convenient for IBCM to control mesh resolutions there than by using immersed methods.
3.2 Parameterization-consistent extrusion
We aim for a conformal layer \(\varOmega ^{c}\) that (1) represents the boundary or interface \(\varGamma \) exactly and (2) is consistent with the parameterization of \(\varGamma \). First, we define a target curve \(\tilde{\varGamma }\), which specifies the interface of \(\varOmega ^{c}\) to the interior region of the background domain \(\varOmega ^{\hbox {in}}\); see Fig. 4a.
From a geometric point of view, the most natural choice for \(\tilde{\varGamma }\) is an offset to \(\varGamma \). Offset curves are defined as the locus of points that are at a constant distance d along the normal vector from the so-called progenitor curve [42, 43], and there are several techniques in the literature to generate them; see e.g. [44, 45]. These schemes are well-suited to preserve geometric features such as kinks and cusps. In general, the resulting offset curves are more complex than the progenitor curve, and they may have additional cusps and may self-intersect locally or globally.
These self-intersections are linked to the distance d of the offset curve (see Fig. 6). In particular, local self-intersections occur in concave regions when the absolute value of d exceeds the minimum radius of curvature, and global self-intersections occur when the distance between two distinct points on the progenitor curve is smaller than 2d [43]. Wallner et al. [46] presented an approach to determine the maximal offset distance to avoid self-intersections.
To sum up, using offset curves for the construction of the conformal layer \(\varOmega ^{c}\) may imply that the parameterization from the target curve \(\tilde{\varGamma }\) does not match with the one from the interface \(\varGamma \), especially when d is large. In this case, \(\varOmega ^{c}\) may be constructed as a loft surface between \(\varGamma \) and \(\tilde{\varGamma }\), where a superset of the knot vectors of \(\varGamma \) and \(\tilde{\varGamma }\) define the resulting parameterization. A loft surface is created by fitting a series of given curves, with the control over the tangents of the surface. The related function is available in many CAD systems such as Rhinoceros [47].
This approach has some disadvantages: First, the final parameterization of \(\varOmega ^{c}\) is partly determined by the offset curve scheme, and second, \(C^0\)-continuities may be introduced when the offset curve has additional cusps or self-intersections that have been trimmed away.
Fortunately, we are very flexible in the definition of the target curve \(\tilde{\varGamma }\) in terms of the distance d and its shape, as will be shown in Sect. 4. Hence, we suggest the following procedure for the construction of \(\varOmega ^{c}\):
-
1.
Define \(\tilde{\varGamma }\) either by an offset curve or any other curve that does not intersect \(\varGamma \) and is at least as smooth as \(\varGamma \).
-
2.
Project the Greville points of \(\varGamma \) onto \(\tilde{\varGamma }\).
-
3.
Use the projected Greville points to construct an approximation of \(\tilde{\varGamma }\) that has the same knots and degree as \(\varGamma \).
Greville points are defined as follows. We consider a degree-p NURBS curve whose knot vector is \(\{\xi _1,\xi _2,\ldots ,\xi _{n+p+1}\}\), where n is the number of control points. The Greville abscissae are defined as an average of certain knots: \(g_i=(\xi _{i+1}+\cdots +\xi _{i+p})/p\), \(i=1,\ldots ,n\). Letting \(\varvec{C}(\xi )\) be the geometric mapping of the NURBS curve, we call \(\varvec{C}(g_i)\) its Greville points.
This Greville point projection allows a straightforward realization of the conformal layer \(\varOmega ^{c}\) as a parameterization-consistent extrusion of \(\varGamma \). Note that the knot vector of the boundary or interface \(\varGamma \) determines the continuity of the final approximation of \(\tilde{\varGamma }\), which may be less smooth than the target curve \(\tilde{\varGamma }\). In general, this does not lead to any complications in the construction. However, for sharp features of \(\varGamma \) such as cusps, it is beneficial to incorporate the present \(C^0\) continuity already in the target curve. To do so, an offset with a relatively small distance d can be employed to capture the corresponding portion of \(\tilde{\varGamma }\).
Remark 5
When the target curve \(\tilde{\varGamma }\) is given by an offset curve, we first check if it has additional cusps or regions with high curvature. If so, we replace them with rounded fillets to avoid that projected Greville points coincide.
Remark 6
The proposed construction of the conformal layer \(\varOmega ^{c}\) does not guarantee that the resulting parameterization is bijective. Thus, we check if the Jacobian determinant is greater than zero at the integration points. If this is not the case, \(\varOmega ^{c}\) may be reconstructed either by simply decreasing the offset distance d or using more advanced techniques such as elliptic grid generation [48], the introduction of internal guiding curves [49] or integer-grid maps [50]. It is pointed out that all examples in this paper do not need any correction of the conformal layer because the parameterizations obtained are bijective; see Sect. 4.
3.3 Boolean operations in IBCM
Recall that the geometric construction of IBCM involves trimming and union. Trimming applies to the background B-spline mesh, where we follow Sect. 2.2 to reparameterize cut elements for numerical integration. Note that the geometric mapping of the background patch is usually an identity map, which eliminates the need to find an approximate trimming loop in the parametric domain through the inversion algorithm.
In the union operation, part of the trimmed background mesh is coupled with the conformal layer using Nitsche’s method. From the overlapping perspective, the background patch lies on the bottom whereas the conformal layer is on top. We follow Sect. 2.3 to generate an interface quadrature mesh. Moreover, as discussed in Sect. 2.4, with the one-sided flux from the (non-trimmed) conformal layer, Nitsche’s formulation is stable and needs no further treatment. To this end, Boolean operations are properly handled in IBCM such that it can be readily applied to linear elliptic problems.
Remark 7
As weak coupling depends on the problem of interest, extending the method to other problems, such as shells, nonlinear elasticity, and Stokes or Navier-Stokes problems, requires further investigation particularly in the analysis side. A different coupling method may also be needed when it is too cumbersome to use Nitsche’s formulation. There are indeed many challenging problems for IBCM to accommodate a larger class of problems. Among them, our priority lies in extending the method to 3D, which needs robust implementation to support trimming, union and extrusion.
4 Numerical examples
In this section, we first study several 2D benchmark problems to evaluate the accuracy and convergence of the proposed method. They include problems concerning boundary features as well as modeling interfaces between different materials. The former includes examples of a plate with a hole, an L-shaped domain, and a flower geometry, whereas the latter studies a bimaterial disk. Moreover, we present two examples to show the capability of IBCM in representing complex geometric features, which includes a spanner model and a fiber-reinforced composite. In the end, we push a step forward to apply IBCM to an advection–diffusion problem, where we will observe that IBCM can help efficiently resolve the boundary-layer phenomenon in an intuitive manner. In all the tests, biquadratic spline bases are used. In addition, Dirichlet boundary conditions are always strongly imposed except for the advection–diffusion problem, but as splines are not interpolatory, non-homogeneous Dirichlet data needs to be projected to the involved spline spaces.
4.1 Plate with a hole
We start with the plate-with-a-hole test. It is a linear elasticity problem where an infinite plate with a circular hole is under constant in-plane tension. A finite portion with the hole being at the center is taken for the numerical test; see Fig. 7 for the problem settings.
Clearly, the hole is a boundary geometric feature of interest. We study two kinds of geometric constructions for comparison, trimming versus IBCM; see Fig. 8. In the trimming construction, the hole is represented by a NURBS curve, which is also the trimming loop of the background mesh. In this case, we only need to reparameterize cut elements for numerical integration. Alternatively in an IBCM construction, we observe that a conformal layer (marked in red), represented by a NURBS patch, is an annulus sitting on top of the background mesh. The geometric feature is represented by a conformal discretization in the computation domain. The conformal layer is then coupled with the cut background mesh through the union operation. Moreover, the trimming loop of the background mesh becomes the outer circle of the annulus, which, as opposed to the trimming construction, is no longer the geometric feature itself.
We also study the influence of the thickness t of the conformal layer. We consider \(t=0.2R\), \(t=0.6R\) and \(t=1.0R\), with R being the radius of the hole. In each case, the conformal layer (i.e., the annulus) is represented by a \(8\times 2\) mesh; see Fig. 9.
As a reference, we further take a conformal discretization for the whole geometry, which in this case is easy to obtain via a single biquadratic NURBS patch; see the input Bézier mesh in Fig. 10. The element size around the hole is comparable to that of IBCM with \(t=0.6R\).
We summarize the convergence plots in Fig. 11, with respect to both the element size indicator h and the square root of degrees of freedom \(\mathrm {DOF}^{1/2}\). We observe that compared to the trimming construction, all IBCM constructions yields much more accurate results. As expected, the case of \(t=0.2R\) has the smallest error because its conformal layer has the smallest element size around the hole. The other two cases (\(t=0.6R\) and \(t=1.0R\)), on the other hand, also achieve comparable accuracy and still improve a lot compared to the trimming construction. This implies that the solution may not be sensitive to the thickness of the conformal layer, which, however, needs further study to conclude. We also notice in Fig. 11b that the result of the full conformal discretization is very close to that of IBCM with \(t=0.6R\), which is expected because they have a comparable element size around the hole. In other words, IBCM can achieve the same level of accuracy as a full conformal discretization when critical geometric features are resolved similarly.
4.2 L-shaped domain
This example is aimed to show how IBCM improves solution accuracy when the solution has a local feature, such as a large gradient or even singularity. Such local phenomena are often closely related to geometric features. For example, the solution gradient may exhibit singularity at certain corners. The key idea is to add a layer of mesh to where local features of the solution are expected. This indeed needs “rough” a priori knowledge about the solution field.
As an example, we solve the Laplace equation on a L-shaped domain, where the solution at the reentrant corner exhibits a singularity in its first order derivative. As a result, the convergence rates are governed by the solution regularity rather than the degree of the basis, which are expected to be \(\frac{4}{3}\) and \(\frac{2}{3}\) for \(L^2\)- and \(H^1\)-norm errors, respectively. As a reference test shown in Fig. 12a, the domain is represented by a single B-spline patch that is globally \(C^0\)-continuous due to sharp corners. Alternatively, we put an extra layer of mesh (three quarters of a disk) on top of the B-spline patch; see Fig. 12b. The extra layer is represented by a degenerated NURBS patch. Note that such a construction is merely a union of overlapping patches rather than an IBCM construction, but the idea coincides with IBCM in the spirit of better capturing local geometry/solution features by adding extra layers. Therefore, we treat it as a special case of IBCM. We compare and summarize the convergence plots of the two geometric constructions in Fig. 13. We observe that both constructions eventually yield the same convergence rates but IBCM, as expected, greatly improves accuracy with the same DOF (or mesh size).
On the other hand, it is worth mentioning that adaptive mesh refinement is usually the method of choice to recover optimal convergence for problems with irregular solutions. In IGA, T-splines [51,52,53,54], hierarchical B-splines [55,56,57,58,59], and locally-refinable B-splines [60, 61] are typical examples in this family of methods.
4.3 Flower
Next, we solve Poisson’s equation on a flower-shaped domain to test how the shape of a conformal layer influences the numerical solution. The input is a B-spline curve \(\varGamma \) representing the flower boundary. We study two different constructions for the target curve \({\tilde{\varGamma }}\): (1) \({\tilde{\varGamma }}\) is constructed as an offset curve; and (2) \({\tilde{\varGamma }}\) is simply a circle; see Fig. 14. In Case 1, the offset curve has a similar shape to \(\varGamma \), but it generally has a different knot vector from \(\varGamma \). Therefore, a loft surface is constructed as the conformal layer \(\varOmega ^c\). As a result, its knot vector is a superset of those of both \(\varGamma \) and \({\tilde{\varGamma }}\), leading to a dense mesh in \(\varOmega ^c\). Moreover, \(C^0\) continuities may be introduced to \(\varOmega ^c\) due to the presence of cusps and removal of self-intersections in \({\tilde{\varGamma }}\).
On the other hand, due to the flexibility of Case 2, \({\tilde{\varGamma }}\) can maintain the same knot vector as \(\varGamma \) through Greville point projection. Thus, \(\varOmega ^c\) is constructed simply as ruled surface between \(\varGamma \) and \({\tilde{\varGamma }}\). This way, the mesh resolution of \(\varOmega ^c\) is controlled by the input boundary curve.
With the conformal layers, we construct their corresponding IBCM representations and perform a convergence study using the following manufactured solution,
where R is a constant related to the “radius” of the flower. The Dirichlet boundary condition is strongly imposed on the entire boundary. The solutions on the initial Bézier meshes are shown in Fig. 15, where we have refined the conformal layers to make them have a similar mesh resolution. Moreover, we summarize the convergence plots in Fig. 16. We observe that the results are almost identical in both geometric representations. In other words, numerical results are almost not influenced by the shape of the target curve, although further study is needed to come to a conclusion. Nonetheless, it indicates that we are not restricted to a specific choice for the target curve, which in turn provides further flexibility to the IBCM construction.
4.4 Bimaterial disk
This test is motivated by [62] and is aimed to test how IBCM resolves interface features when modeling multiple materials. We solve the linear elasticity problem on a disk composed of two different materials, the interior material \(\varOmega ^1\) and the exterior material \(\varOmega ^2\); see Fig. 17. Their corresponding material properties are given as \(E_1=1\), \(\nu _1=0.25\), and \(E_2=10\), \(\nu _2=0.3\), respectively. The Lamé constants (\(\lambda _1\), \(\mu _1\) and \(\lambda _2\), \(\mu _2\)) are obtained according to Eq. (18). The exact solutions are given in polar coordinates \((r,\theta )\). The displacement field is written as
where a and b are the radius of \(\varOmega ^1\) and the outer radius of \(\varOmega ^2\), respectively, and
We set \(a=0.4\) and \(b=2.0\) in the test. The radial (\(\epsilon _{rr}\)) and hoop (\(\epsilon _{\theta \theta }\)) strains are given by
and
The radial (\(\sigma _{rr}\)) and hoop (\(\sigma _{\theta \theta }\)) stresses are
where \((\lambda ,\mu )\in \{(\lambda _1,\mu _1),(\lambda _2,\mu _2)\}\). The shear stress is zero everywhere. All solutions are axisymmetric in the sense that they are independent of \(\theta \). We observe that in Eqs. (25, 27, 28), \(u_r\) and \(\epsilon _{\theta \theta }\) are continuous across the material interface, but \(\epsilon _{rr}\) experiences a discontinuity. Moreover, both stresses (\(\sigma _{rr}\) and \(\sigma _{\theta \theta }\)) are discontinuous due to different material parameters.
Two geometric constructions are studied: a union of two overlapping patches (as in [1]) and an IBCM construction; see Fig. 18. In the union construction, the grey annulus sits on top of the yellow background patch, which represent the material domains \(\varOmega ^2\) and \(\varOmega ^1\), respectively. On the other hand, the interior material \(\varOmega ^1\) in an IBCM representation is represented by two patches, the green conformal layer and the yellow background mesh. The mesh of \(\varOmega ^2\) remains the same. According to Eq. (25), the exact displacement, \(u_r(b)=b\), is applied on the outer boundary \(\varGamma _D\); see Fig. 17. We summarize the convergence plots in Fig. 19. Again, we observe the same expected convergence rates but improved accuracy per DOF in IBCM.
4.5 Spanner
We next present a spanner model to demonstrate how to use IBCM to represent complex geometries. We will also show that it is flexible for IBCM to deal with Dirichlet boundary conditions as well as to control the mesh resolution around areas of interest. As shown in Fig. 20a, the input B-rep of the spanner is composed of two loops, each represented by a set of NURBS curves. A detailed description of the geometry data is given in [63]. We first generate an offset curve for each loop, which, in this particular case, has a nearly identical parameterization as the input loop. The conformal layer is then immediately available as a loft surface; see Fig. 20b. The remaining procedure of IBCM follows the boundary-type construction.
We proceed to solve the linear elasticity problem on the IBCM representation, with material constants \(E=10^{5}\) and \(\nu =0.3\). As shown in Fig. 20c, we clamp part of the jaw (\(\varvec{u}=\varvec{0}\) on \(\varGamma _D\)), and we apply traction downwards on the lower half of the handle with a magnitude of 1.0. All the remaining part of the boundary is traction free, i.e., homogeneous Neumann boundary condition. This way, singularities (in stresses) are expected in the transition regions from the clamped displacement condition to the traction-free condition; see the red-spotted regions in Fig. 20c. We further “locally” refine the mesh to capture such features. The von Mises stress is shown in Fig. 21a. We observe that with the conformal layer, we can easily adapt the mesh resolution to the solution features. Moreover, when a conformal layer has a multi-patch representation, meshes in different patches do not need to be conformal across patch interfaces; see the zoomed picture in Fig. 21a. Non-conformal patch interfaces are coupled with Nitsche’s method and are treated as a special case of the general overlapping construction. This way, mesh refinement is localized to the patch level.
Moreover, we check the convergence of the maximum downwards displacement (the \(-y\) direction), or \(\min \,u_y\), with a series of globally refined meshes. The convergence plot is shown in Fig. 21b with respect to DOF, where we observe a convergent result. Here we study the convergence in displacements rather than stresses because in this example, stresses exhibit singularity due to the boundary conditions, which we do on purpose to show how IBCM can be used to flexibly capture such a solution feature.
4.6 Fiber-reinforced composite
Inspired by [64], we perform stress analysis on a fiber-reinforced composite. The test is mainly aimed to show the capability of IBCM to represent complex material interfaces with conformal discretizations. A typical cross section is studied under the plane strain assumption; see Fig. 22. The matrix material is modeled as a square that occupies the domain \([-5,5]\times [-5,5]\). Then multiple circular fibers of unit radii are randomly positioned in the matrix, provided that none of them overlaps with another. For each circular material interface, a pair of conformal annuli is obtained following the interface-type construction, where one has the material property of fibers and the other has the property of the matrix. Every fiber has an independent background mesh, whereas the background mesh of the matrix is cut by multiple annuli. Combining all the annuli and the active parts of background meshes yields the IBCM representation for the fiber-reinforced composite.
We solve the linear elasticity problem on the resulting geometric model. Uniform tension \(T_x=100\) is imposed on the right boundary of the matrix, whereas \(u_x=0\) and \(u_y=0\) are imposed on the left and bottom boundaries, respectively. Homogeneous Neumann boundary conditions are applied elsewhere. Material constants are given as follows: \(E_{\mathrm {fiber}} =100\), \(\nu _{\mathrm {fiber}}=0.33\), and \(E_{\mathrm {matrix}} =1\), \(\nu _{\mathrm {matrix}}=0.3\). As a result of discontinuous material data, stress discontinuities are expected across material interfaces.
Starting from the input mesh in Fig. 22, we obtain a series of globally refined meshes for a convergence study. The distribution of the stress \(\sigma _{xx}\) is shown in Fig. 23a, which is computed with the mesh after one refinement. As expected, large stresses occur in fibers as well as in the narrow bands between fibers. The convergence plot is shown in Fig. 23b. In each mesh, we compute the maximum \(\sigma _{xx}\) (the \(x-x\) stress) among all the sampled points, and we check the convergence of this quantity. A relative error is evaluated using an overkill solution, which is obtained with the mesh after five times of refinement. We observe that the error converges roughly at an expected rate of two.
4.7 Advection–diffusion problem
As the last example, we push a step forward to study IBCM beyond the elliptic problems. It is motivated by the singularly perturbed model problem [65], but here we will adopt a simplified boundary condition. The underlying partial differential equation (PDE) is an advection–diffusion equation, which is fundamentally different from those in the previous examples because of the advection term. It states as follows. Given \(f:\,\varOmega \rightarrow {\mathbb {R}}\) and \(g_D:\,\varGamma _D\rightarrow {\mathbb {R}}\), find \(u:\,\varOmega \rightarrow {\mathbb {R}}\) such that
where \(\epsilon \in {\mathbb {R}}\) and \(\varvec{a}\in {\mathbb {R}}^2\) are a diffusivity constant and a velocity constant, respectively, and the other notations (including those in the following) are the same as those in Eq. (8). Note that we only consider the Dirichlet boundary condition in this problem.
We follow [66] to obtain the corresponding weak formulation. \(\partial \varOmega \) is divided into the outflow boundary \(\partial \varOmega ^+ = \{\varvec{x}\in \partial \varOmega : \varvec{a}\cdot \varvec{n} \ge 0\}\) and the inflow boundary \(\partial \varOmega ^- = \{\varvec{x}\in \partial \varOmega : \varvec{a}\cdot \varvec{n} < 0\}\), where \(\varvec{n}\) is the outward normal of \(\partial \varOmega \). The discrete weak formulation states as follows: Find \(u_h \in {\mathcal {V}}_h^{g_D}\) such that
where
and
where
and
Eq. (35) represents an upwind scheme that takes certain quantity of interest from the upwind side. Note that the normal of the interface \(\varGamma \) is \(\varvec{n}^t\), i.e., the outward normal of the top domain \(\varOmega ^t\).
As shown in Fig. 24, the geometry of interest is a plate with a hole. The plate has the dimension \(L\times H\) where \(L=H=15\). The hole is centered at (L/5, H/2) with a radius of \(R=1\). The diffusivity is set to be \(\epsilon =0.1\) to make the problem advection-dominated, and a constant rightward velocity of \(\varvec{a}=(1,0)\) is adopted. According to Eq. (32), we weakly impose the Dirichlet boundary condition on all the boundaries. More specifically, we impose \(g_D=1\) on the hole and \(g_D=0\) on the other boundaries. The boundary-layer phenomenon is expected around the hole and the right boundary, where dense meshes are needed to resolve it. It is straightforward to “locally” refine the mesh near the right boundary by adding more knot lines. Therefore, we focus on the treatment of the hole, where we compare the performance of trimming and IBCM.
We first study the geometric representation obtained via trimming. The initial Bézier mesh is shown in Fig. 25a, where a dense mesh of width \(w=0.05L\) (see Fig. 24) is adopted near the right boundary. We solve the advection–diffusion problem on a series of globally refined meshes. The results are shown in Fig. 26. We observe that the high-quality solution is obtained only when the mesh size is sufficiently small with respect to the boundary layer; see Fig. 26f.
On other other hand, we can add a conformal layer around the hole to enhance the solution. The initial Bézier mesh is shown in Fig. 25b, where the thickness of the conformal layer is 1. As the conformal layer aligns with the hole, we can easily control the mesh resolution around the hole. Even though the background mesh is the same as that in Fig. 25a, the solution is significantly improved; see Fig. 27a. Moreover, with the background mesh globally refined just once and the conformal layer unchanged, the solution using IBCM is already comparable to the best result using trimming; see Figs. 27b and 26d. In other words, with IBCM, we can use much fewer DOF (\(<1/10\)) to resolve the boundary-layer phenomenon.
Moreover, we plot the solution field along a horizontal line \(y=H/2\); see Fig. 28. Note that the region [2, 4] represents the hole. Fig. 28 shows three results: trimming with Mesh 1 (Fig. 26b), trimming with Mesh 3 (Fig. 26d), and IBCM with Mesh 1 (Fig. 27b). We thus quantitatively confirm that IBCM with Mesh 1 achieves a very similar result to trimming with Mesh 3, whereas trimming with Mesh 1 exhibits oscillation near the hole as the mesh resolution is not fine enough.
5 Conclusions and future work
In this paper, we have presented an immersed boundary-conformal method (IBCM) to leverage advantages of both conformal discretization and immersed methods. This is enabled by analysis-aware treatment of trimming and union operations as well as sophisticated construction of conformal layers. To efficiently and robustly deal with cut elements, we present an enhanced decomposition method to reduce the number of quadrature cells needed for a cut element. The union operation weakly couples independent domains through Nitsche’s method. With the one-sided flux from the non-trimmed conformal layer, no further treatment is needed regarding stabilization.
On the other hand, the key to constructing a conformal layer lies largely in creating a target curve for an input boundary curve. The target curve can be constructed either as an offset curve or as a curve that has a very different shape from the input. Offset curves seem to be a natural choice, but very often they end up with cusps and self-intersections, and moreover, the parameterization is generally different from the input. Therefore, it requires further repairing and lofting to be able to construct a desired conformal layer. Fortunately, it is flexible for IBCM to choose the shape of the target curve, and there is numerical evidence that the shape does not play a significant role in the solution accuracy. With this flexibility, a target curve that has the same parameterization as the input can be constructed, and thus the conformal layer is readily available.
Two types of geometric constructions with IBCM are presented: a boundary type and an interface type. Both types can be used to represent complex geometric and/or solution features. In a boundary-type IBCM representation, as it features a conformal discretization near the boundary, many benefits are carried over from boundary-fitted methods, such as the intuitive control of mesh resolution and the ability to strongly impose Dirichlet boundary conditions. In an interface-type representation, kinematic constraints on the interface are automatically satisfied. Various benchmark problems are present to show the improved accuracy of IBCM compared to other means of geometric representations, such as solely trimming or union. There also exists evidence that the results are not sensitive to the thickness and shape of a conformal layer, but further study is needed to conclude. Moreover, two examples with complex geometric features are presented to show the flexibility of IBCM in representing complex geometries, strongly imposing Dirichlet boundary conditions, as well as easy adaptation of mesh resolution to solution features. In the end, we push a step forward to study an advection–diffusion problem with IBCM, where we have shown that IBCM can efficiently resolve the boundary-layer phenomenon near general geometric features in an intuitive manner.
In the future, on top of all potential directions is the extension to 3D. This is indeed challenging as it requires a robust analysis-aware treatment for trimming and union. Constructing conformal layers for surfaces also becomes much more involving. On the other hand, extending IBCM to other problems is also promising, such as the Stokes problem, nonlinear problems, and shell/plate problems, where coming up with stabilized formulations poses as the most challenging problem.
Notes
This is true only in the two-patch union where \(\varOmega ^t\) is already at the top of the overlapping hierarchy. In the multi-patch union, \(\varOmega ^t\) may be cut by certain patches that are on top of \(\varOmega ^t\), and thus \(\nabla u_h^t\cdot \varvec{n}^t\) may also need to be stabilized according to, for instance, the minimal stabilization [1].
References
Antolin P, Buffa A, Puppi R, Wei X (2021) Overlapping multi-patch isogeometric method with minimal stabilization. SIAM J Sci Comput 43(1):A330–A354
Hughes TJR, Cottrell JA, Bazilevs Y (2005) Isogeometric analysis: CAD, finite elements, NURBS, exact geometry and mesh refinement. Comput Methods Appl Mech Eng 194(39):4135–4195
Cottrell JA, Hughes TJR, Bazilevs Y (2009) Isogeometric analysis: toward integration of CAD and FEA. Wiley, Hoboken
Martin T, Cohen E, Kirby RM (2009) Volumetric parameterization and trivariate B-spline fitting using harmonic functions. Comput Aided Geom Des 26(6):648–664
Zhang Y, Wang W, Hughes TJR (2013) Conformal solid T-spline construction from boundary T-spline representations. Comput Mech 51(6):1051–1059
Rank E, Ruess M, Kollmannsberger S, Schillinger D, Düster A (2012) Geometric modeling, isogeometric analysis and the finite cell method. Comput Methods Appl Mech Eng 249–252:104–115
Rüberg T, Cirak F (2012) Subdivision-stabilised immersed B-spline finite elements for moving boundary flows. Comput Methods Appl Mech Eng 209–212:266–283
Schillinger D, Dedè L, Scott MA, Evans JA, Borden MJ, Rank E, Hughes TJR (2012) An isogeometric design-through-analysis methodology based on adaptive hierarchical refinement of NURBS, immersed boundary methods, and T-spline CAD surfaces. Comput Methods Appl Mech Eng 249–252:116–150
Kamensky D, Hsu M-C, Schillinger D, Evans JA, Aggarwal A, Bazilevs Y, Sacks MS, Hughes TJR (2015) An immersogeometric variational framework for fluid-structure interaction: application to bioprosthetic heart valves. Comput Methods Appl Mech Eng 284:1005–1053
Hoang T, Verhoosel CV, Qin C-Z, Auricchio F, Reali A, van Brummelen EH (2019) Skeleton-stabilized immersogeometric analysis for incompressible viscous flow problems. Comput Methods Appl Mech Eng 344:421–450
Casquero H, Bona-Casas C, Toshniwal D, Hughes TJR, Gomez H, Zhang YJ (2020) The divergence-conforming immersed boundary method: application to vesicle and capsule dynamics. arXiv:2001.08244
Li Z, Ito K (2006) The immersed interface method: numerical solutions of PDEs involving interfaces and irregular domains. SIAM, Philadelphia
Kim H, Seo Y, Youn S (2009) Isogeometric analysis for trimmed cad surfaces. Comput Methods Appl Mech Eng 198(37):2982–2995
Nagy AP, Benson DJ (2015) On the numerical integration of trimmed isogeometric elements. Comput Methods Appl Mech Eng 284:165–185
Kudela L, Zander N, Bog T, Kollmannsberger S, Rank E (2015) Efficient and accurate numerical quadrature for immersed boundary methods. Adv Model Simul Eng Sci 2:1–22
Antolin P, Buffa A, Martinelli M (2019) Isogeometric analysis on V-reps: first results. Comput Methods Appl Mech Eng 355:976–1002
Massarwi F, Antolin P, Elber G (2019) Volumetric untrimming: precise decomposition of trimmed trivariates into tensor products. Comput Aided Geom Des 71:1–15
Marussig B, Zechner J, Beer G, Fries TP (2017) Stable isogeometric analysis of trimmed geometries. Comput Methods Appl Mech Eng 316:497–521
Marussig B, Hiemstra R, Hughes TJR (2018) Improved conditioning of isogeometric analysis matrices for trimmed geometries. Comput Methods Appl Mech Eng 334:79–110
Guo Y, Heller J, Hughes TJR, Ruess M, Schillinger D (2018) Variationally consistent isogeometric analysis of trimmed thin shells at finite deformations, based on the STEP exchange format. Comput Methods Appl Mech Eng 336:39–79
Buffa A, Puppi R, Vázquez R (2020) A minimal stabilization procedure for isogeometric methods on trimmed geometries. SIAM J Numer Anal 58(5):2711–2735
Bazilevs Y, Hughes TJR (2007) Weak imposition of Dirichlet boundary conditions in fluid mechanics. Comput Fluids 36(1):12–26
Embar A, Dolbow J, Harari I (2010) Imposing Dirichlet boundary conditions with Nitsche’s method and spline-based finite elements. Int J Numer Methods Eng 83(7):877–898
Benek JA, Steger JL, Dougherty FC (1983) A flexible grid embedding technique with application to the Euler equations. AIAA J 373–382
Liou M-S, Kao K-H (1994) Progress in grid generation: from Chimera to DRAGON grids. NASA Technical Memorandum 106709
Henshaw WD (1994) A fourth-order accurate method for the incompressible Navier–Stokes equations on overlapping grids. J Comput Phys 113(1):13–25
Tang HS, Jones SC, Sotiropoulos F (2003) An overset-grid method for 3D unsteady incompressible flows. J Comput Phys 191(2):567–600
Kannan R, Wang ZJ (2007) Overset adaptive Cartesian/prism grid method for stationary and moving-boundary flow problems. AIAA J 45(7):1774–1779
Duan Z, Wang ZJ (2020) High-order overset flux reconstruction method for dynamic moving grids. AIAA J 58(10):4534–4547
Bouclier R, Passieux J, Salaün M (2016) Local enrichment of NURBS patches using a non-intrusive coupling strategy: geometric details, local refinement, inclusion, fracture. Comput Methods Appl Mech Eng 300:1–26
Dokken JS, Funke SW, Johansson A, Schmidt S (2019) Shape optimization using the finite element method on multiple meshes with Nitsche coupling. SIAM J Sci Comput 41(3):A1923–A1948
Becker R, Burman E, Hansbo P (2011) A hierarchical NXFEM for fictitious domain simulations. Int J Numer Methods Eng 86(4–5):549–559
Johansson A, Kehlet B, Larson MG, Logg A (2019) Multimesh finite element methods: solving PDEs on multiple intersecting meshes. Comput Methods Appl Mech Eng 343:672–689
Piegl L, Tiller W (1997) The NURBS book, 2nd edn. Springer, Berlin
Marussig B, Hughes TJR (2018) A review of trimming in isogeometric analysis: challenges, data exchange and simulation aspects. Arch Comput Methods Eng 25:1059–1127
Lorensen WE, Cline HE (1987) Marching cubes: a high resolution 3D surface construction algorithm. ACM SIGGRAPH Comput Graph 21(4):163–169
Fries TP, Omerović S, Schöllhammer D, Steidl J (2017) Higher-order meshing of implicit geometries—part I: Integration and interpolation in cut elements. Comput Methods Appl Mech Eng 313:759–784
Fries TP, Schöllhammer D (2017) Higher-order meshing of implicit geometries, part II: approximations on manifolds. Comput Methods Appl Mech Eng 326:270–297
Nitsche J (1971) Über ein variationsprinzip zur lösung von dirichlet-problemen bei verwendung von teilräumen, die keinen randbedingungen unterworfen sind. Abh Math Semin Univ Hambg 36:9–15
de Prenter F, Verhoosel CV, van Zwieten GJ, van Brummelen EH (2017) Condition number analysis and preconditioning of the finite cell method. Comput Methods Appl Mech Eng 316:297–327
Hansbo P (2005) Nitsche’s method for interface problems in computational mechanics. GAMM-Mitteilungen 28:183–206
Hoschek J, Lasser D (1992) Grundlagen der geometrischen Datenverarbeitung. Vieweg+Teubner
Patrikalakis NM, Maekawa T (2009) Shape interrogation for computer aided design and manufacturing. Springer, Berlin
Maekawa T (1999) An overview of offset curves and surfaces. Comput Aided Des 31(3):165–173
Pham B (1992) Offset curves and surfaces: a brief survey. Comput Aided Des 24(4):223–229
Wallner J, Sakkalis T, Maekawa T, Pottmann H, Yu G (2001) Self-intersections of offset curves and surfaces. Int J Shape Model 07(01):1–21
Rhino - Rhinoceros 3D (2021). https://www.rhino3d.com
Hinz J, Müller M, Vuik C (2018) Elliptic grid generation techniques in the framework of isogeometric analysis applications. Comput Aided Geom Des 65:48–75
Randrianarivony M (2006) Geometric processing of CAD data and meshes as input of integral equation solvers. PhD thesis, Computer Science Faculty Technische Universität Chemnitz
Bommes D, Campen M, Ebke H-C, Alliez P, Kobbelt L (2013) Integer-grid maps for reliable quad meshing. ACM Trans Graph 32(4):98:1–98:12
Sederberg TW, Zheng J, Bakenov A, Nasri A (2003) T-splines and T-NURCCs. ACM Trans Graph 22(3):477–484
Beirão da Veiga L, Buffa A, Cho D, Sangalli G (2012) Analysis-suitable T-splines are dual-compatible. Comput Methods Appl Mech Eng 249–252:42–51
Zhang J, Li X (2018) Local refinement for analysis-suitable++ T-splines. Comput Methods Appl Mech Eng 342:32–45
Casquero H, Wei X, Toshniwal D, Li A, Hughes TJR, Kiendl J, Zhang YJ (2020) Seamless integration of design and Kirchhoff–Love shell analysis using analysis-suitable unstructured T-splines. Comput Methods Appl Mech Eng 360:112765
Vuong A-V, Giannelli C, Jüttler B, Simeon B (2011) A hierarchical approach to adaptive local refinement in isogeometric analysis. Comput Methods Appl Mech Eng 200(49):3554–3567
Giannelli C, Jüttler B, Speleers H (2012) THB-splines: the truncated basis for hierarchical splines. Comput Aided Geom Des 29(7):485–498
Wei X, Zhang Y, Hughes TJR, Scott MA (2015) Truncated hierarchical Catmull–Clark subdivision with local refinement. Comput Methods Appl Mech Eng 291:1–20
Buffa A, Giannelli C (2016) Adaptive isogeometric methods with hierarchical splines: error estimator and convergence. Math Models Methods Appl Sci 26(1):1–25
Bracco C, Buffa A, Giannelli C, Vázquez R (2019) Adaptive isogeometric methods with hierarchical splines: an overview. Discrete Contin Dyn Syst A 39(1):241–261
Johannessen KA, Kvamsdal T, Dokken T (2014) Isogeometric analysis using lr b-splines. Comput Methods Appl Mech Eng 269:471–514
Patrizi F, Manni C, Pelosi F, Speleers H (2020) Adaptive refinement with locally linearly independent lr b-splines: theory and applications. Comput Methods Appl Mech Eng 369:113230
Sukumar N, Chopp DL, Moës N, Belytschko T (2001) Modeling holes and inclusions by level sets in the extended finite-element method. Comput Methods Appl Mech Eng 190(46):6183–6200
Stanford JW, Fries TP (2019) A higher-order conformal decomposition finite element method for plane B-rep geometries. Comput Struct 214:15–27
Herráez M, González C, Lopes CS, Guzmán de Villoria R, LLorca J, Varela T, Sánchez J (2016) Computational micromechanics evaluation of the effect of fibre shape on the transverse strength of unidirectional composites: an approach to virtual materials design. Compos Part A Appl Sci Manuf 91:484–492
Hemker PW (1996) A singularly perturbed model problem for numerical computation. J Comput Appl Math 76(1):277–285
Buffa A, Hughes TJR, Sangalli G (2006) Analysis of a multiscale discontinuous Galerkin method for convection–diffusion problems. SIAM J Numer Anal 44(4):1420–1440
Acknowledgements
X. Wei is partially supported by the ERC AdG Project CHANGE No. 694515 and the SNSF (Swiss National Science Foundation) Project HOGAEMS No. 200021_188589. P. Antolin, and A. Buffa are partially supported by the ERC AdG Project CHANGE No. 694515 and the SNSF through the Project “Design-through-Analysis (of PDEs): the litmus test—No. 40B2-0 187094 (BRIDGE Discovery 2019).
Funding
Open Access funding provided by EPFL Lausanne.
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
Open Access This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article’s Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article’s Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit http://creativecommons.org/licenses/by/4.0/.
About this article
Cite this article
Wei, X., Marussig, B., Antolin, P. et al. Immersed boundary-conformal isogeometric method for linear elliptic problems. Comput Mech 68, 1385–1405 (2021). https://doi.org/10.1007/s00466-021-02074-6
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00466-021-02074-6