The Algebraic Immersed Interface and Boundary Method for Elliptic Equations with Jump Conditions
Abstract: A new simple fictitious domain method, the algebraic immersed interface and boundary (AIIB) method, is presented for elliptic equations with immersed interface conditions. This method allows jump conditions on immersed interfaces to be discretized with a good accuracy on a compact stencil. Auxiliary unknowns are created at existing grid locations to increase the degrees of freedom of the initial problem. These auxiliary unknowns allow imposing various constraints to the system on interfaces of complex shapes. For instance, the method is able to deal with immersed interfaces for elliptic equations with jump conditions on the solution or discontinuous coefficients with a second order of spatial accuracy. As the AIIB method acts on an algebraic level and only changes the problem matrix, no particular attention to the initial discretization is required. The method can be easily implemented in any structured grid code and can deal with immersed boundary problems too. Several validation problems are presented to demonstrate the interest and accuracy of the method.

1. Introduction and General Motivations

Simulating flows and heat transfer interacting with complex objects on Cartesian structured grids requires an efficient coupling between such grids and the corresponding numerical methods and complex shape interfaces. Such a coupling is often performed thanks to fictitious domain methods, where the computational domain does not match the physical domain. The advantages of this approach are numerous. A second-order accurate discretization of the spatial operators is simple to obtain; grid generation is trivial, and furthermore there is no need to remesh the discretization grid in the case of moving or deformable boundaries. Concerning this last point, fictitious domain methods can be useful even on unstructured grids: Eulerian fixed unstructured grids can fit immobile obstacles, (e.g. a stator of an aircraft motor) while mobile objects (a rotor) are treated with fictitious domain methods. Two particular classes of problems can be drawn: the immersed boundary problems and the immersed interface problems. The first deals with complex boundaries, such as flow past objects, where no attention has to be paid to the solution inside the obstacles. The immersed interface problems consider subdomains delimited by interfaces, and the solution is required in both sides of the interface. As particular conditions, such as jump conditions, can be required on the interface, this second class of problems is often more difficult to treat.

Let us consider a domain of interest ${\Omega }_{0}$, typically a fluid domain, which is embedded inside a computational domain of simple shape $\Omega \subset {ℝ}^{d}$, d being the spatial dimension of the problem. The auxiliary domain ${\Omega }_{1}$, typically a solid particle or an obstacle, is such that as shown in Figure 1: $\Omega ={\Omega }_{0}\cup \Sigma \cup {\Omega }_{1}$ where $\Sigma$ is an immersed interface, and $n$ is the unit outward normal vector to ${\Omega }_{0}$ on $\Sigma$. Let us consider the following model scalar immersed boundary problem in ${\Omega }_{0}$ with a Dirichlet boundary condition (BC) on the interface $\Sigma$ :

