Volume 104, Issue 7 pp. 472-501
Advances in Embedded Interface Methods
Open Access

CutFEM: Discretizing geometry and partial differential equations

Erik Burman

Corresponding Author

Erik Burman

Department of Mathematics, University College London, London, UK-WC1E 6BT UK

Correspondence to: Erik Burman, Department of Mathematics, University College London, London, UK-WC1E 6BT, UK.

E-mail: [email protected]

Search for more papers by this author
Susanne Claus

Susanne Claus

Department of Mathematics, University College London, London, UK-WC1E 6BT UK

Search for more papers by this author
Peter Hansbo

Peter Hansbo

Department of Mechanical Engineering, Jönköping University, SE-55111 Jönköping, Sweden

Search for more papers by this author
Mats G. Larson

Mats G. Larson

Department of Mathematics and Mathematical Statistics, Umeå University, SE-901 87 Umeå Sweden

Search for more papers by this author
André Massing

André Massing

Center for Biomedical Computing, Simula Research Laboratory, PO Box 134, NO-1325 Lysaker, Norway

Search for more papers by this author
First published: 29 December 2014
Citations: 560

Summary

We discuss recent advances on robust unfitted finite element methods on cut meshes. These methods are designed to facilitate computations on complex geometries obtained, for example, from computer-aided design or image data from applied sciences. Both the treatment of boundaries and interfaces and the discretization of PDEs on surfaces are discussed and illustrated numerically. Copyright © 2014 John Wiley & Sons, Ltd.

1 Introduction

Research in numerical methods for solving problems in science and engineering has mainly focused on techniques for approximating models described by partial differential equations (PDEs), while the important coupling to the geometrical description of the domain has been largely overlooked. In recent years, the need for a unified approach has been recognized, and this area is today receiving rapidly increasing interest. This interest is motivated by the demand for efficient and robust techniques for solving problems involving complex and evolving geometries. The use of geometric descriptions in the computational method, that are closely linked to the geometric data acquisition, can dramatically reduce the computational cost of preprocessing, or transformation, of acquired geometry descriptions into representations suitable for the computational method at hand.

For instance, the simulation of blood flow dynamics in vessel geometries requires a series of highly non-trivial steps to generate a high quality, full 3D finite element mesh from biomedical image data 1. Similar challenging and computationally costly preprocessing steps are required to transform geological image data into conforming domain discretizations, which respect complex structures such as faults and large scale networks of fractures; see, for instance, 2.

An example of a successful paradigm for the integration of geometry and computation is given by the isogeometric analysis pioneered by Hughes and co-workers 3. Here, the merging of computation and geometry is obtained by adopting the functions used for geometry representation as basis for the computational method leading to new approaches in the discretization of PDEs.

The idea behind CutFEM is to make the discretization as independent as possible of the geometric description and minimize the complexity of mesh generation, while retaining the accuracy and robustness of a standard finite element method. In particular, we will show later how recent stabilization techniques can be applied to make both the accuracy of the approximation and the system condition number independent of the mesh/boundary intersection and physical parameters. Thanks to this robustness of the discretization, powerful linear algebra techniques developed for finite element methods can be made to bear on the solution of the linear systems obtained by the CutFEM discretization.

In the CutFEM approach, the boundary of a given domain is represented on a background grid, for instance, using a level set function. The background grid is then also used to represent the approximate solution of the governing PDEs. CutFEM builds on a general finite element formulation for the approximation of PDEs, in the bulk and on surfaces, that can handle elements of complex shape and where boundary and interface conditions are built into the discrete formulation. This way, CutFEM can ease the burden of mesh generation by requiring only a low-quality and even non-conform surface mesh representation of the computational geometry. The integration of the geometry in the discrete formulation leads to a method that can be applied equally well to CAD generated geometries and to geometries obtained from biomedical or geological image data.

In this paper, we give some examples of how CutFEM combined with Nitsche's method 4 is implemented for a range of problems with increasing complexity. The use of Nitsche's method for unfitted interface problems and fictitious domain methods has been developed in 5-13, 28, 29, 48. Other related approaches based on Lagrange multipliers or discontinuous Galerkin methods have been suggested in the following works 14-20.

The paper is organized as follows. In Section 2, we give an overview of some archetypal problems with associated CutFEM discretizations. Then we will discuss the crucial question of robustness in Section 3. The representation of the geometry using level sets is discussed in Section 4 and implementation issues are reviewed in Section 5. A series of numerical illustrations for different coupling problems on non-trivial geometries are presented in Section 6.

2 Nitsche's Method for Interface and Dirichlet Boundary Value Problems

2.1 A Poisson model problem

Let Ω be a bounded domain in two or three space dimensions, with an interface Γ dividing Ω into two non-overlapping subdomains Ω1 and Ω2, so that Ω:=Ω1∪Ω2∪Γ, with the interface defined by urn:x-wiley:nme:media:nme4823:nme4823-math-0001. For simplicity, we assume that the subdomains are polyhedral (or polygonal in R2) and that Γ is polygonal (or a broken line).

For any sufficiently regular function u in Ω1∪Ω2, we define the jump of u on Γ by u:=u1|Γu2|Γ, where urn:x-wiley:nme:media:nme4823:nme4823-math-0185 is the restriction of u to Ωi. Conversely, for ui defined in Ωi, we identify the pair (u1,u2) with the function u, which equals ui on Ωi. For definiteness, we define n as the outward pointing unit normal to Ω1 on Γ. We shall consider a problem with piecewise constant data α so that urn:x-wiley:nme:media:nme4823:nme4823-math-0186, and a reaction coefficient urn:x-wiley:nme:media:nme4823:nme4823-math-0002 that may be discontinuous across Γ. Our first model problem is the following variant of Poisson's equation:
urn:x-wiley:nme:media:nme4823:nme4823-math-0003(1)
where we used the flux vectors qi:=−αiui.

In a standard finite element method, the jump in the normal derivative resulting from the continuity of the flux q:=−αu, when α1α2, can be taken into account by letting Γ coincide with mesh lines. In 5, 7, another approach was taken in that 1 was solved approximately using piecewise polynomial finite elements on a family of conforming shape regular triangulations urn:x-wiley:nme:media:nme4823:nme4823-math-0004 of Ω that were independent of the location of the interface Γ. The approximation was then allowed to be discontinuous inside elements, which intersected the interface.

To recall this method, we will use the following notation for mesh related quantities. For any element K, let Ki=K∩Ωi denote the part of K in Ωi. By urn:x-wiley:nme:media:nme4823:nme4823-math-0005, we here denote the set of elements that are intersected by the interface. For an element urn:x-wiley:nme:media:nme4823:nme4823-math-0006, let ΓK:=Γ∩K be the part of Γ in K.