${\mathcal{P}}_{b}\text{ }\left\{\begin{array}{l}-\nabla \cdot \left(a\nabla u\right)=f\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{in}\text{\hspace{0.17em}}\text{ }{\Omega }_{0}\\ {u}_{|\Sigma }={u}_{D}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{ }\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{on}\text{\hspace{0.17em}}\text{ }\Sigma \end{array}$

A boundary condition is also required on the other part of the boundary $\partial {\Omega }_{0}$ so that the whole problem is well-posed.

A first approach dealing with immersed boundaries is the distributed Lagrange Multiplier method proposed by Glowinski et al. [1]. Lagrange multipliers are introduced into the weak formulation of the initial elliptic equation to ensure the immersed boundary condition.

Figure 1. Definition of the subdomains and the interface.

Cartesian grid [2] [3] and Cut-cell [4] methods use a structured grid in the whole domain except near obstacles where unstructured cells are created from structured cells. These methods are hard to implement due to the numerous different space configurations of the intersections between cells and objects. Furthermore, the existence of small cells can induce solver troubles.

The immersed boundary method (IBM) was initially presented by Peskin [5] [6]. Fictitious boundaries are taken into account through a singular source term defined only near the boundaries. As the source term is weighted with a discrete Dirac function smoothed on a non-zero support, the interface influence is spread over some grid cells. This method is first-order in space and explicit. Another class of IBM, the direct-forcing (DF) method, was initially proposed by Mohd-Yusof [7]. The idea here is to impose a no-slip condition directly on the boundary using a mirrored flow over the boundary. In [8] [9], the correct boundary velocity is obtained by interpolating the solution on the boundary and far from the boundary on grid points in the near vicinity of the interface. In [10], Tseng et al. use the same principle but extrapolate the solution in ghost cells outside the domain. This approach can be seen as a generalization of the mirror boundary conditions used in Cartesian staggered grids to impose a velocity Dirichlet condition on pressure nodes. As discussed in [11], this kind of approach seems to be more accurate than [8] [9].

The penalty methods for fictitious domains consist in adding specific terms in the conservation equations to play with the order of magnitude of existing physical contributions so as to obtain at the same time and with the same set of equations two different physical properties. The volume penalty method (VPM) [12] requires the addition of a penalty term $\frac{\chi }{\epsilon }\left(u-{u}_{D}\right)$ in the conservation equations, such that:

$\left\{\begin{array}{l}-\nabla \cdot \left(a\nabla u\right)+\frac{\chi }{\epsilon }\left(u-{u}_{D}\right)=f\text{ }\text{\hspace{0.17em}}\text{in}\text{\hspace{0.17em}}\text{ }\Omega \\ \text{ }\text{with}\text{\hspace{0.17em}}\text{ }{\chi }_{|{\Omega }_{0}}=0,{\chi }_{|{\Omega }_{1}}=1,\text{ }\text{\hspace{0.17em}}\text{for}\text{\hspace{0.17em}}\text{ }0<\epsilon \ll 1\end{array}$ (1)

where $\epsilon$ denotes the penalty parameter which tends to 0. Hence, in ${\Omega }_{1}$ the original equation becomes negligible and $u={u}_{D}$ is imposed. In [13] [14] authors add a Darcy term $\frac{\mu }{K}u$ to the Navier-Stokes (NS) equations where $\mu$ is the dynamic viscosity and K the permeability. In the fluid medium, $K\to \infty$ so the Darcy term is then negligible and the original set of NS equations is retrieved. In the solid medium, $K\to 0$ and consequently the NS equations tend to $u=0$. Classical discretizations of the penalty terms are of first order only since they consider the projected shape of the interface on the Eulerian grid to define the penalty parameters [15]. In [16] [17], Sarthou et al. have discretized the volume penalty term with a second order using implicit interpolations as in [10]. This method is called the sub-mesh penalty (SMP) method and has been applied to both elliptic and NS equations.

Applied to problem ${\mathcal{P}}_{b}$, the ghost cell immersed boundary method [10] and SMP method [16] used the cells in ${\Omega }_{1}$ in the vicinity of the interface to enhance the accuracy of the solution in ${\Omega }_{0}$.

Another approach which considers the extension of the solution is considered in [18] [19] by Gibou and Fedkiw. Ghost nodes and simple interpolations are considered, but contrary to the SMP and the IBM-DF methods, only 1D interpolations are used and the operators are rediscretized “by-hand”.

Let us now consider a model immersed interface problem with jump interface conditions:

$\left({\mathcal{P}}_{i}\right)\text{ }\left\{\begin{array}{ll}-\nabla \cdot \left(a\nabla u\right)=f\hfill & \text{ }\text{\hspace{0.17em}}\text{in}\text{\hspace{0.17em}}\text{ }\Omega \hfill \\ {〚u〛}_{\Sigma }=\phi \hfill & \text{ }\text{\hspace{0.17em}}\text{on}\text{\hspace{0.17em}}\text{ }\Sigma \hfill \\ {〚\left(a\cdot \nabla u\right)\cdot n〛}_{\Sigma }=\psi \hfill & \text{ }\text{\hspace{0.17em}}\text{on}\text{\hspace{0.17em}}\text{ }\Sigma \hfill \end{array}$

A first class of method is the immersed interface methods (IIM) initially introduced by LeVeque and Li [20] and widely described in [21]. This group of methods uses Taylor series expansion of the solution at discretization points in the vicinity of $\Sigma$ to modify the discrete operators at these points. Much work has been devoted to the immersed interface method and its numerous applications, such as moving interfaces [22] or Navier-Stokes equations [23]. In [24], Li uses an augmented variables approach. Additional variables and interface equations are added to the initial linear system. The new variables are the values of jumps at some interface points. This method has been extended to the incompressible Stokes [25] and Navier-Stokes [26].

The Ghost Fluid Method, originally developed by Fedkiw et al. [27] [28], introduces ghost nodes where the solution is extended from one side of the interface to the other side. As for IIM, the operator discretization must be modified “by-hand”. Zhou et al. overcome this drawback with the matched interface and boundary (MIB) method [29] [30] [31] by using interface conditions to express the solution at ghost nodes with respect to the solution on physical nodes. Hence, the discretization is automatically performed whatever the discretization scheme. Contrary to [24], the additional equations for these two last methods are not written at “random” points of the interface but at the intersections between the Eulerian grid and the immersed interface. Furthermore, simple Lagrange polynomials are used whereas a more complicated weighted least squares approach is used in [24] to discretize additional equations. In [32], Cisternino and Weynans propose a quite simple method with additional unknowns located at the interface. Interfaces conditions are discretized at these points and are added to the final linear system.

The method presented in this work solves elliptic problems using an augmented method coupled with an auxiliary unknown approach. Its main contribution is its simplicity that eases its implementation, and its generality that allows the method to be applied to various boundary and interface conditions. Contrary to ghost nodes, auxiliary unknowns are present in the linear system and the discretization of the interface conditions is independant from the discretization of the initial equation.

Compact interpolations are used to discretize the additional interface constraints. The method is simple to implement even for interfaces of complex shapes, i.e. not described by analytical equations. Except for the discretization of interface conditions, all operations are automatically performed with algebraic modification or directly by the “black-box” matrix solver. This new method is called the algebraic immersed interface and boundary (AIIB) method. In Section 2, the method is presented for immersed boundary problems. Then, the method is extended to immersed interface problems with known solution on the interface. Finally, the method is applied to immersed interfaces with transmission and jump conditions. A special attention is paid to the management of the discretized interface, especially the way to project it onto the Eulerian grid using a fast ray-casting method. In Section 3, validation tests and convergence studies are presented. Conclusions and perspectives are finally drawn in Section 4.

2. The Algebraic Immersed Interface and Boundary Method

The AIIB method is now presented. The method is first formulated for immersed boundary problems when a Dirichlet or a Neumann boundary condition is required. The method is then extended to simple immersed interface problems where the solution is a priori known on the interface. Finally, an extension to jump and transmission conditions is described.

2.1. Definitions and Notations

Our objective is to numerically impose the adequate conditions on the interface $\Sigma$ for problems similar to ${\mathcal{P}}_{b}$ and ${\mathcal{P}}_{i}$. These conditions will be discretized in space on an Eulerian structured mesh covering $\Omega$. As the discretization of the interface or boundary conditions requires interpolations, the following interpolations in 2D: ${ℙ}_{1}^{2}\left(x,y\right)={p}_{1}+{p}_{2}x+{p}_{3}y$ and ${ℚ}_{1}^{2}\left(x,y\right)={p}_{1}+{p}_{2}x+{p}_{3}y+{p}_{4}xy$ are used. In 3D, we use ${ℙ}_{1}^{3}\left(x,y,z\right)={p}_{1}+{p}_{2}x+{p}_{3}y+{p}_{4}z$ and ${ℚ}_{1}^{3}\left(x,y,z\right)={p}_{1}+{p}_{2}x+{p}_{3}y+{p}_{4}z+{p}_{5}xy+{p}_{6}yz+{p}_{7}zx+{p}_{8}xyz$. An additional interpolation, ${\mathbb{L}}_{1}^{1}\left(x\right)={p}_{1}+{p}_{2}x$, is also possible to be chosen for 2D and 3D problems. The superscript is the dimension of the interpolation while the subscript is the order of spatial accuracy.

The computational domain $\Omega$ is approximated with a curvilinear mesh ${T}_{h}$ composed of $N×M$ ( $×L$ in 3D) cell-centered finite volumes ( ${\mathcal{V}}_{I}$ ) for $I\in \mathcal{E}$, $\mathcal{E}$ being the set of indexes of the Eulerian orthogonal curvilinear structured mesh. Let ${x}_{I}$ be the vector coordinates of the center of each volume ${\mathcal{V}}_{I}$. In 2D, the horizontal and vertical mesh steps are respectively ${h}_{x}$ and ${h}_{y}$. This grid is used to discretize the conservation equations. A dual grid is introduced for the management of the AIIB method. The grid lines of this dual cell-vertex mesh are defined by the network of the cell centers ${x}_{I}$. The volumes of the dual mesh are denoted by ( ${{\mathcal{V}}^{\prime }}_{I}$ ). The Eulerian unknowns are noted ${u}_{I}$ which are the approximated values of $u\left({x}_{I}\right)$, i.e. the solution at the cell centers ${x}_{I}$.

The discrete interface ${\Sigma }_{h}$, hereafter called the Lagrangian mesh, is given by a discretization of the original interface $\Sigma$. It is described by a piecewise linear approximation of $\Sigma$ : ${\Sigma }_{h}=\left\{{\sigma }_{l}\subset {ℝ}^{d-1},l\in {\mathcal{L}}_{f}\right\}$, ${\mathcal{L}}_{f}$ being the set of indexes of the Lagrangian mesh and K being the cardinal of ${\mathcal{L}}_{f}$. Typically, ${\sigma }_{l}$ are segments in 2D and triangles in 3D. The vertices of each face ${\sigma }_{l}$ are denoted by ${x}_{l,i}$ for $i=1,\cdots ,d$ and the set of all vertices is $\left\{{x}_{l},l\in {\mathcal{L}}_{v}\right\}$, ${\mathcal{L}}_{v}$ being the set of indexes of the vertices. The intersection points between the grid lines of the Eulerian dual mesh and the faces ${\sigma }_{l}$ of the Lagrangian mesh are denoted by $\left\{{x}_{i},i\in \mathcal{I}\right\}$ (see Figure 2). Our objective is to discretize Dirichlet, Neumann, transmission and jump conditions at these interface points to build a general fictitious domain approach. This method is expected to reach a global second-order spatial accuracy.

We shall use the following Eulerian volume functions in order to implicitly locate ${\Sigma }_{h}$ :

• The Heaviside function $\chi$, defined as:

$\chi \left(x\right)=\left\{\begin{array}{l}1\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{ }\text{ }\text{ }\text{if}\text{\hspace{0.17em}}x\in {\Omega }_{1}\hfill \\ 0\text{\hspace{0.17em}}\text{ }\text{\hspace{0.17em}}\text{otherwise}\text{ }\hfill \end{array}$ (2)

This function is built with a point in solid method presented below. The function $\chi$ will be used to perform fictitious domain algorithms and to build a level-set function.

• The level-set function $\varphi$, with:

$\varphi \left(x\right)=\left\{\begin{array}{l}-{\text{dist}}_{\Sigma }\left(x\right)\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{ }\text{if}\text{\hspace{0.17em}}x\in {\Omega }_{1}\hfill \\ {\text{dist}}_{\Sigma }\left(x\right)\text{\hspace{0.17em}}\text{ }\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{otherwise}\text{ }\hfill \end{array}$ (3)

and ${\text{dist}}_{\Sigma }\left(p\right)=in{f}_{x\in \Sigma }‖x-p‖$. The unsigned distance is computed geometrically. The sign is directly obtained with the discrete Heaviside function $\chi$.

• The colour phase functions C, which is the ratio of a given phase in a control volume. We denote $C\left({x}_{I}\right)$ the phase ratio in the control volume centered in ${x}_{I}$. This function is approximated from the $\varphi$ function by using the formula proposed by Sussman and Fatemi [33]:

Figure 2. Definition of the discretization kernels for the AIIB method.

$C\left(x\right)\approx \left\{\begin{array}{l}1\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{ }\text{ }\text{ }\text{if}\text{ }\text{\hspace{0.17em}}\varphi \left(x\right)>h\hfill \\ 0\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{ }\text{if}\text{ }\text{\hspace{0.17em}}\varphi \left(x\right)<-h\hfill \\ \frac{1}{2}\left(1+\frac{\varphi \left(x\right)}{h}+\frac{1}{\pi }\mathrm{sin}\left(\pi \varphi \left(x\right)/h\right)\right)\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{ }\text{otherwise}\text{ }\hfill \end{array}$ (4)

New sets of Eulerian points ${x}_{I}$ are defined near the interface so that each one has a neighbor ${x}_{J}$ verifying ${\chi }_{J}\ne {\chi }_{I}$ (with ${\chi }_{I}=\chi \left({x}_{I}\right)$ and ${\chi }_{J}=\chi \left({x}_{J}\right)$ ), i.e. the segment $\left[{x}_{I};{x}_{J}\right]$ is cut by ${\Sigma }_{h}$. These Eulerian “interface” points are also sorted according to their location inside ${\Omega }_{0}$ or ${\Omega }_{1}$. Two sets $\left\{{x}_{I},I\in {\mathcal{N}}_{0}\right\}$ and $\left\{{x}_{I},I\in {\mathcal{N}}_{1}\right\}$ are thus obtained, where ${\mathcal{N}}_{0}=\left\{I,{x}_{I}\in {\Omega }_{0},{x}_{I}\in Neighb\left({x}_{J}\right),{\chi }_{I}\ne {\chi }_{J},{x}_{J}\in {\Omega }_{1}\right\}$ and ${\mathcal{N}}_{1}=\left\{I,{x}_{I}\in {\Omega }_{1},{x}_{J}\in Neighb\left({x}_{I}\right),{\chi }_{I}\ne {\chi }_{J},{x}_{J}\in {\Omega }_{0}\right\}$.

For each ${x}_{I}$, $I\in {\mathcal{N}}_{0}$ or $I\in {\mathcal{N}}_{1}$, we associate two unknowns: the physical one denoted as ${u}_{I}$ and the auxiliary one ${u}_{I}^{*}$.

2.2. Projection of the Lagrangian Shape on the Eulerian Grid

The generation of the Lagrangian mesh of the interface is achieved using a computer graphics software. Specific algorithms have been developed to project this Lagrangian grid onto the Eulerian physical grid. In order to obtain the discrete Heaviside function $\chi$, one has to determine which Eulerian points are inside the domain ${\Omega }_{1}$ defined by a Lagrangian surface. Such a surface must be closed and not self-intersecting. In [11] [14], the authors used a global methodology partly based on [34] where $\chi$ is obtained thanks to a PDE. This method suffers from a lack of accuracy and robustness. A Ray-casting method based on the Jordan curve theorem is more adapted and is used in the present work. The principle is to cast a ray from each Eulerian point to infinity and to test the number of intersections between the ray and the Lagrangian mesh. If the number of intersections is odd, the Eulerian point is inside the object, and outside otherwise. The Ray-casting method can be enhanced by classifying elements of the Lagrangian mesh with an octree sub-structure which recursively subdivides the space in boxes. If a ray does not intersect a box, it does not intersect the triangles inside the box. A fast and simple optimization is to test if a given point is in the box bounding the Lagrangian mesh. An improvement of the Ray-casting algorithm, the Thread Ray-casting, can be found in [35] [36]. Instead of casting rays in any direction, rays are all aligned on a principal direction of the grid such as each ray passes through a line of points ${x}_{I}$. Hence, only one ray is cast for each line of points allowing the complexity of the algorithm to be reduced by one order.

The Lagrangian points ${x}_{l}$ of ${\Sigma }_{h}$, $l\in \mathcal{I}$ are required to couple the Lagrangian surface and the Eulerian grid used to solve the conservation equations. These points can be obtained with two methods. A geometrical computation of the intersections gives the most accurate result. If not optimized the computational cost of this method is not always negligible for some cases.

Using the Level-set function is a faster but less accurate way to obtain the intersection points. Let us consider two Eulerian points ${x}_{I}\in {\Omega }_{0}$ and ${x}_{J}\in {\Omega }_{1}$. We denote by ${d}_{I}=d\left({x}_{I},{\Sigma }_{h}\right)$ and ${d}_{J}=d\left({x}_{J},{\Sigma }_{h}\right)$ the unsigned distances between Eulerian points and the interface ${\Sigma }_{h}$. Then, ${x}_{l}=\left({x}_{I}{d}_{J}+{x}_{J}{d}_{I}\right)/\left({d}_{I}+{d}_{J}\right)$.

Algorithmic problems can be encountered if the Lagrangian mesh is too complex compared to the Eulerian mesh. In some cases, more than one segment of the Lagrangian mesh can intersect a same grid segment $\left[{x}_{I};{x}_{J}\right]$, and more than one intersecting points can then be found between ${x}_{I}$ and ${x}_{J}$ with the geometric method. In this case, only one intersecting point is considered.

Concerning the use of the Level-set, this function is a projection of the shape on a discrete grid. The local curvature of the projected shape is thus limited by the accuracy of the Eulerian grid. Consequently, no more than one intersecting point can be found between ${x}_{I}$ and ${x}_{J}$ with the Level-set.

2.3. The AIIB for Dirichlet and Neumann Conditions

2.3.1. General Principle

Once the shape informations are available on the Eulerian grid, the problem discretization has to be modified to take into account the fictitious domain delimited by an immersed boundary or an immersed interface. The sub-mesh penalty (SMP) method [11] [16] was originally designed to treat immersed boundary problems. It could be extended to treat immersed interface problems by symmetrization of the algorithm with introduction of auxiliary unknowns as in the AIIB method. This new method is an enhancement of the SMP method which is also able to solve immersed interface problems. The main idea of the AIIB method is to embed an interface into a given domain by modifying the final matrix only. As no modification of the discretization of the operators is required (contrary to [18] [19] and the immersed interface methods [20]), the AIIB method is thus simple to implement.

Let $\mathcal{P}$ be a model problem discretized in the whole domain $\Omega$ as $Au=b$ where A is a square matrix of order m, u the solution vector and b a source term. The basic idea of the AIIB method is to add new unknowns and equations to the initial linear system so as to take into account additional interface constraints. The new unknowns, so-called the auxiliary or fictitious unknowns and labeled with *, are defined as being the extrapolation of the solution from one side of the interface to the other, and are used to discretize the interface conditions. Hence, the original problem $Au=b$ becomes ${A}^{\prime }{u}^{\prime }={b}^{\prime }$, with ${A}^{\prime }$ a square matrix of order $m+n$, with n the number of auxiliary constraints related to the interface conditions. The solution ${u}^{\prime }$ is decomposed such as ${u}^{\prime }={\left(u,{u}^{*}\right)}^{\text{T}}$ and the source term as ${b}^{\prime }={\left(b,{b}^{*}\right)}^{\text{T}}$. The interface constraints are discretized with a $\left(n,m+n\right)$ block matrix C and the source term ${b}^{*}$. The discretizations of the constraints for various interface and boundary conditions are given in Sections 2.3.2 and 2.4.

According to the interface conditions, the regularity of the solution on the interface is often lower than in the rest of the domain. Hence, the discretization of operators with a stencil cutting the interface can induce a great loss of accuracy. The first idea is to consider unknowns ${u}_{I}^{*},I\in {\mathcal{N}}_{1}$ (resp. ${u}_{I}^{*},I\in {\mathcal{N}}_{0}$ ) as the extension of the solution in ${\Omega }_{0}$ (resp. ${\Omega }_{1}$ ). The initial algebraic link between unknowns from both sides of the interface is cut, and the new link over the interface is obtained thanks to auxiliary unknowns. Practically, matrix coefficients must be modified to take into account the new connectivities. Let ${\alpha }_{I,J}$ be a coefficient of A at row I, column J and ${{\alpha }^{\prime }}_{I,J}$ the new coefficient in ${A}^{\prime }$. If $I\in {\mathcal{N}}_{0}$ and $J\in {\mathcal{N}}_{1}$, ${{\alpha }^{\prime }}_{I,J}=0$.

Hence, there is no more direct link between the initial unknowns in ${\Omega }_{0}$ and ${\Omega }_{1}$. However, the initial value of ${\alpha }_{I,J}$ is reused to express the new relation between the original unknown ${u}_{I}$ and its new neighbor ${u}_{J}^{*}$. Consequently, ${{\alpha }^{\prime }}_{I,{J}^{*}}={\alpha }_{I,J}$, where ${J}^{*}$ is the index corresponding to ${u}_{J}^{*}$.

This is exactly the way how we proceed for the practical algorithm. However, this modification can be expressed algebraically with permutation and mask matrices as follows.

We define the two following mask matrices ${I}_{1}$ of dimensions $\left(m,m+n\right)$ and ${I}_{2}$ of size $\left(n,m+n\right)$ :

${I}_{1}=\left(\begin{array}{ccccccc}1& 0& \cdots & 0& \cdots & \cdots & 0\\ 0& \ddots & & ⋮& \ddots & & ⋮\\ ⋮& & \ddots & 0& & \ddots & ⋮\\ 0& \dots & 0& 1& 0& \cdots & 0\end{array}\right)$ (5)

${I}_{2}=\left(\begin{array}{ccccccc}0& \cdots & 0& 1& 0& \cdots & 0\\ 0& \ddots & & 0& \ddots & & ⋮\\ ⋮& & \ddots & ⋮& & \ddots & 0\\ 0& \dots & 0& 0& \cdots & 0& 1\end{array}\right)$ (6)

The matrices ${A}_{0}$ and ${A}_{1}$ are defined such as ${A}_{0}+{A}_{1}=A$, ${A}_{0}\left(I,J\right)=A\left(I,J\right)$ if $I\in {\mathcal{N}}_{0}$, else ${A}_{0}\left(I,J\right)=0$. Similarly ${A}_{1}\left(I,J\right)=A\left(I,J\right)$ if $I\in {\mathcal{N}}_{1}$ else ${A}_{1}\left(I,J\right)=0$. Finally, the connectivities are changed using the permutation matrices ${P}_{0}$ and ${P}_{1}$ : ${P}_{0}$ is defined to switch row I with row J if $I\in {\mathcal{N}}_{0}$, $J\in {\mathcal{N}}_{1}$ and ${P}_{1}$ to switch row I with row J if $I\in {\mathcal{N}}_{1}$, $J\in {\mathcal{N}}_{0}$. Hence, the new problem matrix is now defined by:

${A}^{\prime }={I}_{1}^{\text{T}}\left({P}_{0}\left({A}_{0}{I}_{1}\right)+{P}_{1}\left({A}_{1}{I}_{1}\right)\right)+{I}_{2}^{\text{T}}C$ (7)

The new problem is ${A}^{\prime }{u}^{\prime }={b}^{\prime }$ with ${A}^{\prime }$ written with 4 blocks of various sizes: $\stackrel{˜}{A}\left(m,m\right)$, $B\left(m,n\right)$, ${C}_{1}\left(n,m\right)$, ${C}_{2}\left(n,n\right)$. The matrix $\stackrel{˜}{A}$ is thus the modification of the initial matrix A by setting to zero the coefficient ${\alpha }_{I,J}$ if $\chi \left({x}_{I}\right)\ne \chi \left({x}_{J}\right)$, and ${C}_{1}$ and ${C}_{2}$ are the two sub-matrices of the matrix C. The problem can be written as:

$\left(\begin{array}{cc}\stackrel{˜}{A}& B\\ {C}_{1}& {C}_{2}\end{array}\right)\left(\begin{array}{c}u\\ {u}^{*}\end{array}\right)=\left(\begin{array}{c}b\\ {b}^{*}\end{array}\right)$ (8)

The entire problem can then be solved to obtain ${u}^{\prime }={\left(u,{u}^{*}\right)}^{\text{T}}$. However, ${u}^{*}$ being the auxiliary solution is not required to be computed explicitly. Hence, the Schur complement method can be used to calculate the solution for the physical unknowns only. The final problem is now:

$\left(\stackrel{˜}{A}-B{C}_{2}^{-1}{C}_{1}\right)u=b-B{C}_{2}^{-1}{b}^{*}$ (9)

The opportunity of such a reduction will be discussed later.

2.3.2. AIIB Algorithm for a Scalar Equation with Dirichlet Boundary Conditions

For the sake of clarity, let us first describe in 2D the AIIB method for the model scalar problem ${\mathcal{P}}_{b}$ with a Dirichlet boundary condition on the interface $\Sigma$. For this version of the AIIB algorithm, ${\Omega }_{0}$ is the domain of interest and auxiliary unknowns are created in ${\Omega }_{1}$ only. Let us consider a point ${x}_{I},I\in {\mathcal{N}}_{1}$. At location ${x}_{I}$, two unknowns coexist: a physical one ${u}_{I}$ and an auxiliary one ${u}_{I}^{*}$. We first describe the case when ${x}_{I}$ has only one neighbor ${x}_{J}$ in ${\Omega }_{0}$. The Lagrangian point ${x}_{l}$ is the intersection between $\left[{x}_{I};{x}_{J}\right]$ and ${\Sigma }_{h}$ (Figure 3 right). Then, the solution ${u}_{l}={u}_{D}\left({x}_{l}\right)$ at the interface is approximated by the ${ℙ}_{1}^{1}$ interpolation between the Eulerian unknowns ${u}_{I}^{*}$ and ${u}_{J}$ :

${u}_{l}={\alpha }_{I}{u}_{I}^{*}+{\alpha }_{J}{u}_{J}\text{ }\text{\hspace{0.17em}}\text{with}\text{\hspace{0.17em}}\text{ }0<{\alpha }_{I},{\alpha }_{J}<1\text{ }\text{\hspace{0.17em}}\text{and}\text{\hspace{0.17em}}\text{ }{\alpha }_{I}+{\alpha }_{J}=1$ (10)

To our knowledge, it has been verified that for schemes close to the one presented here (including ghost-like schemes [19] and IBM-Direct Forcing schemes [10]) only a linear interpolation is required to reach a second order of accuracy as a Dirichlet BC is imposed here. It has been theoretically demonstrated in [37] that under the assumption of pointwise stability of the scheme the discretization at the boundary can be two orders less accurate than in the rest of the domain without reducing the global convergence order. It is important to notice this does not apply for immersed interface conditions [32].

If now ${x}_{I}$ has a second neighbor ${x}_{K}$ in ${\Omega }_{0}$, the intersection ${x}_{m}$ between $\left[{x}_{I};{x}_{K}\right]$ and ${\Sigma }_{h}$ is considered with ${u}_{m}={u}_{D}\left({x}_{m}\right)$. We choose ${x}_{p}$, a new point of ${\Sigma }_{h}$ between ${x}_{l}$ and ${x}_{m}$ (see Figure 3 left). The solution ${u}_{p}={u}_{D}\left({x}_{p}\right)$ is then imposed using a ${ℙ}_{1}^{2}$ -interpolation of the values ${u}_{I}^{*}$, ${u}_{J}$ and ${u}_{K}$ :

${u}_{p}={\alpha }_{I}{u}_{I}^{*}+{\alpha }_{J}{u}_{J}+{\alpha }_{K}{u}_{K},\text{\hspace{0.17em}}\text{ }0<{\alpha }_{I},{\alpha }_{J},{\alpha }_{K}<1\text{ },\text{\hspace{0.17em}}\text{ }{\alpha }_{I}+{\alpha }_{J}+{\alpha }_{K}=1$ (11)

A ${ℚ}_{1}^{2}$ interpolation of ${u}_{I}$, ${u}_{J}$, ${u}_{K}$ and ${u}_{L}$ can be also used by extending the interpolation stencil with the point ${x}_{L}$ which is the fourth point of the cell of the dual mesh defined by ${x}_{I}$, ${x}_{J}$ and ${x}_{K}$ (see Figure 3 left). As a third

(a) (b)

Figure 3. Example of selection of points for Dirichlet (a) and Neumann (b) constraints.

choice, two independent ${\mathbb{L}}_{1}^{2}$ linear 1D interpolations can be used (one for each direction) for an almost equivalent result. It produces:

$\left\{\begin{array}{l}{u}_{l}={\alpha }_{I}{u}_{I}^{*}+{\alpha }_{J}{u}_{J}\text{ }\text{\hspace{0.17em}}\text{with}\text{\hspace{0.17em}}\text{ }0<{\alpha }_{I},{\alpha }_{J}<1\text{ }\text{\hspace{0.17em}}\text{and}\text{\hspace{0.17em}}\text{ }{\alpha }_{I}+{\alpha }_{J}=1\\ {u}_{m}={{\alpha }^{\prime }}_{I}{u}_{I}^{*}{}^{\prime }+{\alpha }_{K}{u}_{K}\text{ }\text{\hspace{0.17em}}\text{with}\text{\hspace{0.17em}}\text{ }0<{{\alpha }^{\prime }}_{I},{\alpha }_{K}<1\text{ }\text{\hspace{0.17em}}\text{and}\text{\hspace{0.17em}}\text{ }{{\alpha }^{\prime }}_{I}+{\alpha }_{J}=1\end{array}$ (12)

In this case, two auxiliary unknowns are created.

A simple choice for ${x}_{p}$ is the barycenter between ${x}_{l}$ and ${x}_{m}$ where ${u}_{p}=\left({u}_{l}+{u}_{m}\right)/2$. A summation of the two constraints from (12) gives:

${\alpha }_{I}{u}_{I}^{*}+{\alpha }_{J}{u}_{J}+{\alpha }_{{I}^{\prime }}{u}_{I}^{*}+{\alpha }_{K}{u}_{K}={u}_{l}+{u}_{m}$ (13)

which is equivalent to build a constraint imposing ${u}_{p}$ at ${x}_{p}$ with a ${ℙ}_{1}^{2}$ interpolation:

$\begin{array}{l}\frac{\left({\alpha }_{I}+{{\alpha }^{\prime }}_{I}\right){u}_{I}^{*}+{\alpha }_{J}{u}_{J}+{\alpha }_{K}{u}_{K}}{2}={u}_{p},\\ \text{ }\text{\hspace{0.17em}}\text{with}\text{\hspace{0.17em}}\text{ }0<\frac{{\alpha }_{I}+{\alpha }_{{I}^{\prime }}}{2},\frac{{\alpha }_{J}}{2},\frac{{\alpha }_{K}}{2}<1,\text{\hspace{0.17em}}\text{ }\frac{{\alpha }_{I}+{\alpha }_{{I}^{\prime }}}{2}+\frac{{\alpha }_{J}}{2}+\frac{{\alpha }_{K}}{2}=1\end{array}$ (14)

Hence, an easy general implementation consists in summing the constraints corresponding to each direction, no matter the number of neighbors of ${x}_{I}$. If the elements ${\sigma }_{l}$ of ${\Sigma }_{h}$ used to define ${x}_{l}$ and ${x}_{m}$ are not the same, the barycenter ${x}_{p}$ of these two points is not necessarily on ${\Sigma }_{h}$, especially for interfaces of strong curvature. However, the distance $d\left({x}_{p},{\Sigma }_{h}\right)$ between ${x}_{p}$ and ${\Sigma }_{h}$ varies like $\mathcal{O}\left({h}^{2}\right)$ and so this additional error does not spoil the second-order precision of our discretization. The convergence of this additional error is numerically tested in Section (3.3.1). If the curvature of ${\Sigma }_{h}$ is small enough relatively to the Eulerian mesh, i.e. if the Eulerian mesh is sufficiently fine, ${x}_{I}$ almost never has a third or a fourth neighbor in ${\Omega }_{0}$. However, if this case appears, a simple constraint ${u}_{I}^{*}={u}_{B}$ is used with ${u}_{B}$ being an average of ${u}_{D}$ at the neighbor intersection points. In any case, by decreasing the Eulerian mesh step h, the number of points ${x}_{I}$ having more than two neighbors in ${\Omega }_{0}$ also decreases.

Concerning the C submatrix, it is filled with the coefficients $\alpha$. One line corresponds to the discretization of the boundary constraint related to one auxiliary node. Each value of the second member ${b}^{\prime }$ is the boundary value ${u}_{l}$ related on auxiliary point.

Hence, the present method is suitable to impose a Dirichlet boundary condition on $\Sigma$ for ${\Omega }_{0}$, when the solution in ${\Omega }_{1}$ is of no interest. The solution ${u}_{I}^{*}$ for $I\in {\mathcal{N}}_{1}$ is an extrapolation of the solution in ${\Omega }_{0}$ in order to satisfy the boundary condition on $\Sigma$ and thus is non-physical. Hence, the solution at the nodes of ${\Omega }_{1}$ far from the interface does not impact on the solution in ${\Omega }_{0}$ as the unknowns ${u}_{I}$ for $I\in {\mathcal{N}}_{1}$ have no more algebraic relations with the nodes ${u}_{I}$ for $I\in {\mathcal{N}}_{0}$. Nevertheless, if nothing specific is performed, a solution with no interest is computed by default in ${\Omega }_{1}$. A prescribed solution inside ${\Omega }_{1}$ can be obtained easily with a volume penalty method such as VPM [13] where initial equations are penalized to impose a desired analytical solution. However, a desired solution in ${\Omega }_{1}$ can also be obtained by modifying the solution obtained by solver. Then, the computational cost of the approach can be reduced by switching the solving of ${u}_{I},{x}_{I}\in {\Omega }_{1}$ off, or by totally removing these nodes in the solving matrix.

2.3.3. Symmetric Version for Dirichlet Interface Conditions

The next step is to allow for multiple Dirichlet boundary conditions on both sides of the immersed interface. Thin objects could be treated with this approach. The problem is now:

$\left\{\begin{array}{ll}-\nabla \cdot \left(a\nabla u\right)=f\hfill & \text{ }\text{in}\text{\hspace{0.17em}}\text{ }\Omega \hfill \\ {u}_{|\Sigma }^{-}={u}_{D}\hfill & \text{ }\text{on}\text{\hspace{0.17em}}\text{ }\Sigma \hfill \\ {u}_{|\Sigma }^{+}={u}_{G}\hfill & \text{ }\text{on}\text{\hspace{0.17em}}\text{ }\Sigma \hfill \end{array}$ (15)

The problem (15) requires for each point ${x}_{I}$ a physical unknown ${u}_{I}$ as well as an auxiliary unknown ${u}_{I}^{*}$ on both sides of the interface.

Practically, the algebraic modification part of the AIIB algorithm for a Dirichlet BC is applied a first time with ${\Omega }_{0}$ as domain of interest, and auxiliary unknowns are created near ${\Sigma }_{h}$ in ${\Omega }_{1}$. As a second step, the Heaviside function is modified as $\chi :=1-\chi$ and the algorithm is applied a second time. Now, ${\Omega }_{1}$ is the domain of interest and auxiliary unknowns are created near $\Sigma$ in ${\Omega }_{0}$.

Then, both problems are solved at the same time with the resolution of the linear system.

2.3.4. AIIB Algorithm for a Scalar Equation with Neumann Boundary Conditions

Let us now consider the following model scalar problem with a Neumann BC on the interface $\Sigma$ :

$\left\{\begin{array}{ll}-\nabla \cdot \left(a\nabla u\right)=f\hfill & \text{ }\text{in}\text{\hspace{0.17em}}\text{ }{\Omega }_{0}\hfill \\ \left(a\nabla u\right)\cdot n={g}_{N}\hfill & \text{ }\text{on}\text{\hspace{0.17em}}\text{ }\Sigma \hfill \end{array}$ (16)

The principle is about the same as for Dirichlet BC, and the same interpolations, once derived, can be used to approximate the quantity $\left(a\nabla u\right)\cdot n$. Hence, at any point ${x}_{l},l\in \mathcal{I}$ on ${\Sigma }_{h}$ we use

$\left(a\nabla {u}_{l}\right)\cdot n\approx \left(a\nabla p\left({x}_{l}\right)\cdot n\right).$ (17)

For $p\in {ℚ}_{1}^{2}$, we get $\nabla p\left(x,y\right)\cdot n=\left({p}_{3}y+{p}_{2}\right){n}_{x}+\left({p}_{3}x+{p}_{1}\right){n}_{y}$ whereas for $p\in {ℙ}_{1}^{2}$, $\nabla p\left(x,y\right)\cdot n={p}_{2}{n}_{x}+{p}_{1}{n}_{y}$ is obtained which means that the normal gradient is approximated by a constant over the whole support.

For example, in the configuration of Figure 3(a), with $p\in {ℙ}_{1}^{2}$, we have:

$\nabla p\left(x,y\right)\cdot n=\frac{{u}_{I}^{*}-{u}_{J}}{{h}_{x}}{n}_{x}+\frac{{u}_{K}-{u}_{I}^{*}}{{h}_{y}}{n}_{y}={u}_{I}^{*}\left(\frac{{n}_{x}}{{h}_{x}}-\frac{{n}_{y}}{{h}_{y}}\right)+{u}_{J}\frac{{n}_{x}}{{h}_{x}}+{u}_{K}\frac{{n}_{y}}{{h}_{y}}$ (18)

The diagonal coefficient of the row related to ${u}_{I}^{*}$ in ${C}_{2}$ is $\left(\frac{{n}_{x}}{{h}_{x}}-\frac{{n}_{y}}{{h}_{y}}\right)$. The case where $\frac{{n}_{x}}{{h}_{x}}\approx \frac{{n}_{y}}{{h}_{y}}$ leads to numerical instabilities. However, it can happens for this configuration case only if ${n}_{x}$ and ${n}_{y}$ have the same sign, which will not happen if the interface is sufficiently smooth. For a smooth enough interface, ${n}_{x}>0$ and ${n}_{y}<0$. A smoothed interface can be simply obtained using the normal vector of the segment $\left[{x}_{l},{x}_{m}\right]$ implies that the signs of ${n}_{x}$ and ${n}_{y}$ are always different so the diagonal coefficient is always dominant. The same property occurs for the other stencil configurations.

When ${x}_{I}$ has only one neighbor ${x}_{J}$ in ${\Omega }_{0}$, the ${ℚ}_{1}^{2}$ and ${ℙ}_{1}^{2}$ interpolations degenerate to ${\mathbb{L}}_{1}^{1}$ interpolations which suit for Dirichlet BC. For Neumann BC, this loss of dimension no longer allows the interface orientation to be accurately taken into account, as one of the components of the normal unit vector disappears from the interfacial constraint. Hence, a third point ${x}_{K}$ in ${\Omega }_{0}$ is caught to build ${ℙ}_{1}^{2}$ interpolations (see Figure 3 right). This point is a neighbor of ${x}_{J}$ and is taken as $\left[{x}_{I},{x}_{J}\right]\perp \left[{x}_{J},{x}_{K}\right]$. In 2D, two choices generally appear, and the point being so that the angle $\left(n,{x}_{K}-{x}_{J}\right)$ is in $\left[-\pi /2;\pi /2\right]$ is taken.

2.3.5. Algebraic Elimination Using the Schur Complement

The Schur complement method allows an algebraic reduction to be performed. For a Dirichlet or Neumann BC, each constraint is written in such a way that only one auxiliary unknown is needed:

${u}_{I}^{*}=\underset{J\in \mathcal{N}}{\sum }\text{ }\text{ }{\alpha }_{J}{u}_{J}+{u}_{S}$ (19)

where ${u}_{S}$ is the source term. In this case, the matrix ${C}_{2}$ in (8) is diagonal and thus the Schur complement $\left(\stackrel{˜}{A}-B{C}_{2}^{-1}{C}_{1}\right)$ is easy to calculate. Practically, when the algebraic reduction is made, $\stackrel{˜}{A}$ is built directly by the suitable modification of A without considering the extended matrix ${A}^{\prime }$. The part $-B{C}_{2}^{-1}{C}_{1}$ is then added to $\stackrel{˜}{A}$ whereas $-B{C}_{2}^{-1}{b}^{*}$ is added to b. As it will be subsequently demonstrated, the algebraic reduction decreases the computational cost of the solver by 10% - 20%.

If only ${\mathbb{L}}_{1}^{1}$ interpolations are used with the algebraic elimination, the matrix obtained with this method is similar to the one obtained in [18] for a Dirichlet problem. However, in this last paper, the auxiliary unknowns are taken into account before the discretization of the operator which requires additional calculations for each discretization scheme.

If ${ℙ}_{1}^{2}$ interpolations are used, the computed solution in ${\Omega }_{0}$ are very similar (within machine error if the solver perfectly converges) to those that can be obtained with the SMP [16] method (when the penalty parameter is sufficiently small) and the DF-IB method [10]. These methods discretize equivalent boundary constraints, but the way the constraint is applied to the initial discretization of the equation for the nodes ${x}_{I},I\in {\mathcal{N}}_{1}$ differs. The SMP method uses a penalty term and the DF-IB method uses terms of opposite signs to erase some part of the initial equation. The discretization matrix obtained with both methods is not equivalent to the one obtained with the AIIB method, with or without algebraic reduction. With algebraic reduction, the discretization for the nodes ${x}_{I},I\in {\mathcal{N}}_{0}$ is modified, and without algebraic reduction, both auxiliary and physical unknowns coexist at ${x}_{I},I\in {\mathcal{N}}_{1}$. The accuracy of these methods will be discussed in the next section.

The present algorithm seems simpler, as the standard discretization of the operators is automatically modified in an algebraic manner. So, various discretization schemes of the spatial operators can be used. However, the discretization of an operator at ${x}_{I}\in {\Omega }_{0}$ can only use in ${\Omega }_{1}$ the fictitious unknowns and not the physical ones. Hence, the only limitation concerns the stencil of these operators which have to be limited, if centered, to three points by direction.

2.4. The AIIB for Immersed Interface Problems with Jump Conditions

With the symmetric method described in (2.3.3), the problem can be solved on both sides of the interface when explicit Dirichlet BC are imposed. For many problems, the solution is not a priori known on the interface and some jump transmission conditions on the interface $\Sigma$ are required. Let us now consider the problem:

$\left({\mathcal{P}}_{i}\right)\text{ }\left\{\begin{array}{ll}-\nabla \cdot \left(a\nabla u\right)=f\hfill & \text{in}\text{\hspace{0.17em}}\text{ }\Omega \hfill \\ +\text{Interface}\text{\hspace{0.17em}}\text{conditions}\text{ }\hfill & \text{on}\text{\hspace{0.17em}}\text{ }\Sigma \hfill \end{array}$

where the interface conditions are:

$〚{u}_{\Sigma }〛=\phi \text{ }\text{\hspace{0.17em}}\text{ }\text{on}\text{\hspace{0.17em}}\text{ }\Sigma$ (20)

${〚\left(a\nabla u\right)\cdot n〛}_{\Sigma }=\psi \text{ }\text{ }\text{\hspace{0.17em}}\text{on}\text{\hspace{0.17em}}\text{ }\Sigma$ (21)

The notation ${〚\text{ }〛}_{\Sigma }$ denotes the jump of a quantity over the interface $\Sigma$. In the symmetric version of the AIIB method, a given intersection point ${x}_{l},l\in \mathcal{I}$, is associated with two auxiliary unknowns, one on each side of the interface. Hence, the interface constraints (20) and (21) of $\left({\mathcal{P}}_{i}\right)$ can be imposed at each intersection point ${x}_{l}$ by using the two auxiliary unknowns. For example, the row I of the matrix ${A}^{\prime }$ with ${u}_{I}^{*},I\in {\mathcal{N}}_{0}$, can be used to impose the constraint (20) and the line J of the matrix with ${u}_{J}^{*},J\in {\mathcal{N}}_{1}$, is then used to impose the constraint (21).

2.4.1. The Solution Constraint

The symmetrized AIIB methods for Dirichlet BC reads:

$\left\{\begin{array}{l}{u}_{\Sigma }^{+}={\alpha }_{1}{u}_{I}+{\alpha }_{2}{u}_{J}^{*}\\ {u}_{\Sigma }^{-}={\alpha }_{1}{u}_{I}^{*}+{\alpha }_{2}{u}_{J}\end{array}$ (22)

when ${\mathbb{L}}_{1}^{1}$ interpolations are used. With ${u}_{\Sigma }={u}_{\Sigma }^{+}-{u}_{\Sigma }^{-}=\phi$, we obtain:

${\alpha }_{1}{u}_{I}+{\alpha }_{2}{u}_{J}^{*}-{\alpha }_{1}{u}_{I}^{*}-{\alpha }_{2}{u}_{J}=\phi$ (23)

which is the first constraint to be imposed.

2.4.2. The Flux Constraint

Following the same idea and using ${ℙ}_{1}^{2}$ interpolations,

$\left\{\begin{array}{l}\left(a\cdot \nabla {u}_{\Sigma }^{+}\right)\cdot n={a}^{+}\left(\frac{{u}_{I}-{u}_{J}^{*}}{{h}_{x}}{n}_{x}+\frac{{u}_{K}^{*}-{u}_{I}}{{h}_{y}}{n}_{y}\right)\\ \left(a\cdot \nabla {u}_{\Sigma }^{-}\right)\cdot n={a}^{-}\left(\frac{{u}_{I}^{*}-{u}_{J}}{{h}_{x}}{n}_{x}+\frac{{u}_{K}-{u}_{I}^{*}}{{h}_{y}}{n}_{y}\right)\end{array}$ (24)

for the case presented in Figure 3 left. The normal is pointing from the + to the − sides. Using (21), we obtain:

${a}^{+}\left(\frac{{u}_{I}-{u}_{J}^{*}}{{h}_{x}}{n}_{x}+\frac{{u}_{K}^{*}-{u}_{I}}{{h}_{y}}{n}_{y}\right)-{a}^{-}\left(\frac{{u}_{I}^{*}-{u}_{J}}{{h}_{x}}{n}_{x}-\frac{{u}_{K}-{u}_{I}^{*}}{{h}_{y}}{n}_{y}\right)=\psi$ (25)

which is the second constraint to be imposed. With such an interpolation, the solution gradient is constant over the whole stencil. As demonstrated later, the second-order accuracy can be reached on Cartesian grids when $\psi =0$.

Three auxiliary unknowns are thus involved in the discretizations (23) and (25). The auxiliary unknown ${u}_{K}^{*}$ is also involved in the discretization of (20) and (21) at another intersection point on ${\Sigma }_{h}$. Hence, the whole system ${A}^{\prime }{u}^{\prime }={b}^{\prime }$ is closed.

One can notice that in [32], the same kind of augmented system is considered. Contrary to the AIIB method, no auxiliary nodes are used and the spatial discretization at the grid points at the vicinity of the interface has to be modified “by-hand”.

2.4.3. Algebraic Reduction

Since we need more than one auxiliary unknown to discretize each constraint, the matrix ${C}_{2}$ is not diagonal and a solver has to be used to compute ${C}_{2}^{-1}$. This matrix is not diagonally dominant. For instance, if the discretized solution constraint (23) is inserted in ${C}_{2}$ for the row related to ${u}_{I}^{*}$, column ${I}_{*}$ has a coefficient ${\alpha }_{1}$ while the coefficient of the column ${J}^{*}$ has a coefficient ${\alpha }_{2}$. In many situations, ${\alpha }_{2}$ is greater that ${\alpha }_{1}$, and the situation can be critical if ${\alpha }_{2}\gg {\alpha }_{1}$. The equivalent behaviour can happen with the discretized flux constraint (25). This point is discussed later in Section 3.4.

For the matched interface and boundary (MIB) method, Zhou et al. [29] use a different discretization of the interface conditions which allows an easy algebraic reduction which is directly performed row by row.

The algebraic reduction for the immersed interface problems has not been yet implemented. However, the standard discretization of the AIIB method requires a more compact stencil than for the MIB method and then the need for a reduction seems to be less critical. More generally, as auxiliary points are in the vicinity of a surface immersed in a volume, their count is one order below the total count of grid points. It suggests that the number of unknowns added to the initial matrix is low compared to the total number of unknowns.

3. Numerical Results for Scalar Problems

Elliptic equations are discretized using the standard second-order centered Laplacian. For all problems, similar results have been obtained with a PARDISO direct solver [38], and an iterative BiCGSTAB solver [39], preconditioned under a ILUK method [40]. Unless otherwise mentioned, a numerical domain $\left[-1;1\right]×\left[-1;1\right]$ is used for every simulation. Two discrete errors are used.

The discrete relative ${L}^{2}$ error in a domain $\Omega$ is defined as:

${‖u‖}_{{L}_{rel}^{2}\left(\Omega \right)}=\frac{{‖u-\stackrel{˜}{u}‖}_{{L}^{2}\left(\Omega \right)}}{{‖\stackrel{˜}{u}‖}_{{L}^{2}\left(\Omega \right)}}$ (26)

$={\left(\frac{\underset{{x}_{I}\in \Omega }{\sum }meas\left({\mathcal{V}}_{I}\right){|{u}_{I}-\stackrel{˜}{u}\left({x}_{I}\right)|}^{2}}{\underset{{x}_{I}\in \Omega }{\sum }meas\left({\mathcal{V}}_{I}\right){|\stackrel{˜}{u}\left({x}_{I}\right)|}^{2}}\right)}^{\frac{1}{2}}$ (27)

with $\stackrel{˜}{u}$ the analytical solution.

The discrete ${L}^{\infty }$ error is defined as:

${‖u‖}_{{L}^{\infty }\left(\Omega \right)}={\mathrm{max}}_{{x}_{I}\in \Omega }|{u}_{I}-\stackrel{˜}{u}\left({x}_{I}\right)|$ (28)

without AIIB method, the present code only reach a first-order spatial error convergence rate for cases with irregular interfaces. With the AIIB method, the code is expected to reach a second-order convergence rate as linear interpolations are used to approximate the solution at the vicinity of the interface.

Only ${\Omega }_{0}$ is taken into account for the immersed boundary problems. For all cases, $\Sigma$ is the boundary of ${\Omega }_{1}$ as illustrated in Figure 1. If not explicitly written, $\phi$ and $\psi$ have a default value of 0. For all cases, the analytical solution is imposed for the cells at the boundary of the numerical domain.

3.1. Immersed Boundary Problems

3.1.1. Problem 1

The homogenous 2D Laplace equation is solved. The interface $\Sigma$ is a centered circle of radius ${R}_{1}=0.5$ with a Dirichlet condition of ${U}_{1}=10$. An analytical solution accounts for the presence of a second circle with a radius ${R}_{2}=2$ and ${U}_{2}=0$ is imposed on the boundary conditions. The analytical solution is:

$u\left(r\right)=\left({U}_{2}-{U}_{1}\right)\frac{1-\mathrm{ln}\left({R}_{1}\right)}{\mathrm{ln}\left({R}_{2}\right)-\mathrm{ln}\left({R}_{1}\right)}\mathrm{ln}\left(r\right)+{U}_{1}$ (29)

Accuracy tests are performed with ${\mathbb{L}}_{1}^{1}$, ${ℙ}_{1}^{2}$ and ${ℚ}_{1}^{2}$ interpolations. Figure 4 shows the solution and the error map for a 32 × 32 mesh with ${ℙ}_{1}^{2}$ interpolations. The same results are always obtained with and without algebraic reduction. Figure 5 shows the convergence of the error for the ${L}^{2}$ and ${L}^{\infty }$ norms. For all interpolations, the convergence slopes are approximately 2 for the relative ${L}^{2}$ error. For the ${L}^{\infty }$ error, the slopes are about 1.8. The ${ℙ}_{1}^{2}$ interpolation is the more accurate, followed by the ${\mathbb{L}}_{1}^{1}$ interpolation although it uses more auxiliary points (but a smaller stencil). However, the differences of accuracy between the different interpolations remain small. The performances of the ILUK-BiCG-Stab

Figure 4. Solution and error map for problem 1 on a 32 × 32 grid.

Figure 5. Curves of errors for Section 3.1.1.

solver are now benchmarked for the three interpolations with and without algebraic reduction and for the SMP method. Table 1 shows the computational times of the matrix inversions (average time in seconds for 25 matrix inversions) and Table 2 shows the time ratio between the standard and the reduced matrix. Except for the ${ℚ}_{1}^{2}$ interpolation on the 1024 × 1024 mesh, the differences between the two methods seem to decrease with the size of the matrix. In fact, as interfaces are $d-1$ manifolds, the number of intersection points does not increase as fast as the Eulerian points. Hence, the ratio between the size of a reduced and a complete matrix tends to 1. The computational time for the SMP method is quite similar to the one obtained with the AIIB method and algebraic reduction. Figure 6 shows the convergence of the ILUK-BiCG-Stab solver for

Table 1. Computational times in seconds for problem 1. Tests are performed with three different interpolations with (red) and without (std) algebraic reduction, and compared to the SMP method.

Figure 6. Residual against iterations of ILUK solver for problem 1 with a 256 × 256 mesh.

the seven interpolations with a 256 × 256 mesh. The same behavior has been observed for other grid resolutions. The type of interpolation does not significantly impact on solver performances. As expected, the number of solver iterations has to be increased to reach a given residual when the number of computational nodes is also increased.

As a conclusion on the interpolation type, ${\mathbb{L}}_{1}^{1}$ interpolation seems to be the most desirable as it is generally slightly easier to implement, and requires less memory than a ${ℚ}_{1}^{1}$ interpolation. To explain that, one can suppose that the boundary constraint forces the points of the stencil to follow a polynomial solution. As the real solution is not polynomial, adding points to the stencil increases the zone where the analytical solution is more difficult to match. For the next problems, ${ℙ}_{1}^{1}$ will be used for constraints on the solution.

3.1.2. Problem 2

The 3D equation $\Delta T=6$ is solved. The solution is $T\left(r\right)={r}^{2}$. The solution is imposed on an immersed centered sphere of radius 0.2. Results of the numerical accuracy test with the spherical inner boundary are presented in Figure 7. The average slope for the ${L}^{2}$ norm is 2.33 and increases for the denser meshes. Even if the method has a convergence order similar to the order of the polynomial solution, computer error accuracy cannot be expected because the immersed boundary ${\Sigma }_{h}$ is an approximation of the initial interface $\Sigma$. The analytical solution

Table 2. Ratio of computational times for reduced and standard matrices for Section 3.1.1.

Figure 7. Curves of errors for problem 2.

(the value at the boundary) is imposed on the boundary, but the boundary location is approximated so an error which has the order of the discretization error of the interface is introduced.

3.1.3. Problem 3

The 3D equation $\Delta T=12{r}^{2}$ is solved. The solution is $T\left(r\right)={x}^{4}+{y}^{4}+{z}^{4}$. Results with and without an immersed interface (a circle of radius $r=1$ ) with the analytical solution imposed on it. The results are presented in Figure 8. For the ${L}^{\infty }$ norm, the second order is regularly obtained. For the ${L}^{2}$ norm, the convergence order tends to a second order with the size of the mesh. As can be noticed by comparing results with and without the AIIB method, this last one does not spoil the convergence order of the code, and the presence of the immersed interface with an analytical solution imposed on ${\Sigma }_{h}$ improves the accuracy. For both cases, the numerical solution tends to a second order in space.

3.1.4. Problem 4

The 2D equation $\Delta T=4$ is solved. The analytical solution is imposed on the boundaries of the domain and a Neuman BC is imposed on a centered circle of radius $R=0.5$. As can be seen in Figure 9, the global convergence has an average slope of 1.10 and can be explained by the simplicity of the discretization of the Neumann BC.

Figure 8. Curves of errors for problem 3.

Figure 9. Curves of errors for problem 4.

3.2. Immersed Interface Problems

3.2.1. Problem 5

The 2D problem ${\mathcal{P}}_{i}$ with $f=-4$ and $a=1$ is solved. As the equation remains the same in both domains, this problem can be solved without immersed interface method. The analytical solution is $u={r}^{2}$. As can be expected with our second-order code, computer error is reached for all meshes with or without AIIB method. The difference with problem 2, where the solution is a second-order polynomial too, is that instead of imposing the solution on an approximated shape, we impose a solution jump. If the numerical nodes stay in the correct side of the interface (where they should be if the interface were not approximated), the location of the jump does not influence the numerical solution.

In Figure 10 the same result is obtained with a solution jump $\phi =-1$ on a circular interface such as $u={r}^{2}$ for $r>0.5$ ( ${\Omega }_{1}$ ) and $u={r}^{2}+1$ otherwise ( ${\Omega }_{0}$ ).

An equivalent quality of result is obtained (see Figure 11) with $\Sigma$ such as:

Figure 10. The solution and the error for problem 5 with a 32 × 32 mesh.

Figure 11. The solution and the error for problem 5 with a 64 × 64 mesh.

$\left\{\begin{array}{l}x\left(\alpha \right)=\left(0.5+0.2\mathrm{sin}\left(5\alpha \right)\right)\mathrm{cos}\left(\alpha \right)\\ y\left(\alpha \right)=\left(0.5+0.2\mathrm{sin}\left(5\alpha \right)\right)\mathrm{sin}\left(\alpha \right)\end{array}$ (30)

with $\alpha \in \left[0,2\pi \right]$. The small stencil of the method allows interfaces with relatively strong curvatures to be used.

3.2.2. Problem 6

For this case, $\left({\mathcal{P}}_{i}\right)$ is now considered with a discontinuous coefficient a such as $a=10$ in ${\Omega }_{0}$ and $a=1$ in ${\Omega }_{1}$, involving the following analytical solution:

$u\left(r\right)=\left\{\begin{array}{l}{r}^{2}\text{ }\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{in}\text{\hspace{0.17em}}\text{ }{\Omega }_{0}\\ \frac{{r}^{2}}{10}+\frac{0.9}{4}\text{ }\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{in}\text{\hspace{0.17em}}\text{ }{\Omega }_{1}\end{array}$ (31)

Accuracy tests are first performed with the interface almost passing by some grid points (the mesh is referred as centered). The interface does not strictly lies on these points, as the shape is shifted by a value of 10−10. This configuration is difficult as the interpolations degenerates. Accuracy tests are then performed with a numerical domain of size 1.0001 (called shifted mesh as the center of $\Sigma$ does not match the center of the numerical domain). In this configuration, the interface never passes by a grid point. The numerical errors on the solution are presented in Figure 12. For the centered mesh, the slope is 1.86 for the ${L}^{2}$ and ${L}^{\infty }$ errors. For the even series, where no geometrical singularity is present, the slope for both errors is 2.04.

Figure 13 shows the solution and the ${L}^{2}$ relative error for a 32 × 32 mesh. As the analytical solution is imposed on the numerical boundary, the error is principally located in the interior subdomain.

3.2.3. Problem 7

The homogenous 2D Laplace equation is considered with the following analytical solution:

$u\left(x,y\right)=\left\{\begin{array}{l}0\text{ }\text{ }\text{ }\text{\hspace{0.17em}}\text{in}\text{\hspace{0.17em}}\text{ }{\Omega }_{0}\\ {\text{e}}^{x}cos\left(y\right)\text{ }\text{\hspace{0.17em}}\text{ }\text{in}\text{\hspace{0.17em}}\text{ }{\Omega }_{1}\end{array}$ (32)

Figure 12. Curves of errors for the centered and shifted meshes for problem 6.

Figure 13. The solution and the error for problem 6 with a 33 × 33 mesh.

where ${\Omega }_{0}$ and ${\Omega }_{1}$ are delimited by $\Sigma$ a centered circle of radius 0.5. The jumps coefficients are $\phi =-{\text{e}}^{x}cos\left(y\right)$, $\psi ={\text{e}}^{x}cos\left(y\right){n}_{x}-{\text{e}}^{x}sin\left(y\right){n}_{y}$ and $a=1$.

Figure 14 shows that the convergence for both ${L}^{2}$ and ${L}^{\infty }$ error are of first order only. Figure 15 shows the numerical solution (which is not so different from the analytical solution) and the error map for a 32 × 32 mesh.

Hence, the drawback of the compacity of the discretization is a first-order convergence in space only for cases with flux jump. As for the Neumann BC, the simplicity of the discretization of the flux condition seems to be the cause of this low order. Contrary to the discretization of the solution jump, the precise position of the interface is not present which induces a first order of convergence. Generally, other approaches [20] [29] [32] use the precise position of the interface (at the expanse of a larger stencil) and can reach higher orders with all flux conditions.

3.3. Shape Management

3.3.1. Convergence

We measure the sensibility of the method with the accuracy of the discretization of the immersed interface. Problem 1 is solved on 32 × 32 and 128 × 128 meshes. Figure 16 shows the accuracy of the solution with respect to the number of points used to discretize the interface which is here a circle. The reference solutions (Figure 5) have been computed with an analytical circle. As can be seen, a second order in space is globally obtained. The numerical solutions of reference for the 32 × 32 and 128 × 128 meshes are different but the sensitivity of the error to the number of points in the Lagrangian mesh is almost the same.

3.3.2. The Stanford Bunny

This last case demonstrates how a method with a second-order convergence rate

Figure 14. Convergence of the ${L}^{2}$ relative error and the ${L}^{\infty }$ error for problem 7.

Figure 15. The solution and the ${L}^{2}$ relative error for problem 7 with a 32 × 32 mesh.

on spatial accuracy enhances the representation of the boundary condition compared to a first-order method such as the VPM which imposes a prescribed solution at the center of the control volume as shown in Equation (1).

The homogenous Laplace problem with a Dirichlet BC ${T}_{\Sigma }=10$ is solved on a $60×60×50$ mesh bounding an obstacle of complex shape (the Stanford bunny). The extension of the solution in ${\Omega }_{1}$ is used for the post treatment. Thus, all ${u}_{J},J\in {\mathcal{N}}_{1}$, are replaced by ${u}_{J}^{*}$. Then, the iso-surface $T={T}_{\Sigma }$ gives an idea of the approximation of the boundary condition. Figure 17 shows the iso-surface for a first order method. As can be seen, the shape of the obstacle endures a

Figure 16. Convergence of the error with respect to the number of elements forming the Lagrangian shape for problem 1.

Figure 17. Iso-surface $T=10$ for the Stanford bunny with a first order method.

rasterization effect as the solution is imposed in the entire control volumes. Figure 18 shows the iso-surface for the second order AIIB method. The improvement brought by this approach is straightforward. The graphic processing has been applied to both methods. Figure 19 shows a slice of the solution passing through the bunny. As can be seen, overshoots are present inside the shape which corresponds to the auxiliary values allowing the correct solution at the Lagrangian interface points to be obtained.

3.4. Some Remarks about the Solvers

The kind of interpolation function used and the position of the interface have an impact on the final discretization matrix ${A}^{\prime }$, especially on its conditioning. Let us consider an intersection ${x}_{l}$ of ${\Sigma }_{h}$ between two points ${x}_{J},J\in {\mathcal{N}}_{0}$ and ${x}_{I},I\in {\mathcal{N}}_{1}$. A Dirichlet BC ${u}_{l}$ is imposed on it. The constraint constructed with a ${\mathbb{L}}_{1}^{1}$ interpolation is $\left(1-\alpha \right){u}_{J}+\alpha {u}_{I}^{*}$, with $\alpha =\frac{{x}_{l}-{x}_{J}}{{x}_{I}-{x}_{J}}$. Hence, $\frac{\alpha }{1-\alpha }$ tends to 0 when ${x}_{l}$ tends to ${x}_{J}$. As the matrix loses its diagonal dominance, solver

Figure 18. Iso-surface $T=10$ for the Stanford bunny with a second order method.

Figure 19. Iso-surface $T=10$ and a slice of the solution.

problems can be encountered. Tseng et al. [10] proposed changing the interpolation by using a new node which is the image of ${x}_{I}$ through the interface. In [18] [19], authors pointed out this problem and suggest to slightly move the interface to a neighboring point (in our case ${x}_{J}$ ) if ${x}_{I}$ is too close to ${\Sigma }_{h}$.

In our approach, a simple solution is to shift the interface such as the interface matches ${x}_{I}$. The loss of accuracy depends on the threshold of distance between ${x}_{I}$ and ${\Sigma }_{h}$ under which the solver is unstable. In our case, test 3.2.2 suggests that a threshold below the error of the discretization of $\Sigma$ into the piecewise linear interface ${\Sigma }_{h}$ can be taken.

In the case of interface shift, for the Dirichlet BC, an unknown ${u}_{J}^{*}$ is created, and the equation at ${x}_{J}$ is simply ${u}_{J}^{*}={u}_{l}$. For the Neumann BC, the standard interpolation is written at ${x}_{J}$ with ${u}_{J}^{*}$ and its neighbor unknowns in ${\Omega }_{0}$.

For the transmission conditions (20)-(21), if $\varphi =0$ and $\psi =0$, no auxiliary unknown is created and the standard finite-volume centered discretization is used. However, for this case, or for $\varphi \ne 0$ and $\psi \ne 0$, our implementation using ILUK preconditioner or a PARDISO direct solver does not necessarily require such methods, even if $\frac{\alpha }{1-\alpha }\approx {10}^{-10}$. Correct solutions are always obtained.

4. Discussion and Conclusions

A new immersed interface method, the algebraic immersed interface and boundary (AIIB) method, which uses algebraic manipulations and compact stencil discretizations, has been presented. This method is able to treat elliptic equations with discontinuous coefficients and solution jumps over complex interfaces.

For the immersed boundary problems with a Dirichlet BC, the method has shown a second order of convergence in space for various kinds of interpolations. An algebraic reduction has been applied to accelerate the convergence of the solver. For the Neumann BC, a first order has been obtained. For the immersed interfaces, a second order of convergence in space is obtained when the jump of the normal flux is zero, even if the equation has discontinuous coefficients. For a non-zero flux jump, the method reaches a first order.

The main advantage of the method is its simplicity and its ease of implementation. First, the method does not require to modify the original discretization of the equation and works only at the level of the discretization matrix. Second, the method has a compact stencil and interfaces with high curvature can be treated with no particular attention.

Future work could be devoted to increase the accuracy of the method when the jump of the normal flux is not zero. It is the main drawback of the method compared to the IIM, MIB method or [32]. A challenge will be to keep a compact stencil. A study of the matrix conditioning would be important too as a strong solver is required for the present method. Another interesting point would be to couple the method with alternative interface conditions such as the Jump Embedded Boundary Conditions proposed in [41] which are:

${〚\left(a\cdot \nabla u\right)\cdot n〛}_{\Sigma }=\alpha {\stackrel{¯}{u}}_{|\Sigma }-h\text{ }\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{on}\text{\hspace{0.17em}}\text{ }\Sigma$ (33)

${\stackrel{¯}{\left(a\cdot \nabla u\right)\cdot n}}_{\Sigma }=\beta u-g\text{ }\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{on}\text{\hspace{0.17em}}\text{ }\Sigma$ (34)

where ${\stackrel{¯}{u}}_{\Sigma }=\left({u}^{+}+{u}^{-}\right)/2$ denotes the arithmetic mean of the traces of a quantity on both sides of the interface; $\alpha$, $\beta$, h and g are scalar values which can be chosen in order to obtain Dirichlet, Neumann, Fourier transmission conditions on the interface.

As the method acts on an algebraic level, it can be extended to other implicit approaches where the solution is obtained through the resolution of a linear system. It would be interesting to apply this method to finite element approaches. The interface conditions currently written for finite volumes could be discretized in a finite element manner.

At last, a long-term goal is to extend the method to the Navier-Stokes equations with immersed interfaces. To perform fluid/structure coupling, the implicit tensorial penalty method [42] [43] can be considered. With this approach, the solid medium is treated as a fluid with a high viscosity. At the fluid/solid interface, average physical quantities are imposed. Such strategy is generally less accurate than methods using polynomial interpolations so a coupling with the AIIB method is desirable.

Acknowledgements

The authors greatly thank the reviewers for their accurate and pertinent questions and remarks that helped to improve this article. The authors also thank Lisl Weynans for the helpful discussions.

Definition of the Parameters

Cite this paper: Sarthou, A. , Vincent, S. , Angot, P. and Caltagirone, J. (2020) The Algebraic Immersed Interface and Boundary Method for Elliptic Equations with Jump Conditions. Open Journal of Fluid Dynamics, 10, 239-269. doi: 10.4236/ojfd.2020.103015.
References

[1]   Glowinski, R., Pan, T.W., Hesla, T.I. and Joseph, D.D. (1999) A Distributed Lagrange Multiplier/Fictitious Domain Method for Particulate Flows. International Journal of Multiphase Flow, 25, 755-794.
https://doi.org/10.1016/S0301-9322(98)00048-2

[2]   Johansen, H. and Colella, P. (1998) A Cartesian Grid Embedded Boundary Method for Poisson’s Equation on Irregular Domains. Journal of Computational Physics, 147, 60-85.
https://doi.org/10.1006/jcph.1998.5965

[3]   McCorquodale, P., Colella, P. and Johansen, H. (2001) A Cartesian Grid Embedded Boundary Method for the Heat Equation on Irregular Domains. Journal of Computational Physics, 173, 620-635.
https://doi.org/10.1006/jcph.2001.6900

[4]   Ye, T., Mittal, R., Udaykumar, H.S. and Shyy, W. (1999) An Accurate Cartesian Grid Method for Viscous Incompressible Flows with Complex Immersed Boundaries. Journal of Computational Physics, 156, 209-240.
https://doi.org/10.1006/jcph.1999.6356

[5]   Peskin, C.S. (1972) Flow Patterns around Heart Valves: A Numerical Method. Journal of Computational Physics, 10, 252-271.
https://doi.org/10.1016/0021-9991(72)90065-4

[6]   Peskin, C.S. (2002) The Immersed Boundary Method. Acta Numerica, 11, 479-517.
https://doi.org/10.1017/S0962492902000077

[7]   Mohd-Yusof, J. (1997) Combined Immersed Boundary/B-Spline Methods for Simulations of Flows in Complex Geometries. Technical Report, NASA ARS/Stanford University CTR, Stanford.

[8]   Fadlun, E.A., Verzicco, R., Orlandi, P. and Mohd-Yusof, J. (2000) Combined Immersed-Boundary Finite-Difference Methods for Three-Dimensional Complex Flow Simulations. Journal of Computational Physics, 161, 35-60.
https://doi.org/10.1006/jcph.2000.6484

[9]   Verzicco, R., Iaccarino, G., Fatica, M. and Orlandi, P. (2001) Flow in an Impeller-Stirred Tank Using an Immersed Boundary Method. AIChE Journal, 50, 1109-1118.

[10]   Tseng, Y.-H. and Ferziger, J.H. (2003) A Ghost-Cell Immersed Boundary Method for Flow in Complex Geometry. Journal of Computational Physics, 192, 593-623.
https://doi.org/10.1016/j.jcp.2003.07.024

[11]   Sarthou, A., Vincent, S., Caltagirone, J.-P. and Angot, P. (2008) Eulerian-Lagrangian Grid Coupling and Penalty Methods for the Simulation of Multiphase Flows Interacting with Complex Objects. International Journal for Numerical Methods in Fluids, 56, 1093-1099.
https://doi.org/10.1002/fld.1661

[12]   Angot, P., Bruneau, C.-H. and Fabrie, P. (1999) A Penalization Method to Take into Account Obstacles in Incompressible Viscous Flows. Numerische Mathematik, 81, 497-520. https://doi.org/10.1007/s002110050401

[13]   Khadra, K., Angot, P., Parneix, S. and Caltagirone, J.-P. (2000) Fictitious Domain Approach for Numerical Modelling of Navier-Stokes Equations. International Journal for Numerical Methods in Fluids, 34, 651-684.
https://doi.org/10.1002/1097-0363(20001230)34:8%3C651::AID-FLD61%3E3.0.CO;2-D

[14]   Lacanette, D., Vincent, S., Sarthou, A., Malaurent, P. and Caltagirone, J.P. (2009) An Eulerian/Lagrangian Method for the Numerical Simulation of Incompressible Convection Flows Interacting with Complex Obstacles: Application to the Natural Convection in the Lascaux Cave. International Journal of Heat and Mass Transfer, 52, 2528-2542.
https://doi.org/10.1016/j.ijheatmasstransfer.2008.12.028

[15]   Ramière, I., Angot, P. and Belliard, M. (2007) A General Fictitious Domain Method with Immersed Jumps and Multilevel Nested Structured Meshes. Journal of Computational Physics, 225, 1347-1387.
https://doi.org/10.1016/j.jcp.2007.01.026

[16]   Sarthou, A., Vincent, S., Angot, P. and Caltagirone, J.-P. (2008) Finite Volumes for Complex Applications V, Chapter the Sub-Mesh-Penalty Method. Wiley, Hoboken, 633-640.

[17]   Sarthou, A., Vincent, S. and Caltagirone, J.-P. (2020) Consistent Velocity-Pressure Coupling for Direct-Forcing and Penalty Methods. Fluids, 5, 92.

[18]   Gibou, F., Fedkiw, R.P., Cheng, L.-T. and Kang, M. (2002) A Second-Order-Accurate Symmetric Discretization of the Poisson Equation on Irregular Domains. Journal of Computational Physics, 176, 205-227.
https://doi.org/10.1006/jcph.2001.6977

[19]   Gibou, F. and Fedkiw, R. (2005) A Fourth Order Accurate Discretization for the Laplace and Heat Equations on Arbitrary Domains, with Applications to the Stefan Problem. Journal of Computational Physics, 202, 577-601.
https://doi.org/10.1016/j.jcp.2004.07.018

[20]   Leveque, R.J. and Li, Z. (1994) The Immersed Interface Method for Elliptic Equations with Discontinuous Coefficients and Singular Sources. SIAM Journal of Numerical Analysis, 31, 1001-1025.
https://doi.org/10.1137/0731054

[21]   Li, Z.L. and Ito, K. (2006) The Immersed Interface Method. Numerical Solutions of PDEs Involving Interfaces and Irregular Domains. SIAM, Philadelphia.
https://doi.org/10.1137/1.9780898717464

[22]   Hou, T.Y., Li, Z.L., Osher, S. and Zhao, H. (1997) A Hybrid Method for Moving Interface Problems with Application to the Hele-Shaw Flow. Journal of Computational Physics, 134, 236-252.
https://doi.org/10.1006/jcph.1997.5689

[23]   Lai, M.-C. and Tseng, H-.C. (2008) A Simple Implementation of the Immersed Interface Methods for Stokes Flows with Singular Forces. Computers and Fluids, 37, 99-106.
https://doi.org/10.1016/j.compfluid.2007.04.003

[24]   Li, Z. (1998) A Fast Iterative Algorithmfor Elliptic Interfaces Problems. SIAM Journal of Numerical Analysis, 35, 230-254.
https://doi.org/10.1137/S0036142995291329

[25]   Li, Z.L., Ito, K. and Lai, M.-C. (2007) An Augmented Approach for Stokes Equations with a Discontinuous Viscosity and Singular Forces. Computers & Fluids, 36, 622-635.
https://doi.org/10.1016/j.compfluid.2006.03.003

[26]   Ito, K., Lai, M.-C. and Li, Z.L. (2009) A Well-Conditioned Augmented System for Solving Navier-Stokes Equations in Irregular Domains. Journal of Computational Physics, 228, 2616-2628.
https://doi.org/10.1016/j.jcp.2008.12.028

[27]   Fedkiw, R.P., Aslam, T., Merriman, B. and Osher, S. (1999) A Non-Oscillatory Eulerian Approach to Interfaces in Multimaterial Flows (The Ghost Fluid Method). Journal of Computational Physics, 152, 457-492.
https://doi.org/10.1006/jcph.1999.6236

[28]   Liu, X.-D., Fedkiw, R.P. and Kang, M. (2000) A Boundary Condition Capturing Method for Poisson’s Equation on Irregular Domains. Journal of Computational Physics, 160, 151-178.
https://doi.org/10.1006/jcph.2000.6444

[29]   Zhou, Y.C., Zhao, S., Feig, M. and Wei, G.W. (2006) High Order Matched Interface and Boundary Method for Elliptic Equations with Discontinuous Coefficients and Singular Sources. Journal of Computational Physics, 213, 1-30.
https://doi.org/10.1016/j.jcp.2005.07.022

[30]   Zhou, Y.C. and Wei, G.W. (2006) On the Fictitious-Domain and Interpolation Formulations of the Matched Interface and Boundary (MIB) Method. Journal of Computational Physics, 219, 228-246.
https://doi.org/10.1016/j.jcp.2006.03.027

[31]   Yu, S.N., Zhou, Y.C. and Wei, G.W. (2007) Matched Interface and Boundary (MIB) Method for Elliptic Problems with Sharp-Edged Interfaces. Journal of Computational Physics, 224, 729-756.
https://doi.org/10.1016/j.jcp.2006.10.030

[32]   Cisternino, M. and Weynans, L. (2012) A Parallel Second Order Cartesian Method for Elliptic Interface Problems. Communications in Computational Physics, 12, 1562-1587.
https://doi.org/10.4208/cicp.160311.090112a

[33]   Sussman, M. and Fatemi, E. (1999) An Efficient, Interface-Preserving Level Set Redistancing Algorithm and Its Application to Interfacial Incompressible Fluid Flow. SIAM Journal of Scientific Computing, 20, 1165-1191.
https://doi.org/10.1137/S1064827596298245

[34]   Shin, S. and Juric, D. (2002) Modelling Three-Dimensional Multiphase Flow Using a Level Contour Reconstruction Method for Front Tracking without Connectivity. Journal of Computational Physics, 180, 427-470.
https://doi.org/10.1006/jcph.2002.7086

[35]   Sarthou, A., Vincent, S. and Caltagirone, J.P. (2010) A Second-Order Curvilinear to Cartesian Transformation of Immersed Interfaces and Boundaries. Application to Fictitious Domains and Multiphase Flows. Computers & Fluids, 46, 422-428.
https://doi.org/10.1016/j.compfluid.2010.11.008

[36]   Sarthou, A. (2009) Fictitious Domain Methods for the Elliptic and Navier-Stokes Equations. Application to Fluid-Structure Coupling. PhD Thesis, Université Bordeaux, Bordeaux.

[37]   Svard, M. and Nordstrom, J. (2006) On the Order of Accuracy for Difference Approximations of Initial-Boundary Value Problems. Journal of Computational Physics, 352, 219-333.
https://doi.org/10.1016/j.jcp.2006.02.014

[38]   Schenk, O. and Gartner, K. (2004) Solving Unsymmetric Sparse Systems of Linear Equations with Pardiso. Journal of Future Generation Computing Systems, 20, 475-487.
https://doi.org/10.1016/j.future.2003.07.011

[39]   Gustafsson, I. (1978) On First and Second Order Symmetric Factorization Methods for the Solution of Elliptic Difference Equations. Research Report, Department of Computer Sciences, Chalmersuniversity of Technology and the University of Gateborg, Gateborg.

[40]   Saad, Y. and Schultz, M.H. (1986) Gmres: A Generalized Minimal Residual Algorithm for Solving Nonsymmetric Linear Systems. SIAM Journal on Scientific and Statistical Computing, 7, 856-869.
https://doi.org/10.1137/0907058

[41]   Angot, P. (2005) A Unified Fictitious Domain Model for General Embedded Boundary Conditions. Comptes Rendus Mathematique, 341, 683-688.
https://doi.org/10.1016/j.crma.2005.09.046

[42]   Randrianarivelo, T.N., Pianet, G., Vincent, S. and Caltagirone, J.-P. (2005) Numerical Modelling of Solid Particle Motion Using a New Penalty Method. International Journal for Numerical Methods in Fluids, 47, 1245-1251.
https://doi.org/10.1002/fld.914

[43]   Stéphane, V., De Motta, J.C.B., Sarthou, A., Estivalezes, J.-L., Simonin, O. and Climent, E. (2012) A Lagrangian VOF Tensorial Penalty Method for the DNS of Resolved Particle-Laden Flows. Journal of Computational Physics, 256, 582-614.

Top