We shall seek a discrete solution U = (U1,U2) in the space urn:x-wiley:nme:media:nme4823:nme4823-math-0007, where
urn:x-wiley:nme:media:nme4823:nme4823-math-0008
As Γ may intersect two edges of a triangle arbitrarily, the size of the parts Ki is not fully characterized by the meshsize parameters. Thus, to guarantee stability of this method using elements with internal discontinuities, further conditions on the combinations of numerical fluxes (co-normal derivatives) must be imposed by choosing appropriate mesh and geometry dependent weights κ. The approach suggested in 5, 7 was to choose the numerical fluxes by introducing weights
urn:x-wiley:nme:media:nme4823:nme4823-math-0009(2)
where meas(K) denotes the size (area or volume) of K, and to use a weighted mean
urn:x-wiley:nme:media:nme4823:nme4823-math-0010(3)
where n:=n·∇, as the flux on Γ (note that κ1+κ2=1). Thus, for an intersected element, a mean numerical flux that takes the different meshsizes into account was computed. However, for problems in which there is a very large difference between the parameters αi, this approach is not robust. To improve robustness, the weighted average must also take into account the parameters: in 3, we must change the definitions of the κi to
urn:x-wiley:nme:media:nme4823:nme4823-math-0011(4)
cf. 21, 22.
The method is defined by the variational problem of finding UVh such that
urn:x-wiley:nme:media:nme4823:nme4823-math-0012(5)
where
urn:x-wiley:nme:media:nme4823:nme4823-math-0013
with urn:x-wiley:nme:media:nme4823:nme4823-math-0014 and
urn:x-wiley:nme:media:nme4823:nme4823-math-0015
For stability, one must take γ sufficiently large. Two choices of γ have been proposed in the literature for these weights. In 21, it was suggested to take
urn:x-wiley:nme:media:nme4823:nme4823-math-0016(6)
and in 22, the choice
urn:x-wiley:nme:media:nme4823:nme4823-math-0017(7)
was advocated. Above urn:x-wiley:nme:media:nme4823:nme4823-math-0018 is a mesh and parameter independent constant and
urn:x-wiley:nme:media:nme4823:nme4823-math-0019
With these definitions, the discrete problem 5 is consistent in the sense that, for u solving 1,
urn:x-wiley:nme:media:nme4823:nme4823-math-0020(8)
In Section 3, we will discuss the consequences of the different choices of the penalty parameter and an alternative route to robustness inspired by fictitious domain methods.

A FE basis for Vh is easily obtained from a standard FE basis on the mesh by the introduction of new basis functions for the elements that intersect Γ. Thus, we replace each standard basis function living on an element that intersects the interface by two new basis functions, namely its restrictions to Ω1 and Ω2, respectively. The collection of basis functions with support in Ωi is then clearly a basis for urn:x-wiley:nme:media:nme4823:nme4823-math-0021, and hence, we obtain a basis for Vh by the identification urn:x-wiley:nme:media:nme4823:nme4823-math-0022. If the interface coincides exactly with an element edge, no new basis functions are introduced on these elements, but the approximating functions may still be discontinuous over such an edge. As a consequence, there are six non-zero basis functions on each element that properly intersects Γ. Perhaps this process is most easily seen as creating two new separate meshes with doubling of the elements crossed by the interface (Figure 1).

Details are in the caption following the image
A mesh with the interface indicated is being divided into two new meshes. The doubled elements are shaded.
We now want to show that the approximation property of Vh is optimal in the following mesh dependent norm:
urn:x-wiley:nme:media:nme4823:nme4823-math-0023
We thus wish to show that functions in Vh approximate functions urn:x-wiley:nme:media:nme4823:nme4823-math-0024 to the order h in the norm urn:x-wiley:nme:media:nme4823:nme4823-math-0025. For this purpose, we construct an interpolant of v by nodal interpolants of H2-extensions of v1 and v2 as follows. Choose extension operators Ei:H2i)→H2(Ω) such that urn:x-wiley:nme:media:nme4823:nme4823-math-0187 and
urn:x-wiley:nme:media:nme4823:nme4823-math-0026(9)
Let Ih be the standard nodal interpolation operator and define
urn:x-wiley:nme:media:nme4823:nme4823-math-0027(10)
We then have the following result. Let urn:x-wiley:nme:media:nme4823:nme4823-math-0028 be an interpolation operator defined as in 10. Then
urn:x-wiley:nme:media:nme4823:nme4823-math-0029(11)
In the proof of this result, we need to estimate the interpolation error at the interface. To that end, the following trace inequality is necessary: under reasonable mesh assumptions 5-7, there exists a constant CT, depending on Γ but independent of the mesh, such that
urn:x-wiley:nme:media:nme4823:nme4823-math-0030(12)

The crucial fact is that the constant in this inequality is independent of the location of the interface relative to the mesh. Optimal interpolation estimates follow, as does optimal convergence of the method irrespective of the location of the interface relative to the mesh. The key elements of the analysis are the robust coercivity of ah(·,·) with respect to the norm urn:x-wiley:nme:media:nme4823:nme4823-math-0031, the consistency property 8, and the approximability 11. For details, see 5.

2.2 The case of Dirichlet boundaries

We now consider the boundary value problem
urn:x-wiley:nme:media:nme4823:nme4823-math-0032(13)
where Γ=ΓD∪ΓN denotes the boundary of the domain Ω, discretized on a mesh urn:x-wiley:nme:media:nme4823:nme4823-math-0033 that contains Ω but is not fitted to the domain boundary. Denoting the mesh domain urn:x-wiley:nme:media:nme4823:nme4823-math-0034, we consider the following finite element space:
urn:x-wiley:nme:media:nme4823:nme4823-math-0035
By urn:x-wiley:nme:media:nme4823:nme4823-math-0036, we denote the set of elements that are intersected by the interface. For an element urn:x-wiley:nme:media:nme4823:nme4823-math-0037, let ΓK:=Γ∩K be the part of Γ in K. We also introduce the set of element faces urn:x-wiley:nme:media:nme4823:nme4823-math-0038 associated with urn:x-wiley:nme:media:nme4823:nme4823-math-0039, defined as follows: for each face urn:x-wiley:nme:media:nme4823:nme4823-math-0040, there exist two simplices K and K such that F = KK and at least one of the two is a member of urn:x-wiley:nme:media:nme4823:nme4823-math-0041. This means in particular that the boundary faces of the mesh urn:x-wiley:nme:media:nme4823:nme4823-math-0042 are excluded from urn:x-wiley:nme:media:nme4823:nme4823-math-0043. On a face F such that F = KK, define the jump of the gradient of vWh by urn:x-wiley:nme:media:nme4823:nme4823-math-0044, where nF denotes the unit normal to F, the orientation is chosen arbitrarily. The problem that arises when applying Nitsche's method in this framework is that the inverse inequality corresponding to 12 cannot be robust when the right hand side must be controlled by norms over the physical domain alone, as the cut elements can be arbitrarily small. We thus need to further stabilize the problem. The finite element discretization takes the form: find UWh, such that
urn:x-wiley:nme:media:nme4823:nme4823-math-0045(14)
where
urn:x-wiley:nme:media:nme4823:nme4823-math-0046
and
urn:x-wiley:nme:media:nme4823:nme4823-math-0047
with
urn:x-wiley:nme:media:nme4823:nme4823-math-0048(15)
and
urn:x-wiley:nme:media:nme4823:nme4823-math-0049(16)
Here, γD,γN, and γ1 are positive penalty parameters; cf. 12. The rationale for the stabilization term 16 is that it extends the coercivity from the physical domain Ω to the mesh domain urn:x-wiley:nme:media:nme4823:nme4823-math-0050. Details are given in Section 3.

2.3 Other interface conditions of interest

The interface conditions may vary depending on the application and may pose more discretization challenges than the aforementioned model problems. In this section, we mention a few alternatives that can still be handled in the same framework of Nitsche's method.
  • Heat release at the interface leads to
    urn:x-wiley:nme:media:nme4823:nme4823-math-0051(17)
    where g is a heat source term. This source leads to a modified right-hand side in 8 so that
    urn:x-wiley:nme:media:nme4823:nme4823-math-0052
    see 5.
  • Spring-type boundary conditions common in solid mechanics can be modeled by
    urn:x-wiley:nme:media:nme4823:nme4823-math-0053(18)
    Here, k denotes the compliance of distributed springs on the interface. These conditions can be modeled by Nitsche's approach as follows. Let sh=1/(h/γ + k)and modify the bilinear form to
    urn:x-wiley:nme:media:nme4823:nme4823-math-0054
    The analysis of this method follows the same lines as the one for the original method; cf. 7, 23.
  • Transport also on the interface can be modeled by
    urn:x-wiley:nme:media:nme4823:nme4823-math-0055(19)
    where ∇Γ is the tangential derivative on Γ,
    urn:x-wiley:nme:media:nme4823:nme4823-math-0056
    These conditions model, for example, porous media flow in a medium with a crack represented by Γ; cf. 24. Here, αΓ represents a porosity along the crack. The bilinear form must now be modified to take the differential equation on Γ into account: formally replacing g in 17 by ∇Γ·(αΓΓu), we see that a consistent bilinear form is given by
    urn:x-wiley:nme:media:nme4823:nme4823-math-0057
    where {a}:=k2a1+k1a2, with k1 and k2 positive weights. This method requires additional stabilization in general; cf. the numerical example in Section 6.4.
  • Alternative surface transport conditions are given by seeking u:Ω→R and uΓ:Γ→R, where Γ denotes the boundary of Ω, such that

    urn:x-wiley:nme:media:nme4823:nme4823-math-0058(20)
    Here, uΓ is a concentration on the surface, which is independent of the concentration inside Ω. Applications are found, for example, in cell membrane transport; cf. 25. Here, we no longer have a distinct side condition and can dispense with Nitsche's method. However, with cut elements, we now need a way to define the discrete approximation of uΓ, which is different from the previous case, where the trace spaces on the cut elements were used to compute ∇ΓU. An obvious idea is to keep on using the trace spaces on a higher dimensional mesh as suggested by Olshanskii et al. 26. Thus, we let urn:x-wiley:nme:media:nme4823:nme4823-math-0059 denote the space of continuous piecewise linear polynomials defined on urn:x-wiley:nme:media:nme4823:nme4823-math-0060 and seek UWh and urn:x-wiley:nme:media:nme4823:nme4823-math-0061 such that
    urn:x-wiley:nme:media:nme4823:nme4823-math-0062(21)
    and
    urn:x-wiley:nme:media:nme4823:nme4823-math-0063(22)
    or the symmetrized version
    urn:x-wiley:nme:media:nme4823:nme4823-math-0064(23)

    for all urn:x-wiley:nme:media:nme4823:nme4823-math-0065. The discretization of the equation on the interface can now be stabilized by adding

    urn:x-wiley:nme:media:nme4823:nme4823-math-0066
    related to the stabilization in the Dirichlet case but with another scaling because of dimensionality. The bulk variable can be stabilized as in the Dirichlet case.

3 Enhancing Robustness: Ghost Penalty

Cutting the mesh can result in boundary elements with very small intersections with the physical domain, or for PDEs on embedded surfaces, bulk elements with very small intersection with the surface domain. This may lead to a poorly conditioned system matrix or failure of stability of the discrete scheme.

Situations that are particularly sensitive are the imposition of Dirichlet boundary conditions 12, 27, or domain decomposition on unfitted meshes, where an inf-sup condition has to be satisfied, such as for incompressible elasticity 9, 28-31. In these cases, one cannot choose the weights in 3 in a robust way. There are also situations where the weights are already prescribed by other concerns. This is the case in fluid–structure interaction 32, 33, where the elastodynamic system has no dissipation by which one can absorb the contribution of the boundary stress term and therefore only the fluid stresses are considered on the boundary. If independent adaptive mesh refinement is performed in the two subdomains of 5, this also imposes a certain choice of weights to ensure robustness, both with respect to large contrast in the physical parameter and in the mesh parameter 34.

For cases such as this, a useful trick 12, 27 is to add a penalty term in the interface zone that extends the coercivity to the whole mesh domain, that is, in the O(h) zone of the mesh domain of each subdomain that does not intersect the associated physical domain. This penalty term must be carefully designed to add sufficient stability, while remaining weakly consistent for smooth solutions. To illustrate this idea, we consider the fictitious domain method for the Poisson problem 13 with α = 1. In the next section, we demonstrate how these arguments can be extended to the coupled problem 1 and how the two formulations are related.

We observe that by taking v = U in the bilinear form a(U,v), we have the coercivity
urn:x-wiley:nme:media:nme4823:nme4823-math-0067
However, to obtain coercivity of the form ah(U,v) using this stability and the boundary penalty term, the penalty parameter will depend on the cut, as by the Cauchy–Schwarz inequality
urn:x-wiley:nme:media:nme4823:nme4823-math-0068(24)
By the definition of the norm and because ∇U is piecewise constant, we have, using 12,
urn:x-wiley:nme:media:nme4823:nme4823-math-0069
where we recall the notation KΩ=K∩Ω, KΓ=K∩Γ, urn:x-wiley:nme:media:nme4823:nme4823-math-0070 and urn:x-wiley:nme:media:nme4823:nme4823-math-0071. It follows that in principle we obtain coercivity by choosing urn:x-wiley:nme:media:nme4823:nme4823-math-0072, since by an arithmetic–geometric inequality, we have
urn:x-wiley:nme:media:nme4823:nme4823-math-0073
Unfortunately, this makes γ strongly dependent on the cut, because for urn:x-wiley:nme:media:nme4823:nme4823-math-0074, the volume measure urn:x-wiley:nme:media:nme4823:nme4823-math-0075 can be arbitrarily small.
When the penalty parameter γ becomes strongly dependent on the mesh/boundary intersection, one may encounter problems with both conditioning and accuracy. A solution to this problem is to add the ghost penalty term of 16, denoted by j(·,·), to the form ah(·,·) as in the formulation 14. The role of this term is to extend the coercivity from the physical domain Ω to the mesh domain urn:x-wiley:nme:media:nme4823:nme4823-math-0076. Indeed, one may show the following inequality:
urn:x-wiley:nme:media:nme4823:nme4823-math-0077(25)
where cG>0 is bounded away from zero independent of the mesh/boundary intersection for positive ghost penalty stabilization parameter γ1. The following weak consistency property can also be shown to hold:
urn:x-wiley:nme:media:nme4823:nme4823-math-0078(26)
where the constant C is independent of the mesh/boundary intersection. Coercivity now follows from 24 and 25 as follows:
urn:x-wiley:nme:media:nme4823:nme4823-math-0079(27)
Here, CT is the constant of the trace inequality 12 and cG is the coercivity constant of the stability estimate 25. We conclude by choosing urn:x-wiley:nme:media:nme4823:nme4823-math-0080, where the lower bound is independent of the mesh/boundary intersection, but not of the penalty parameter γ1 in j(·,·). Error estimates now follow in a similar fashion as for the standard Nitsche's method, using 27 and 26. Indeed, provided the solution is smooth enough, there holds
urn:x-wiley:nme:media:nme4823:nme4823-math-0081
where the hidden constant is independent of the mesh/boundary intersection. One may also show that the conditioning of the system matrix is bounded independently of the mesh/boundary intersection. For further details, see 12.

3.1 Example: perfect conductor, the limit of infinite diffusion

As an example of how the improved robustness works, we will consider the problem 1, with Ω2 completely enclosed by Ω1 such that Ω⊂Ω1 and Γ:=Ω2(Figure 2). It is well known that in the limit α2, the solution u2 becomes constant in Ω2 and can therefore be exactly represented by one degree of freedom. We will give two formulations of this problem, one similar to 5, and the other using the reduced model in a framework similar to the fictitious domain approach 14 using only one degree of freedom to represent u2. In both formulations, we will use the ghost penalty method so that the weights may be depending only on the diffusivities. This allows us to show that the solution of the domain decomposition approach converges to that of the fictitious domain approach in the limit as α2. We will then compare this to what is obtained if the weights are chosen as in equation 4, with the penalty defined in equation 6 or 7.

Details are in the caption following the image
Illustration of the problem domain.
First, consider the formulation 35, and UVh such that
urn:x-wiley:nme:media:nme4823:nme4823-math-0082(28)
with ah(U,v) and L(v) as defined in 5, but for simplicity with f2≡0 and using the weights
urn:x-wiley:nme:media:nme4823:nme4823-math-0083(29)
and the penalty parameter
urn:x-wiley:nme:media:nme4823:nme4823-math-0084(30)
This choice of weights was first considered in the context of discontinuous Galerkin methods in 36 and then for Nitsche's method in 37. The ghost penalty terms are designed similarly to the formulation 14. However, here, ji(Ui,vi) is acting in the boundary zone of the mesh domain urn:x-wiley:nme:media:nme4823:nme4823-math-0085. It is straightforward to prove coercivity of this formulation using the arguments of the previous section, indeed,
urn:x-wiley:nme:media:nme4823:nme4823-math-0086(31)
Here, we used the inequality
urn:x-wiley:nme:media:nme4823:nme4823-math-0087
and the stability 25 in both subdomains.
If we formally let α2 and replace U2 and v2 by constant functions, we find the following formulation: find urn:x-wiley:nme:media:nme4823:nme4823-math-0088 such that for all urn:x-wiley:nme:media:nme4823:nme4823-math-0089, there holds
urn:x-wiley:nme:media:nme4823:nme4823-math-0090(32)
where urn:x-wiley:nme:media:nme4823:nme4823-math-0091. It follows by inspection that this formulation is equivalent to 14, with the only difference that in this case the Dirichlet value set on Γ is an unknown constant value. The coercivity and hence the discrete wellposedness can be shown here exactly using the arguments of 27 together with a triangle inequality and a trace inequality to get control of urn:x-wiley:nme:media:nme4823:nme4823-math-0092. First note that by a triangular inequality, a trace inequality on the whole domain Ω1, and a Poincaré inequality, we have
urn:x-wiley:nme:media:nme4823:nme4823-math-0093
Therefore, by the same arguments as above, there exists a constant c > 0 such that
urn:x-wiley:nme:media:nme4823:nme4823-math-0094(33)
Consequently, both 28 and 32 are coercive, and with some additional effort, one may prove that the approximations indeed have optimal convergence in the H1 and L2-norm provided the exact solution is sufficiently smooth when restricted to each subdomain.
Here, we will instead consider the robustness of the formulation 28. A natural question to ask, as 32 was obtained by taking the formal limit α2 in 28, is if the solutions of the two formulations also coincide in the limit. We will show now that this is the case. Let U = (U1,U2) denote the solution of 28 and urn:x-wiley:nme:media:nme4823:nme4823-math-0095 denote the solution of 32. If we set urn:x-wiley:nme:media:nme4823:nme4823-math-0096 and note that urn:x-wiley:nme:media:nme4823:nme4823-math-0097, we may use the coercivity proven in 31:
urn:x-wiley:nme:media:nme4823:nme4823-math-0098
Using the formulation 28 and once again that urn:x-wiley:nme:media:nme4823:nme4823-math-0099, we see that
urn:x-wiley:nme:media:nme4823:nme4823-math-0100
Now, we apply the formulation 32 on the form urn:x-wiley:nme:media:nme4823:nme4823-math-0101 to write
urn:x-wiley:nme:media:nme4823:nme4823-math-0102(34)
By applying Cauchy–Schwarz inequalities and trace inequalities and using the definition of γ in the right hand side, we may then obtain
urn:x-wiley:nme:media:nme4823:nme4823-math-0103
Using 33 and cα1γCα1 when α1α2, it follows that
urn:x-wiley:nme:media:nme4823:nme4823-math-0104
and we conclude that urn:x-wiley:nme:media:nme4823:nme4823-math-0105 as α2 meaning that the asymptotic limit of the solution of 28 coincides with that of 32.

Another important observation is that for the discretization using ghost penalty and weights depending only on the diffusion, preconditioning the system matrix using diagonal scaling with α1,α2 leads to a system whose condition number is independent of both the mesh/boundary intersection and the contrast in the diffusion (for details, see 35).

Note that the use of the weights 4 and the penalty parameters 6 or 7 do not allow a similar robust limit formulation. This can be seen in the following way. Consider the penalty parameter γ for the choice 6 proposed in 21. Then the limit satisfies
urn:x-wiley:nme:media:nme4823:nme4823-math-0106
which is robust in the diffusion parameter but degenerates into the choice of weights for the fictitious domain method that depends on the element cuts. Hence, for the weights 6, preconditioning using diagonal scaling will make the system robust for large contrast, but unfortunate cuts will still result in a poorly conditioned system matrix. This disadvantage motivated the introduction of the ghost penalty operator in the previous section.
The choice 7 on the other hand results in the limit behavior,
urn:x-wiley:nme:media:nme4823:nme4823-math-0107
This implies that U = 0 across the boundary, which may not always be compatible with optimal accuracy. Observe also that the penalty parameter is present in the system matrices corresponding to the bulk discretization in both subdomains. As γ becomes big, with increasing α2, it will destroy the conditioning of the matrix corresponding to subdomain Ω1.

3.2 A numerical illustration

Robustness issues may also appear in the limit of vanishing diffusion in a subdomain. We consider a configuration similar to that of Figure 2, with the square domain Ω:=[−1,1]2. Let Ω2 be a disc with radius 0.75 centered in the origin and Ω1:=Ω∖Ω2. In this configuration, we solve 1, with u|Ω=0, α1=1, f = 1, urn:x-wiley:nme:media:nme4823:nme4823-math-0108, urn:x-wiley:nme:media:nme4823:nme4823-math-0109 and with α2∈{10−4,10−6,10−9}. First, we apply the formulation 5 with weights given by 3. The elevations of the solutions are presented in Figure 3. We then solve the same problem using the method 28 with 2930 and give the corresponding elevations in Figure 4. Observe the relatively strong, but local, spurious overshoots that are present close to the layer in Figure 3. The combination of the ghost penalty and the parameters 2930 eliminates the oscillations by relaxing the continuity constraint in the limit. Indeed, the sharp layer is represented as a discontinuity when it is under resolved.

Details are in the caption following the image
Computation using the weights 3. From left to right, α2=10−4,10−6, and 10−9.
Details are in the caption following the image
Computation using ghost penalty and the weights 2930. From left to right, α2=10−4,10−6,10−9.

Now, we consider the case where urn:x-wiley:nme:media:nme4823:nme4823-math-0110, α2=1 and choose α1=1020, to illustrate the effect in the limit α1. This corresponds to a situation similar to that explored in Example 3.1, but with the diffusivity going to infinity in the outer domain. In Figure 5, we compare the results of the method 5 with the weights 3 and of 28 with 2930. We see that for this large contrast, the method using the weights 3 exhibits some spurious oscillations close to the boundary, probably owing to an incompatibility between the constraint U = 0 and the weakly imposed condition on the gradient. In other words, the finite element space defined on the cut mesh does not allow for a H1-conforming interpolant that also can represent the jump in the gradient. This effect is reminiscent of locking but only present in the vicinity of the interface. The method 28 on the other hand converges to the fictitious domain solution of 14 in the limit for which optimal error estimates exist.

Details are in the caption following the image
Limit of infinite diffusion. Left: method 5 with weights 3. Right: method 28 with 2930.

3.3 Ghost penalty for surface partial differential equations

Let us consider the Laplace–Beltrami problem: find uΓ:Γ→R such that
urn:x-wiley:nme:media:nme4823:nme4823-math-0111(35)
where ΔΓ=∇Γ·∇Γ is the Laplace–Beltrami operator. The finite element method takes the form: find urn:x-wiley:nme:media:nme4823:nme4823-math-0112 such that
urn:x-wiley:nme:media:nme4823:nme4823-math-0113(36)
and we recall that urn:x-wiley:nme:media:nme4823:nme4823-math-0114 is the space of continuous piecewise linears on urn:x-wiley:nme:media:nme4823:nme4823-math-0115, the union of elements intersecting Γ.
In this case, the ghost penalty term provides additional stability to the discrete problem, which may be arbitrary ill conditioned. The proof of the optimal scaling estimate of the condition number, that is,
urn:x-wiley:nme:media:nme4823:nme4823-math-0116(37)
basically relies on the Poincaré estimate
urn:x-wiley:nme:media:nme4823:nme4823-math-0117(38)
and the inverse estimate
urn:x-wiley:nme:media:nme4823:nme4823-math-0118(39)
Note that, in these inequalities, the ghost penalty term plays a crucial role. Using the Poincaré and inverse estimate together with the coercivity of the bilinear form and the standard scaled equivalence,
urn:x-wiley:nme:media:nme4823:nme4823-math-0119(40)
between the Euclidian norm on the nodal values urn:x-wiley:nme:media:nme4823:nme4823-math-0120 of vWh and the L2-norm on urn:x-wiley:nme:media:nme4823:nme4823-math-0121, we may prove 37; see 38 for details.
Furthermore, we note that the ghost penalty term scales in the same way as the bilinear form (∇Γv,∇Γw)Γ and that we have the interpolation error estimate
urn:x-wiley:nme:media:nme4823:nme4823-math-0122(41)
Using the Galerkin orthogonality, we obtain an optimal error estimate in the energy norm and by duality an L2-error estimate,
urn:x-wiley:nme:media:nme4823:nme4823-math-0123(42)
In order to deal with the effect of approximating the boundary Γ, a more elaborate analysis is needed, and we refer to 38 for further details. For a numerical example of the solution of the Laplace–Beltrami equation on a non-trivial surface, see Section 6.3.

4 Discretizing Geometry in CutFEM

The starting point for the discretization of the geometry in CutFEM is to immerse an arbitrary geometric description in a background mesh. This mesh is typically chosen structured, to facilitate the handling of data structures, communication, and hierarchic mesh adaption. The discretization space and the variational formulation are then adapted to the geometry so that suitable boundary and interface conditions are imposed weakly as described in Section 2. This approach leads to some challenging implementation issues that we will describe later. It is advantageous to choose one particular geometry description that is versatile and simple for the construction of the discretization. Other geometrical descriptions can then be either included using modules that translate different formats to the one chosen to interface with the code or provided with their own CutFEM modules.

In our work, later, we focus on the level-set method 39 for its use both as a description of stationary boundaries and of interfaces evolved by computation. Here, the location of the boundary is given by the zero level set of a function urn:x-wiley:nme:media:nme4823:nme4823-math-0124. More precisely, a given domain urn:x-wiley:nme:media:nme4823:nme4823-math-0125 can be decomposed into an inner part Ω1, an outer part urn:x-wiley:nme:media:nme4823:nme4823-math-0126, and their common interface Γ by requiring that ∀x∈Ω
urn:x-wiley:nme:media:nme4823:nme4823-math-0127(43)
where we define urn:x-wiley:nme:media:nme4823:nme4823-math-0128 as the (open) complement of Ω1 in Ω.

To give a few non-trivial examples of analytically given level-set based surface descriptions, we introduce

  • Doughnut
  • urn:x-wiley:nme:media:nme4823:nme4823-math-0129(44)
    In the following, we choose R = 1.2, r = 0.3.
  • Popcorn
  • 21, 40
    urn:x-wiley:nme:media:nme4823:nme4823-math-0130(45)
    where
    urn:x-wiley:nme:media:nme4823:nme4823-math-0131
    In the following, we choose r0=0.6, σ = 0.2, A = 2.
  • Swiss Cheese Block
  • urn:x-wiley:nme:media:nme4823:nme4823-math-0132(46)
  • The corresponding surfaces are depicted in Figure 6.

    Details are in the caption following the image
    Examples of level-set based surface descriptions. (a) Doughnut. (b) Popcorn. (c) Swiss cheese block.

    Using a level-set description, complex domains can easily be constructed by translating Boolean set operations and geometric transformations into simple manipulations of level-set representations. For instance, given two level set functions φ1 and φ2 representing the domains Ω1 and Ω2, respectively, the level-set function representing the result of a standard Boolean set operation can be constructed according to the following table:

    Moreover, for any diffeomorphic mapping urn:x-wiley:nme:media:nme4823:nme4823-math-0134, the mapped domain urn:x-wiley:nme:media:nme4823:nme4823-math-0135 is represented by urn:x-wiley:nme:media:nme4823:nme4823-math-0136. Figure 7 illustrates how complex surfaces can be generated by combining these operations.

    Details are in the caption following the image
    Examples of complex geometries generated by taking the union of properly translated domains. (a) Olympic rings. (b) Swiss cheese.

    5 Implementational Aspects of a Level-set Based CutFEM Method

    We now briefly review some of the data structures and algorithms required to efficiently compute a discrete representation of surfaces implicitly given by a level-set and how to evaluate the variational formulation on this discrete geometry. An important step here is the introduction of a subtriangulation of cut elements to facilitate integration, which we will describe in more detail below. This subtriangulation is used only for integration so that the resulting subtriangles are not constrained by the conformity requirements of the finite element space. In addition, their aspect ratio does not impact the approximation properties of the discretization, because they are never used in the analysis.

    In general, the mesh subdivision can be characterized as follows. Referring to the notation from Section 2, we recall that for a tessellation urn:x-wiley:nme:media:nme4823:nme4823-math-0137 of Ω, the (unfitted) surface Γ leads to natural subdivision urn:x-wiley:nme:media:nme4823:nme4823-math-0138, where urn:x-wiley:nme:media:nme4823:nme4823-math-0139. Note that, to apply the finite element method to a pure surface problem, we only need to compute a tessellation of Γ with respect to urn:x-wiley:nme:media:nme4823:nme4823-math-0140. For a fictitious domain problem, we require a subtesselation for the inner part of the cut elements urn:x-wiley:nme:media:nme4823:nme4823-math-0141 and for an interface problem, we need to subtriangulate both the inner and outer parts, that is, also urn:x-wiley:nme:media:nme4823:nme4823-math-0142. However, as the following section will explain, all these sub-triangulations can be provided simultaneously by using the well-known marching tetrahedra algorithm 39, 41.

    In addition to this subtesselation algorithm, routines for the computation of integrals over cut cell parts have to be provided. Indeed, for each intersected element urn:x-wiley:nme:media:nme4823:nme4823-math-0143, volume integrals have to be evaluated over the parts of K that are covered by the two physical subdomains Ω1, K1=K∩Ω1 and Ω2, K2=K∩Ω2. To construct the matrix contributions that impose interface and boundary conditions, surface integrals over interface segments, ΓK=Γ∩K, that lie within the element urn:x-wiley:nme:media:nme4823:nme4823-math-0144, also have to be computed.

    In the following, we will first detail our implementation of the classical tetrahedra algorithm 39, 41 and then give some further details on how to evaluate integrals over cell parts.

    5.1 Interface approximation and sub-triangulation of cut elements

    In the first step of the subtesselation algorithm, the values of the level-set function in the element nodes are used to distinguish between elements that are fully contained in Ω1 (φ < 0 for all nodes) or Ω2 (φ > 0 for all nodes) and the elements that are intersected by the interface Γ (φ > 0 and φ < 0 in some nodes) (Figures 8 and 9).

    Details are in the caption following the image
    In a first step, a loop over all values of the level-set function in element nodes is performed, and all cells that are fully contained in Ω1 are marked with 0, all cells that are fully contained in Ω2 are marked with 2, and all cells that are intersected are marked with 1.
    Details are in the caption following the image
    Example for resulting cell marker for level-set function φ(x) = x2+y2−1 of circular domain Ω1.

    For elements that are intersected by the interface, we perform a subtriangulation of the element allowing us to apply standard quadrature rules to the subtriangles for the integration over the parts K1, K2, and ΓK. Here, we only consider linear intersections of the zero level-set with the elements that are represented by one straight line segment per element in 2d or one plane in 3d. In more detail, the subtriangulation algorithm consists of the following steps.

    For all elements that are intersected by the interface,
    • Flag cells according to which nodes of the element have a negative level-set value (flag with ‘1’) and which nodes have a positive level-set value (flag with ‘0’).
    • Use this flag in order to compute the intersection points of the zero level-set with element facets via linear interpolation between the level set values in the nodes connected to the facet. Note that an intersected facet is characterized by the fact that the values of the level-set function in the nodes connected to that facet have positive and negative values of the level-set function.
    • Build a subtriangulation of each cut cell part, that is, K1, K2 and ΓK. The subtriangulation of Ki, i = 1,2, and the sub-triangulation for ΓK are then added to the subtesselation for the inner part of the cut elements urn:x-wiley:nme:media:nme4823:nme4823-math-0145 , the outer part of the cut elements urn:x-wiley:nme:media:nme4823:nme4823-math-0146, or the tessellation of Γ, respectively (Figure 11), together with a map between the cell parts and the corresponding parent cell.

      In two space dimensions, the cut cell parts, K1 and K2, are either triangular or quadrilateral (Figure 10). The triangular part can be added directly to the subtriangulation of the corresponding domain. The quadrilateral part is subdivided into two triangles first and then added to the corresponding subtriangulation. The interface segment ΓK is represented by straight line segment connecting both intersection points. These interface line segments are stored in a separate mesh object with topological dimension 1. The resulting sub-triangulations for Ω1 and Ω2 for a circular domain Ω1 are shown in Figure 11.

      In three space dimensions, there is a much wider range of cut cases to consider. We can distinguish 14 cases, among which eight have a triangular interface plane cut of the zero level set with the tetrahedron and six with a quadrilateral interface plane cut (Figure 12). The triangular plane cut can be added directly to the subtriangulation of the two-dimensional zero level set interface representation, and the quadrilateral planes are subdivided into two triangular parts. For the volume subtriangulation, we decompose the tetrahedron into eight subtetrahedra (Figure 13) and add the subtetrahedra to the corresponding subtesselations of Ω1 and Ω2 depending on the cell flag, that is, depending on whether they lie in Ω1 or Ω2.

    Details are in the caption following the image
    Straight intersection cases in 2d, their corresponding cell flags, and sub-triangulation.
    Details are in the caption following the image
    Cell subtriangulation for (a) Ω1 and (b) Ω2 for circular domain Ω1.
    Details are in the caption following the image
    Intersection cases in 3d and their corresponding flag.
    Details are in the caption following the image
    Subtriangulation of a tetrahedron into eight subtetrahedra.

    5.2 Integration over subtriangulation

    For the evaluation of integrals over the subtriangulation, we require two mappings urn:x-wiley:nme:media:nme4823:nme4823-math-0147. Here, the linear affine mapping, χp, between the reference element and the cell part, transforms a quadrature rule defined on the reference element in terms of quadrature points ξi and weights wi into a quadrature rule on the subtriangle cell part (Figure 14). The mapping χw between the reference element and the whole ‘parent’ cell is used to map the quadrature points defined on the physical subtriangle to their location in the reference element of the whole parent cell.

    Details are in the caption following the image
    Schematics of integration over the subtriangulation involving two coordinate transformations χp between the reference element and the sub-triangle cell part and χw between the reference element and the whole cell.
    More precisely, the quadrature rule over the cell part is given in terms of quadrature points in physical space urn:x-wiley:nme:media:nme4823:nme4823-math-0148 and quadrature weights urn:x-wiley:nme:media:nme4823:nme4823-math-0149. Here, Jp is the Jacobian of the mapping χp. These points and weights can then be used to perform the numerical quadrature over the given cell part, for example, for a mass matrix, by
    urn:x-wiley:nme:media:nme4823:nme4823-math-0150(47)
    Here, AT[j][k] denotes the matrix entry for the cell integral over the degrees of freedom j and k. Note here that we have to evaluate basis functions and/or their derivatives at arbitrary points on the reference element urn:x-wiley:nme:media:nme4823:nme4823-math-0151 that result from the backward transformation of the quadrature rule over the cell part onto the reference element of the whole ‘parent’ element.

    5.3 Software for CutFEM-type method

    The technology required for the automated assembly of general cut finite element based variational forms over fictitious domains and embedded surfaces has been implemented as part of the software library libCutFEM. libCutFEM is open source and freely available from http://www.cutfem.org. This software library builds on the finite element library DOLFIN, which is part of the FEniCS project 42 for automated scientific computing. The main feature of FEniCS is the automated treatment of finite element variational problems, based on automated generation of highly efficient C++ code from abstract high-level descriptions of finite element variational problems expressed in near-mathematical notation 43.

    libCutFEM makes use of this automatization technology in the following way. We specify the variational problem in near-mathematical notation in the domain specific Uniform Form Language 43 (for an example, see Figure 17). Then the code generation components of FEniCS (UFL+FFC+UFC 42) generate code containing information about the cell integrals of the given forms and information about the elements such as the degrees of freedom maps. In particular, libCutFEM uses an extension developed in earlier works of the components FFC 44, 45 and UFC 46. In these works, FFC and UFC were extended 33, 47, 48 to provide generated code for the cell integration over cut cell parts (see right box in Figure 14). These extensions provide the fundamental infrastructure for the evaluation of cut finite element based variational forms defined on fictitious domains and embedded surfaces. Consequently, given a high-level description of the variational formulation, low-level C++ code can be automatically generated for the evaluation of the cut element and surface integrals, in addition to the evaluation of integrals over the standard (non-cut) mesh entities. The generated code takes as input appropriate quadrature points and weights for each cut entity, which are provided by the libCutFEM library. The resulting cell integral matrix contributions are then assembled to the global matrix by routines provided in libCutFEM.

    In addition to these quadrature and assembly routines, libCutFEM provides functionality for computing topological and geometric descriptions of the embedded surface and cut elements. Currently, libCutFEM mainly supports the level set based cutting algorithm as described in detail in the previous section. However, alternative geometrical algorithms can be integrated easily thanks to the modular structure of the library and FEniCS, which decouples the variational formulation, the quadrature and assembly routines, and the geometrical and mesh description.

    In summary, in libCutFEM, one may specify variational forms defined over finite element spaces on fictitious domains in high-level UFL notation 43, define the background mesh urn:x-wiley:nme:media:nme4823:nme4823-math-0152, and give a description of the surface Γ, and then invoke the functionality provided by the libCutFEM library to automatically assemble the corresponding stiffness matrix. In particular, the numerical experiments presented in Sections 6.16.3, corresponding to the variational formulation defined by 50, 58 and 60, have been carried out using this technology. We also present the UFL scripts that were used to obtain the numerical results illustrating the simplicity by which the end user can access the CutFEM paradigm (Figures 17, 18, and 21). Other software projects including CutFEM style technology include GetFem++ 49, LifeV 50, and DUNE-UDG 51.

    6 Numerical Results

    6.1 Stabilized Nitsche fictitious domain method for the Poisson problem

    Consider the following Poisson problem on the domain Ω:
    urn:x-wiley:nme:media:nme4823:nme4823-math-0153(48)
    where Γ denotes the boundary of the domain Ω. Following 12, we consider the finite element space:
    urn:x-wiley:nme:media:nme4823:nme4823-math-0154(49)
    and seek UWh for the stabilized Nitsche finite element formulation
    urn:x-wiley:nme:media:nme4823:nme4823-math-0155(50)
    where
    urn:x-wiley:nme:media:nme4823:nme4823-math-0156(51)
    and
    urn:x-wiley:nme:media:nme4823:nme4823-math-0157(52)
    with
    urn:x-wiley:nme:media:nme4823:nme4823-math-0158(53)
    and
    urn:x-wiley:nme:media:nme4823:nme4823-math-0159(54)
    Here, the outward unit normal nΓ is determined by the level set through the formula
    urn:x-wiley:nme:media:nme4823:nme4823-math-0160(55)
    where φ is the level set function. In particular, we seek urn:x-wiley:nme:media:nme4823:nme4823-math-0161 such that
    urn:x-wiley:nme:media:nme4823:nme4823-math-0162(56)
    We consider the solution of Equation 50 in two complex domains: the popcorn 45 and the olympic rings, which are constructed by taking the minimum over five tori specified in Equation 44. We set f = 1, γ = 10.0, and γ1=0.1.

    The solution u in the popcorn geometry is depicted in Figure 15. Figure 15a shows the fictitious domain mesh of the popcorn geometry colored by the value of U. Figure 15b displays the subtesselation of the popcorn surface, and Figure 15c shows a contour plot of U in a slice through the middle of the popcorn.

    Details are in the caption following the image
    Solution of Poisson equation in popcorn geometry. (a) Fictitious domain cells coloured by value of U. (b) Surface subtesselation. (c) Contour plot of solution U on popcorn slice.

    Solving the Poisson Equation 50 in the olympic ring geometry gives the result depicted in Figure 16, where Figure 16a shows the surface subtesselation, and Figure 16b shows the solution U in a slice through the middle of the olympic rings. The UFL input files to specify Equations (50 and 56 in the libCutFEM/FEniCS framework are displayed in Figures 17 and 18, respectively.

    Details are in the caption following the image
    Solution of Poisson equation in olympic rings geometry. (a) Surface subtesselation. (b) Contour plot of solution U.
    Details are in the caption following the image
    Input UFL file for the stabilized Nitsche fictitious domain method for the Poisson problem.
    Details are in the caption following the image
    Input UFL file for the computation of the outside normal of the zero level set.

    6.2 Stabilized Nitsche fictitious domain method for the Stokes' problem

    Following 29, 30, we now employ the ghost penalty technique to solve Stokes' problem
    urn:x-wiley:nme:media:nme4823:nme4823-math-0163
    using a Nitsche fictitious domain method. We let the discrete velocity space Vh be the space of continuous, piecewise linear, urn:x-wiley:nme:media:nme4823:nme4823-math-0164-vector fields and let the discrete pressure space Qh consist of either piecewise constant or continuous piecewise linear elements, denoted by urn:x-wiley:nme:media:nme4823:nme4823-math-0165 and urn:x-wiley:nme:media:nme4823:nme4823-math-0166, respectively. To formulate our CutFEM method for the Stokes problem, we introduce the forms
    urn:x-wiley:nme:media:nme4823:nme4823-math-0167
    As explained in Section 3, we extend the coercivity of the bilinear form ah(·,·) from the physical to fictitious domain using the ghost penalty
    urn:x-wiley:nme:media:nme4823:nme4823-math-0168
    As the mixed spaces urn:x-wiley:nme:media:nme4823:nme4823-math-0169 and urn:x-wiley:nme:media:nme4823:nme4823-math-0170 are known to violate the Babuška–Brezzi conditions, we stabilize our scheme by the following symmetric pressure penalties:
    urn:x-wiley:nme:media:nme4823:nme4823-math-0171(57)
    where urn:x-wiley:nme:media:nme4823:nme4823-math-0172 denotes all the interior faces in the mesh domain urn:x-wiley:nme:media:nme4823:nme4823-math-0173. Note that the integral contributions in 57 are always evaluated on the entire face F, even for faces that are intersected by the boundary Γ. Again, such a ghost penalty ensures the robustness and optimal convergence properties of the stabilized scheme irrespective of the location of the boundary; see 29, 30 for detailed proofs.
    Combining these forms, the stabilized Nitsche fictitious domain method for Stokes' problem reads: find (U,P)∈Vh×Qh such that for all (v,q)∈Vh×Qh
    urn:x-wiley:nme:media:nme4823:nme4823-math-0174(58)
    where
    urn:x-wiley:nme:media:nme4823:nme4823-math-0175
    and
    urn:x-wiley:nme:media:nme4823:nme4823-math-0176
    We present two numerical examples. First, we compute the Stokes flow in the Swiss cheese domain while the domain is rotating along the z-axis at constant angle velocity. As volume force, we take f = (0,0,−1). Figure 19 shows both the pressure approximation and the computed velocity. In the second example, we consider the flow through a blood vessel bifurcation with an aneurysm developed at the bifurcation; see Figure 20. Here, the vessel boundary is given as a surface mesh generated from biomedical image data, demonstrating the great potential of CutFEM technologies also to applications where only non-smooth boundary descriptions can be obtained.
    Details are in the caption following the image
    Stokes flow in a rotating Swiss cheese. (a) Pressure approximation. (b) Velocity approximation in a cross-section through the xy-plane.
    Details are in the caption following the image
    Stokes flow in an aneurysm. (a) Aneurysm embedded in a structured background mesh. (b) Pressure approximation on the ‘reduced’ background mesh. (c) Original aneurysm embedded in the background mesh shown with streamlines computed from the velocity approximation.

    6.3 Laplace–Beltrami problem on a surface using a bulk-mesh

    We consider the Laplace–Beltrami problem for a surface Γ: find urn:x-wiley:nme:media:nme4823:nme4823-math-0177 solving
    urn:x-wiley:nme:media:nme4823:nme4823-math-0178(59)
    where Γ denotes the popcorn surface described by the level-set function 45. Then, the cut finite element method for the Laplace–Beltrami problem is to seek urn:x-wiley:nme:media:nme4823:nme4823-math-0179 such that
    urn:x-wiley:nme:media:nme4823:nme4823-math-0180(60)
    where the bilinear form A(·,·) is defined by
    urn:x-wiley:nme:media:nme4823:nme4823-math-0181(61)
    with
    urn:x-wiley:nme:media:nme4823:nme4823-math-0182(62)
    The right-hand side f is set to f(x,y,z) = x + y + z, satisfying the compatibility condition (f,1)Γ=0. For the bulk mesh, the mesh size is approximately h≈0.04. Figure 22 depicts the solution U on the popcorn surface 45. Figure 21 shows the UFL input file used in libCutFEM to specify the Laplace–Beltrami problem.
    Details are in the caption following the image
    Input UFL file for Laplace–Beltrami problem on a surface.
    Details are in the caption following the image
    Solution u of Laplace–Beltrami problem on a popcorn surface. (a) Fictitious domain mesh and zero level set surface. (b) Solution u.

    6.4 Porous media flow in a domain with cracks

    In this section, we give some preliminary numerical results obtained when solving 19 using the stabilized bilinear form
    urn:x-wiley:nme:media:nme4823:nme4823-math-0183
    The stabilization term jΓ(·,·) is necessary in the case when αΓ/α becomes large, as we are then basically solving a perturbed Laplace–Beltrami problem.

    We consider the following model problem in urn:x-wiley:nme:media:nme4823:nme4823-math-0184: a domain (0,1) × (0,1) with Dirichlet boundary conditions u = 1 at x = 0 and u = 0 at x = 1, zero Neumann conditions elsewhere. Choosing α = 1 in Ω and an elliptically shaped crack shown in Figure 23 and setting γΓ=10, we obtain the following results when setting αΓ=0 on the lower arc of the crack and αΓ∈{1,2,4} in the upper arc. A close-up of the computed velocities αU close to the crack, using the computational mesh of Figure 24, is shown in Figure 25, together with a corresponding zoom of the mesh in Figure 26, and isoline plots of the pressures U are given in Figure 27. We note that even a small increase in permeability increases the velocity quite noticeably in the crack. Further developments for system of cracks are under way.

    Details are in the caption following the image
    Crack with higher permeability in the upper arc.
    Details are in the caption following the image
    Computational mesh.
    Details are in the caption following the image
    Computed velocities close to the crack. (a) αΓ=1. (b) αΓ=2. (c) αΓ=4.
    Details are in the caption following the image
    Zoom of the computational mesh where velocities are shown.
    Details are in the caption following the image
    Pressure isolines. (a) αΓ=1. (b) αΓ=2. (c) αΓ=4.

    7 Concluding Remarks

    In this paper, we have given an exposition of recent results on CutFEM combined with Nitsche's method and ghost penalty stabilization. The main theoretical ideas have been discussed, but emphasis has been put on implementation issues in the setting of the FEniCS software project.

    We have endeavored to show the versatility of the CutFEM method as a method for fictitious domain computations, overlapping mesh methods, multiphysics coupling between a bulk domain and its surfaces or embedded interfaces, and model coupling problems. In particular, we have pointed out the possibility of posing and solving PDEs on interfaces/surfaces as well as in the bulk.

    In conclusion, the results reported here (and in the references) show that CutFEM holds great promise as a versatile and powerful mesh-free method posed on a mesh. Challenges currently being investigated include optimization techniques using surface sensitivities, and moving interfaces, for example, for free surface problems.

    Acknowledgements

    This research was supported in part by EPSRC (first and second authors, Grant No. EP/J002312/2), in part by the Swedish Foundation for Strategic Research (second and third author, Grant No. AM13-0029) and the Swedish Research Council (second and third author, Grants No. 2011-4992 (PH) and No. 2013-4708 (MGL)). The work for this article was also supported by a Center of Excellence grant from the Research Council of Norway to the Center for Biomedical Computing at Simula Research Laboratory.

        The full text of this article hosted at iucr.org is unavailable due to technical difficulties.