The Characteristic Mapping Method for the Linear Advection of Arbitrary Sets
Abstract
We present a new numerical method for transporting arbitrary sets in a velocity field. The method computes a deformation mapping of the domain and advects particular sets by function composition with the map. This also allows for the transport of multiple sets at low computational cost. Our strategy is to separate the computation of short time advection from the storage and representation of long time deformation maps, employing appropriate grid resolution for each of these two parts. We show through numerical experiments that the resulting algorithm is accurate and exhibits significant reductions in computational time over other methods. Results are presented in two and three dimensions, and accuracy and efficiency are studied.
keywords:
Characteristic mapping, Advection problem, Diffeomorphism, Multiphase,Gradient-augmented level-set
1 Introduction
The transport of objects, densities, or data under a given velocity field is ubiquitous in computational mathematics. Many problems ranging from computational physics to computer graphics require solving the linear advection equation. For example, tracking the evolution of a temperature distribution usually requires solving a transport equation. Additionally, the linear advection equation has been extensively used to evolve closed curves and surfaces using the level-set framework [24]. However, the evolution of more complicated objects such as open curves and open surfaces [18], or even more general sets (e.g. sets with poor regularity or even fractal structures) remains a challenge.
There are two classes of methods for the advection of surfaces: implicit methods represent the surface as the zero-level-set of a function, while explicit methods represent the surface as a collection of sample points or as a moving mesh.
Explicit methods consist in discretizing advected quantities into Lagrangian particles whose locations follow the velocity field. The computation of particle trajectories is fast, accurate, and highly parallelizable, but these particles are not guaranteed to be well-distributed in the domain at all times. Fully-Lagrangian mesh-free approaches, such as the smoothed-particle hydrodynamics method [12], can deal with complex moving boundaries. However, they require complicated projections and mesh-free interpolation routines onto a fixed spacial grid, for instance when visualizing the fluid, or computing a Laplacian operator for viscous fluids. More recently, Bowman et al. [4] proposed a Fully-Lagrangian mesh-free method with a conservative particle-to-Eulerian-grid projection step. This method allows for the conservation of all Casimir invariants and eliminates numerical dissipation. Other explicit methods, for instance [22, 6], use a moving Lagrangian mesh. In multiphase fluid simulations, these methods naturally preserve fluid volumes. Moreover, fluid boundaries and interfaces have a direct meshed representation, and complex solid boundaries are more easily resolved. However, these meshes can become distorted and complex, and costly remeshing routines are needed to maintain spacial resolution and accuracy.
Implicit methods take an Eulerian approach where the locations of discretized elements are stationary. In particular, level-set methods represent advected surfaces as the zero contour of a level-set function. These are most naturally used when it is important to query whether a point is inside or outside the surface, as indicated by the sign of the level-set function. A summary of standard level-set methods can be found in [24, 25, 30, 11]. Additionally, particle tracking has been used by Enright et al. [9] to improve accuracy of the standard level-set approach when subgrid structures must be resolved. More recently, Gradient-Augmented level-set (GALS) and Jet Schemes (JS) methods were proposed in [23, 5, 29]. These methods couple time integration of velocities with spacial interpolation of advected quantities to maintain a functional representation of the solution at all times. This improves subgrid accuracy while retaining stencil compactness and overall computational efficiency. Further applications of these methods can be found in [17, 3, 15].
The approach presented in this paper adopts an implicit point of view. We propose an Eulerian method to advect arbitrary sets under a given velocity field. Note that for divergence-free velocity fields, topological changes in the solution are impossible. Coalescence and breaking dynamics are the result of non-linear behaviors and will require significant extension to the current approach. This will be the subject of follow-up work. For the linear advection equation, one can check that the deformation map induced by the velocity, together with the initial condition, contains the full information for the solution of the advection equation. Our method discretizes the evolution of the deformation map on a regular Cartesian grid. The solution of the advection equation at any time can then be obtained as the pullback of the initial condition by this map. We call this approach the Characteristics Mapping (CM) method. This method is based on the work of Kohno and Nave [14] and relies on the Gradient-Augmented level-set (GALS) [23] approach to evolve the map. Similar ideas have been used in various other contexts, most recently by Pons et al. [26] for point correspondence, Kamrin et al. [13] in the context of elasticity, and Ying and Candès [31] for the computation of geodesics.
The CM framework enables one to simultaneously evolve multiple advected quantities since a characteristic map captures the deformation generated by a given velocity field, and hence can be use to transport any quantity evolving under this flow. As a consequence, the evolution of multiple fluid interfaces only requires the computation of a single characteristic map, resulting in a fast and internally coherent transport of surfaces. Furthermore, since the initial condition is not involved in the discretization and is simply rearranged by the characteristic map, the method achieves arbitrary fine spatial resolution due to the diffeomorphism property of the map: even fractal domains can be transported and arbitrary subgrid structures can be resolved. In this paper, we also make the fundamental observation that the velocity field and the global time deformation map do not contain the same scales of fine features. That is, even though a velocity field might be well represented on some given grid, the deformation map induced by this velocity can still develop arbitrarily fine features over time. This has led other methods [21, 16, 8, 20, 2] to employ adaptive meshes in an explicit context (e.g. Quadtree/Octree structures) to represent fine evolving features. We instead apply this insight in an implicit framework by using a coherent two-grid strategy. The semigroup structure of the deformation maps allows us to separate the two scales present in the problem by using a coarse grid for the local-time advection and a fine grid of dynamic resolution for the global time representation of the deformation. As will be demonstrated, this allows for an efficient CM method that can advect arbitrary sets (closed, open, irregular, and even fractal) with high precision, arbitrary subgrid resolution, and advantageous computational times.
This paper is organized as follows: in section 2 we derive the mathematical formulation of the CM method, in section 3 we present the numerical implementation and provide pseudo-codes, in section 4 we perform several tests (including closed, open, and fractal initial conditions), and thoroughly examine accuracy and efficiency, and in section 5 we make some concluding remarks and propose future directions of work.
2 Mathematical Formulation
2.1 Characteristic mapping for advection
In this section, we present the mathematical formulation for the Characteristic Mapping (CM) method. First we consider the advection equation, written in its strong form:
(1) |
where we assume is a rectangular domain in dimensions and is the advected quantity. Throughout the paper, we assume the given velocity field
(2) |
to be smooth and divergence-free.
We apply the method of characteristics to (1) . Let be the solution to the following initial value problem (IVP):
(3) |
where are the characteristic curves of the equation generated by the velocity .
The method of characteristics consists in realizing that (1) simplifies to the following equations (4) and (5). We call (5) the generalized advection equation for some given velocity field generating the characteristics . This is more general in that (1) is ill-posed when regularity assumptions on are dropped; we can therefore use (5) to transport arbitrary functions:
(4) |
or equivalently
(5) |
for every time and every initial condition .
The CM method consists in computing a backward-in-time solution operator to the IVP (3). That is, we compute a map such that for any curve satisfying the IVP (3) with some arbitrary initial condition , we have that
(6) |
Existence and uniqueness for under mild regularity assumptions have been established in [10].
One can check that is the solution to the vector valued advection equation
(7) |
We call the characteristic map associated to the velocity . Under suitable regularity assumptions on , is known to be a diffeomorphism.
We see that the map takes a point at time on its characteristic curve and returns the initial position of this curve. This allows us to obtain the solution of the advection equation (1) as
(8) |
This framework provides solutions to a generalization of equation (1). Any satisfying equation (5) can be expressed using (8). This allows for the transport of more general sets, since is allowed to be any function defining a transported set. The lack of regularity assumptions on implies that arbitrary sets, even fractal ones, can be advected under this framework. For instance, taking to be the indicator function of an initial set , the pullback is the indicator function of
(9) |
where denotes preimage and is valid even without the diffeomorphism assumption on .
Remark 1.

The characteristic map possesses a semi-group property which we exploit to significantly improve the numerical efficiency of the method. For this purpose, one can solve equation (7) in an arbitrary subinterval . The characteristic map for this subinterval satisfies
(10a) | |||
(10b) |
We denote by the solution of the above map at time . That is, represents the characteristic map generated by the velocity in the time interval . The semi-group structure allows us to decompose the characteristic map for into arbitrarily many maps of subintervals. This presents a numerical advantage since it gives us an extra degree of freedom for adaptivity in time. The decomposition is given by:
(11) |
We emphasize that the computation of the characteristics map in each individual subinterval start with the identity map as initial condition, and depends only on the velocity in this time interval. Hence, the computation is independent of any previous maps and can be solved individually.
Remark 2.
Note that the time intervals should be distinguished from the time step of the numerical discretization. Whereas the latter is meant to be an approximation of the limit, the time intervals of the submaps are not small. The length of these intervals will be selected dynamically to distribute the task of representing the spacial features in through the composition of several better-behaved submaps.
2.2 Characteristic map evolution using GALS framework
For each subinterval, we compute the map by solving (7) numerically. For this, we employ the Gradient Augmented level-set (GALS) method [23], an unconditionally stable semi-Lagrangian method that couples high order Hermite interpolation with Runge-Kutta time stepping schemes of matching order. Since the deformation map in CM is computed using GALS, and the advected quantity is obtained by pullback whenever a solution is required, it is a direct corollary that the CM method for linear advection is also unconditionally stable.
In this paper, we use Hermite cubic polynomials for spatial interpolation. We denote by the projection operator from functions to Hermite cubics on some grid denoted by with cell widths . To construct the Hermite cubic , we evaluate , and mixed partial derivatives of order at most one in each spacial dimension at grid points of ; is then defined in each cell to be the Hermite cubic interpolant with these grid data. For time discretization we use a fixed time step of . Time integration is performed using Runge-Kutta 3.
We denote by the numerical approximation of represented as a piecewise Hermite cubic. The Hermite cubic interpolant is updated using GALS stepping: we compute a one-step map which maps a point at time to its position at time following its characteristic curve in , then we compose with the characteristic map at time and project the composition on the space of Hermite cubics. We denote by the characteristic curve satisfying (3) with and compute by integrating the velocity along this curve:
(12a) | |||
(12b) |
The time integrations for and are approximated using RK3. The one-step map is evaluated when updating in (12b); the spacial derivatives at grid points required for the definition of the Hermite interpolant are obtained by direct chain rule: derivatives of are computed from its Hermite interpolant definition and those of are directly evaluated from (12a).
Our strategy is to use the above time-stepping to evolve submaps over some time interval which is either selected a priori or determined dynamically. Once time is reached, we stop the submap evolution for and inductively store the composition as a single Hermite cubic of high enough resolution; this is called the remapping step. We then repeat with the next submap .
To improve efficiency, we compute the submaps on a coarse grid, since submap updates happen often, and a low spatial resolution is sufficient to represent the small deformations. On the other hand, the spatial resolution required to represent the global map is high since large deformations can accumulate over time. We therefore store the global map on a fine grid. Updating the global map is costly, however these updates only happen at the remapping steps. Hence we must select the submap time intervals appropriately as to not incur too many remapping steps and remap only when the coarse grid is no longer able to accurately resolve the submap deformations. The interplay between the submap time intervals and the coarse and fine grid resolutions will be analyzed in the following sections.
To summmarize:
-
Given .
-
1.
Initialize . For to , repeat the following 2 steps:
-
2.
Compute on a coarse grid using GALS.
-
3.
Compose and project on a fine grid , as Hermite cubic:
(13)
Remark 3.
At any intermediate time , the advected quantity can be evaluated by
(14) |
Remark 4.
Final time does not need to be known in advance. The evolution can continue for as long as desired.
The computation of uses the GALS method. In each GALS step, the method produces two errors, one due to the approximate time integration and the other due to interpolation :
(15) |
Note that since Hermite cubics match the function value and derivative at grid points, the error scales quadratically with the distances between the query point and both the neighbouring grid points in each spacial dimension. For a grid point, the evaluation of in (12b) occurs at query points located and away from the closest grid points. Hence the interpolation error.
For each , we perform GALS steps. With each step accumulating the above error, the overall error for each submap is
(16) |
After composition of the submaps, the global error due to submap evolution is
(17) |
we see that for any number of time subdivisions, the composition of the submaps yields a globally third-order accurate method.
In the next section, we will discuss the numerical properties specific to this third-order method. Namely, we will look at the effect of the choice of coarse and fine grids, as well as the dynamic adaptation of time interval length and fine grid resolution.
3 Numerical Implementation
In this section, we detail the numerical implementation of the method described in section 2. The first subsection describes adaptive decomposition of into subintervals, the second subsection deals with the use of dynamic grid resolution for the storage of , and the third subsection summarizes the CM method in pseudo-code for ease of implementation.
3.1 Adaptive time subdivision
In practice, the subdivision times are chosen adaptively and not predetermined. We define a measure of the error of the submap computation and take to be the first time this error exceeds some predetermined tolerance.
To evaluate this error, we use Lagrangian particles , initially distributed uniformly in at positions . These particles are independently evolved under by solving the set of ODEs
(18) |
We use RK3 integration scheme to solve (18) for particles . A measure of the accumulated interpolation error is given by
(19) |
Equipped with the error measure , we define as the first time at which the evolution of induces a representation error greater than some predefined tolerance , that is
(20) |
At this time, we stop evolving and start computing the next submap. Notice that choosing sufficiently small ensures that the higher frequencies omitted by the coarse grid representation do not become large. Indeed, even though the grid values of may be very precise (for instance, by taking very small ), the Hermite cubic representation can still be bad due to a lack of resolution. In this case, projecting and composing on a fine grid leads to high error for the fine grid values. This is why the error measure we use takes into account the entire domain and controls error at off-grid points. Consequently, we may oversample and compose it with onto a finer grid with controlled error.
Remark 5.
To ensure that particles are always distributed uniformly over the domain , we reinitialize their position at every remapping step, that is .
3.2 Dynamic grid resolution
The entire algorithm utilizes two grids: A coarse grid of points per dimension where the submaps are evolved, and a fine grid of points per dimension where the accumulated global maps are stored.
As seen in the previous subsection, controls the importance of the omitted higher frequencies in the submaps. These frequencies which cannot be represented on a grid arise either from the projection of the velocity onto the coarse grid or from advection effects on existing lower frequencies (e.g. shear effects). Similarly, when we perform the composition (13), advection effects will generate higher frequencies than what is originally present in . In this case, the original resolution of might not be enough to resolve these frequencies. Therefore, we dynamically adjust the fine grid resolution to control the error made by omitting higher frequencies.
To do this, we define another error measure. This one is intended to evaluate the capacity of a grid to properly represent some function :
(21) |
where the sup-norm is approximated by sampling the error at off-grid points.
We can then decide if a grid is fine enough to accurately represent the updated global map by evaluating . If , for some predefined tolerance we will refine the fine grid, replacing by a grid of points per dimension. We will compute from (13) using as .
Conversely, we want to take advantage of situations where the fine grid could be coarsened. To detect such situations, we define a coarser grid of points per dimension and compute the error according to (21). If we have , it means that the coarser grid is sufficient to represent . In this case, we coarsen the fine grid, replacing by a grid of points per dimension and compute from (13) using as .
Using such a dynamic grid has two main advantages. By refining the grid when needed, we ensure that the transformation is always well represented, and by coarsening it when possible, we reduce the computational time required to do a remapping step. Note that the redefinition of on a different grid is easily performed at low cost due to the Hermite cubic interpolant structure.
3.3 Pseudo-code algorithm
We summarize here the CM algorithm with some minor adjustments at the implementation level. We use a single variable for all global maps , as the old global map is overwritten every time it is updated. We also use a single variable for all local submaps , as old submaps are no longer useful after the global map is updated. In the following, algorithm 1 describes the GALS method for evolving submaps, algorithm 2 updates the global map by submap composition on a dynamically selected fine grid.
4 Numerical Examples
In this section, we evaluate the accuracy and performance of the CM method described previously. We use a grid of cells per dimension for the advection of and a grid of cells per dimension to store . We will often compare the CM method to the GALS method, which will use a single grid having cells per dimension.
Our numerical experiments demonstrate the following numerical advantages of the CM method:
Property 1.
The CM method is always initialized with the identity map, which has a much better behavior than the initial level-set function for a specific advection problem. As a result, sharp features generated by the deformation take longer to appear. This improves the performance of CM over GALS and other direct methods for comparable grid resolutions, even without remapping.
Property 2.
The CM method optimizes efficiency through the separation of a coarse and fine grid. Short time deformation can be accurately resolved with low grid resolution. Using fine grids for frequent submaps updates does not significantly reduce error and is extremely costly and wasteful. The global time map contains sharp features formed from composition of short time maps. A dynamic fine grid allows us to resolve the global map correctly. To exploit this separation of scales, the CM method provides 4 parameters, , , and which, when picked correctly, can improve the efficiency of the algorithm.
Property 3.
The interpolation structure of the algorithm implies that the evolution of the deformation map happens in the space of diffeomorphisms. This means that the map is available everywhere in the domain, allowing for arbitrary subgrid resolution. Since the method computes the solution operator of the advection equation instead of acting directly on the transported quantity, we can preserve the subgrid information for the initial condition and resolve arbitrarily fine features for all time. In practice, this means that the spacial resolution of the map is dissociated from the resolution of advected quantity. Since the initial condition of the advection is simply rearranged by the characteristic map during the simulation, a high resolution initial condition can be transported using a map of lower resolution while maintaining nonetheless the same high resolution in the solution at all times: the characteristic map only needs to resolve the dynamics of the flow, its spacial features is independent of the initial conditions of the advection equation.
We present standard benchmark tests in 2D and 3D in sections 4.1 and 4.2. We then apply the CM method to more complicated sets in section 4.3. Finally, we present accuracy and efficiency results for the method in section 4.5.
4.1 2D swirl test
We apply the characteristic mapping method to the following 2D vector field taken from [19]
(22) |
with in the domain . This velocity creates a swirl centered at . The swirl reaches its maximal deformation at and then unwinds itself. At , the deformation induced in the first half of the period are completely undone and the transformation returns to identity.
The initial set is a circle of radius centered at represented by a level-set function. From times to , this flow will stretch the circle into a thin swirl and return it back to its original state.
We use a grid for the advection and a dynamic-sized fine grid for the remapping. This fine grid starts at and is refined to a maximum resolution of . The remapping and resizing tolerances were set to and . Figure 2 shows the results.





The initial identity transformation is very well represented on the grid, but as time advances, the flow creates very fine structures. The transformation at would not be well represented on a grid. Indeed, the adaptive grid for is refined to at , which is sufficient to represent correctly the sharp deformations induced by the vector field. Then as the swirl returns to its original shape, the grid coarsens. At , the transformation only needs a grid to be correctly represented. We see that the initial circle is recovered at the final time, even though the advection was computed on the rather coarse grid and only a few remapping steps involved finer grid calculations.
We use a similar test to compare the characteristic mapping method with the standard GALS method [23]. We use the same initial set and transport it in the vector field (22) with until , which corresponds to the set being stretched and returned to its original shape twice. We make four different tests by modifying the grid sizes. For the CM method, we use a for all tests but we set the maximal to different values. The maximum allowed fine grid for each test are respectively. For the GALS method, we fix the grid resolution to be the same as for the finest possible remapping grid of the CM method, i.e. . Results are shown in figure 3.








Computational Time (sec.) | ||||
---|---|---|---|---|
Method | or | |||
32 | 64 | 128 | 256 | |
GALS | 2 | 12 | 92 | 727 |
CM with | 6 | 7 | 9 | 11 |
We see that for a given grid size, the characteristic mapping method gives a better solution than the GALS method. This is in part due to the fact that the CM method starts from a linear initial condition which can be exactly represented by Hermite cubics. Any feature of complexity higher than linear arise from the velocity field and accumulates at the rate of per step, hence it takes longer for significant high frequencies to appear. In contrast, the GALS method has a more complicated initial condition. The level-set function already contains linear, quadratic and cubic features. Under advection effects, these can quickly generate sharp features that the grid cannot represent. Therefore, when the maximum resolution level is fixed, CM will be more accurate than GALS, as shown in figure 3.
A particularly attractive feature of the CM method is that computation efficiency is optimized by the adaptive separation between coarse grid advection calculations and fine grid deformation representation. Indeed, in a short time interval, deformations caused by the advection are small, and errors are dominated by velocity integration in time. It is therefore most efficient to perform these steps on a coarse grid: they happen frequently, but computation is cheap on a coarse grid, and the coarse grid is sufficient to represent the small deformation. In fact, doing submap updates on a fine grid would be wasteful since fine grid representation errors would be negligible compared to error from velocity integration. For the global time map, the error is dominated by difficulties in representing sharp features which requires a high grid resolution. However, global map updates do not happen often, and we can afford to use a fine grid representation.
Table 1 compares the computational times for the GALS and CM method. For very coarse grids, the CM method is slower due to the overhead from processing the adaptivity. For the cases where the representation grid is finer than the advection grid, the CM method is clearly faster. The efficiency aspect is studied in more detail in section 4.5.
4.2 3D deformation field
The CM method generalizes directly to any number of dimentions. We apply the CM method to a 3D surface evolution problem. The initial surface is a sphere of radius centered at in the domain . The deformation velocity is given by the following vector field taken from [19]
(23) |
The advection of is done on a grid, and the remapping of is done on a fixed grid with a remapping tolerance . We compare the results with and without remapping to demonstrate the benefits of the remapping step. We also compare the CM method to the GALS method computed on a grid. Results for , and for the three cases are shown in figure 4.









The surface at is expected to be identical to the surface at (sphere) due to symmetries in the velocity (23). This vector field causes the sphere to be stretched along the plane and creates very fine structures that cannot be represented on the coarse grid. We see from figure 4(d) that without remapping, those structures are indeed not well represented and oscillations are observed on the scale of the coarse grid. These oscillations distort the surface for all subsequent times, and the final shape in figure 4(g) is significantly different from the initial sphere.
When using the remapping on the fine grid, the fine structures caused by the deformation field can be accurately represented as a result of storing on a grid. In figure 4(e), the width of the stretched surface is of the order of the fine grid’s cell width, therefore causing no major representation issues. At (figure 4(h)), the surface is visually identical to the initial sphere.
The GALS method also uses a grid and therefore uses comparable computational resources for spacial resolution as CM with remapping. The main differences between the two methods is that CM method is initialized with a trivial identity map and does not discretize the more complicated initial condition of the level-set function. The effects of this can be seen later in the simulation in figures 4(h) and 4(i), where GALS accumulates more error than CM.
In addition to testing the accuracy of the CM method with remapping, this experiment also demonstrates the computational efficiency of the method. Table 2 compares the time taken to compute the three tests of figure 4. As expected, the time taken by the CM method without remapping is small, but the results are not precise. The time taken by the CM method with remapping is approximately 5 times larger, but achieves the best result out of the three cases. The GALS method takes about 20 times longer than the CM method with remapping and fails to provide better results. This indicates that the separation of scales using the semi-group property of the characteristic maps provides significant improvements to computational efficiency.
Method | Computational Time (sec.) |
---|---|
CM without remapping | 267 |
CM with remapping | 1430 |
GALS | 29687 |
4.3 Complicated Sets
This section examines the application of the CM method for the advection of arbitrary sets. We take the deformation field given by
(24) |
with A=16 and where and are smooth weight functions defined by
(25) | |||
(26) |
This vector field causes the left region to swirl into two vortices and the right region to expand around the center of the domain. We apply this vector field to the Mandelbrot set and compute the advection of the set with the CM method. We use for the coarse grid, a fixed for the fine grid and a remapping tolerance . The results at times to are shown in figure 5.









Traditional advection schemes would have difficulties dealing with complex geometries such as the Mandelbrot set. With the CM method, the complexity of the initial set does not translate to difficulties in numerical simulation. Since the advected quantity is the pullback of the initial function by the deformation map and since we know the initial set to arbitrary precision, there is no difficulty capturing all the fine structures. This is a property of the interpolation structure of the method; since the characteristic map is evolved as a function defined everywhere in the domain, can be evaluated directly for any . Therefore, we achieve arbitrary subgrid resolution and preserve the information contained in the initial condition throughout the simulation. We observe indeed in figures 5(a) and 5(i) that the same resolution is available at the beginning and at the end of the simulation. In both figures, we show a zoomed view of a single cell in the fine grid to show that at the end we recuperate, with arbitrary subgrid resolution, the same set as the initial condition, as expected. This is a remarkable and unique property of the CM framework and has important implications in real-life applications. As illustrated by the above example, the spacial resolution of the solution to the advection equation is not affected by the resolution of the characteristic map. Indeed, the Mandelbrot set requires infinite resolution to represent whereas the map is computed on a grid; is selected to provide a good approximation to the characteristic map , it only needs to resolve the dynamics of the flow. In practice, one might have a very finely sampled discretized initial condition. Traditional methods such as GALS need to numerically represent the initial condition accurately in order to maintain resolution throughout the simulation. If the dynamics of the flow contain less spacial features, this would be a waste. The CM method is more efficient in that the characteristic map uses only the necessary computational resources to represent the deformation. The initial condition, no matter how finely resolved, will be pulled-back by the deformation map to generate solutions of the sample resolution as the initial condition.
4.4 Triple and Quadruple Points Mosaic
For a given velocity field , the corresponding characteristic map is a solution operator which maps any initial condition to the solution of the advection under . This implies that multiple initial conditions can be advected simultaneously using a single map . Furthermore, these solutions remain mutually consistent throughout the entire simulation because they arise from the same deformation map. We present two tests showing this feature.
The first test involves open curves. These are represented implicitly using two functions: a level-set function and a mask function. For instance, a segment of a straight line can be represented using an affine function whose zero level-set is the line containing the segment, and a mask function which represents a region whose intersection with the line gives the desired segment. Figure 6 shows an example where we advect a circle along with three independent line segments forming a triple point. These objects are transported in the swirling velocity field (22) with . Normally, these seven functions used to define the curves (three lines, three masks and one circle) need to be advected separately; one would need to solve seven advection equations independently, giving potentially mutually incoherent results. The CM method however, decouples the advection from the initial set, we can advect those seven functions at the same time using the same characteristic map. When plotting is required, the functions are evaluated at , incurring only the extra cost of seven function evaluations and an evaluation of the map on the plotting grid. Since the solutions are obtained from pullback by the same characteristic map, the coherence of the results is guaranteed (e.g. triple points are guaranteed to stay triple points).



The second test shows an example of the transport of a Mosaic pattern. We take as a periodic domain and subdivide it into multiple regions. This kind of initial condition arises for instance in the simulation of multiphase flows. The difficulty of these simulations resides in the multiple intersection points caused by the junction of more than two different fluids. These points are hard to represent using a single level-set function, but can be represented piecewise as multiple level-sets. Saye and Sethian [28, 27] propose an approach to multiphase flows using level-sets, while Da et al. [7] suggest to use multimaterial front tracking. In the context of the CM method, this is not a problem since we transform the whole domain and can deal with functions of any level of complexity afterwards. The different regions can simply be represented by a single function by multiplying a different constant to their respective indicator functions.
The velocity field used for this test is
(27) |
This velocity generates a periodic flow map with period 2. We used and . It took seconds to compute the steps of this simulation on a single GHz CPU, taking seconds for a regular step and seconds when remapping, which was necessary on average approximately every step. We also highlight three regions in the domain using dashed circles. These regions represent two triple points and one quadruple point. The dashed circles are transported in the flow as passive particles with the initial intersection points as starting position. This shows that the intersections obtained from CM do follow the right path.
Resolution of thin filaments and accurate tracking of junction points are both important elements of a multiphase flow simulation. From figure 7, we see that the CM method manages to track very thin filaments. If each level-set was advected separately using traditional methods, the errors might not be consistent across individual level-sets. This could result in important qualitative errors on the presence and location of thin filaments, persisting throughout the entire simulation. However, since all level-sets in the CM method are transported using the same deformation map, relationships between different regions are naturally preserved, therefore resolving and maintaining the thin filaments. This also leads to an accurate and consistent tracking of triple and quadruple junctions. As seen in figure 7, even though we can see some error in the position of the quadruple junction when deformations are large, this error is not amplified and does not persist throughout the simulation. We see indeed that the junctions return to the correct positions at time . This also indicates that the time symmetry present in the velocity is better preserved in the numerical solution: the characteristic map deforms until , then returns to the identity map at . This would be difficult to achieve with traditional methods, working directly with the level-set functions as the sharp and convoluted shapes of the regions will incur high numerical dissipation, thereby moving or destroying junction points.









4.5 Computational Efficiency
Several elements factor into the efficiency of an algorithm, notably the number of computations per step and memory usage necessary to reach a certain accuracy, and the parallelizability of the method. In the following, we give some estimates on the error and running time of the method. For simplicity, we will restrict ourselves to fixed fine grid and try to examine the effect on efficiency from varying , and .
For GALS, the error is know to be . For the CM method, we proceed as follows.
First, we look at the error from each submap computation, . Let . Each time step, the error from time integration and evaluation at foot point is of order . Taking , we simplify this error to roughly , where is a constant of the order of coming from interpolation errors and from integration errors. The total submap grid errors is then
(28) |
There is also a submap representation error when evaluating the Hermite cubic at the remapping step. This error exists even if grid values are exact and is due to the limited resolution available for a Hermite cubic on a coarse grid:
(29) |
Finally, at each remapping step, we incur an error from evaluating the global map :
(30) |
where is on the order of (note that ).
We let and be the average of and over all remapping steps. Assuming there are remapping steps between and , the global error is roughly
(31) |
Both and are influenced by the choice of . If is small, remapping happens more often, making shorter. Since correlates inversely with , it would increase. On the other hand, can be assumed to correlate directly with , and hence would decrease. We make the following assumptions and estimates.
We suppose that for some constant , that is, for short times, higher frequencies not resolved by the coarse grid accumulate linearly in time. It is also implied from this that , although this may be an overestimate. For small times, we can assume that sharp features in the deformation grow linearly with time. However, in global time, this might not always be true as seen in the swirl test, where the periodic velocity undoes the sharp features it created in the first half of the period. We will however assume that the estimate is generally of correct order of magnitude. From these assumptions, we reach the following estimate for the global error:
(32) |
where is a function which scales directly with and inversely with . Details of this calculation can be found in Appendix A.
Closer examination of this formula reveals three main regimes of the magnitude of the error depending on the choice of . When is taken on the order of the local truncation error for submap evolution, i.e. , the remapping step happens every or almost every submap update step. The resulting global error is . The other extreme is when is of the order of global trunction error, i.e. . In this case, barely any remapping occurs. The resulting error is , with the term appearing if at least one remapping step occurred. Lastly, in the intermediate regime, with roughly , we should observe errors of order .
In order to compare the efficiency of GALS and CM, we need the following estimates on computational time.
For the GALS method, the cost consists of tracing back the footpoints, and then evaluating the interpolant at those locations.
(33) |
for some constants and , and where denotes the number of dimensions and is the number of grid cells for each spatial dimensions.
For the CM method, we also need to trace back the footpoints and interpolate the function, but that is done on the coarse grid, once for each of the coordinate functions. Additionally, we need to advect the test particles and do remapping steps when required. The computational cost is
(34) |
where is the number of particles per cell. Recall that scales directly with respect to , so picking small increases the frequency of remapping steps. This is the most costly operation of the method and hence strongly affects the efficiency. Roughly, the cost of CM is
(35) |
In order to illustrate the behavior of error, computational time and efficiency of the algorithms, we ran several numerical experiments using the swirl test presented in section 4.1 with and a final time . We do not use a dynamic fine grid and set , , and fix for all computations. For values of ranging from to , we test the error and running times for different values of . The results are show in figure 8.



In figure 8(a), we observe that when is much smaller than the global error, we see third order convergence with respect to as described earlier ( was small enough for terms not to appear). However, when is close to the global error, almost no remapping step occurs and the error scales linearly in .
In figure 8(b), we can observe the effect of on running time. When is relatively large, the running time is dominated by submap time stepping: computational time scales linearly with . However, when is picked very small, the cost of remapping becomes more obvious. Indeed, we see that when picking , for large , running time scales like .
These results suggest that when a prescribed resolution on the velocity is chosen by fixing , and a target error for the advection by the approximated velocity is given, one can find an optimal fine grid size minimizing both error and computational time.
Lastly, the CM method is easily parallelizable. Multiple transported interfaces can be advected by evolving a single characteristic map. Moreover, since the evolution of the characteristic map is done using the local GALS scheme, grid value updates are fully explicit and use compact localized stencils. The same applies to the remapping step due to it being essentially composed of two Hermite interpolant evaluations. It is not the aim of this paper to investigate the parallel implementation of the CM method, however work in this direction has the potential for creating a fast and accurate parallelized solver for the linear advection equation.
5 Conclusion
In this paper we have presented a new numerical approach for the linear advection of arbitrary sets. The new method relies on computing the solution as the pullback of the initial conditions by the deformation map. This method relies extensively on the GALS framework. The interpolation structure of GALS together with the deformation map approach of this paper allows for the representation of solutions to arbitrarily fine subgrid resolution. One key observation is that the deformation map can be decomposed in time and thus can be periodically reinitialized to the identity map whenever an error tolerance is reached. This led naturally to the remapping idea presented in section 2. Additionally, the observation that the submaps can be resolved on a coarser grid than the global map was used to devise the two-grid strategy presented in section 3. In section 4 we presented several benchmark tests and demonstrated the accuracy and efficiency of the method. Specifically, we showed that the proposed method is able to handle the advection of closed and open curves, fractal sets, and also more complicated sets containing multiple intersecting domains. The latter example may be of particular interest for the simulation of multiphase fluid flows. We also showed that depending on the error parameter in (20), one may achieve time computation instead of the typical in 2D.
The current approach opens a wealth of possibilities for applications. However, since only the linear advection equation is considered, no topological changes are allowed. It is clear that the formalism presented in section 2 and used throughout the paper relies on existence of a diffeomorphism for all time and is thus incompatible with topological changes. Nonetheless, there may be extensions and modifications of the method that enable dealing with changes of topology, specifically when considering non-linear coupling of the velocity to the solution of the advected set. These questions are the focus of our current research in the subject as we believe the proposed method provides an appropriate framework upon which more challenging problems may be solved.
References
- [1] L. Ambrosio and G. Crippa, Existence, uniqueness, stability and differentiability properties of the flow associated to weakly differentiable vector fields, in Transport equations and multi-D hyperbolic conservation laws, Springer, 2008, pp. 3–57.
- [2] J. Behrens, An adaptive semi-lagrangian advection scheme and its parallelization, Monthly weather review, 124 (1996), pp. 2386–2395.
- [3] A. Bøckmann and M. Vartdal, A gradient augmented level set method for unstructured grids, Journal of Computational Physics, 258 (2014), pp. 47–72.
- [4] J. C. Bowman, M. A. Yassaei, and A. Basu, A fully lagrangian advection scheme, Journal of Scientific Computing, 64 (2015), pp. 151–177.
- [5] P. Chidyagwai, J.-C. Nave, R. R. Rosales, and B. Seibold, A comparative study of the efficiency of jet schemes, International Journal of Numerical Analysis and Modeling - Series B, 3 (2012), pp. 297–306.
- [6] P. Clausen, M. Wicke, J. R. Shewchuk, and J. F. O’brien, Simulating liquids and solid-liquid interactions with lagrangian meshes, ACM Transactions on Graphics (TOG), 32 (2013), p. 17.
- [7] F. Da, C. Batty, and E. Grinspun, Multimaterial front tracking, CoRR, vol. abs/1306.3113, (2013).
- [8] R. Deiterding, M. O. Domingues, S. M. Gomes, and K. Schneider, Comparison of adaptive multiresolution and adaptive mesh refinement applied to simulations of the compressible euler equations, SIAM Journal on Scientific Computing, 38 (2016), pp. S173–S193.
- [9] D. Enright, R. Fedkiw, J. Ferziger, and I. Mitchell, A hybrid particle level set method for improved interface capturing, Journal of Computational Physics, 183 (2002), pp. 83–116.
- [10] A. F. Filippov, Differential equations with discontinuous righthand sides: control systems, vol. 18, Springer Science & Business Media, 2013.
- [11] F. Gibou, R. Fedkiw, and S. Osher, A review of level-set methods and some recent applications, Journal of Computational Physics, 353 (2018), pp. 82–109.
- [12] R. A. Gingold and J. J. Monaghan, Smoothed particle hydrodynamics: theory and application to non-spherical stars, Monthly notices of the royal astronomical society, 181 (1977), pp. 375–389.
- [13] K. Kamrin, C. H. Rycroft, and J.-C. Nave, Reference map technique for finite-strain elasticity and fluid–solid interaction, Journal of the Mechanics and Physics of Solids, (2012).
- [14] H. Kohno and J.-C. Nave, A new method for the level set equation using a hierarchical-gradient truncation and remapping technique, Computer Physics Communications, (2013).
- [15] E. M. Kolahdouz and D. Salac, A semi-implicit gradient augmented level set method, SIAM Journal on Scientific Computing, 35 (2013), pp. A231–A254.
- [16] D. Kolomenskiy, J.-C. Nave, and K. Schneider, Adaptive gradient-augmented level set method with multiresolution error estimation, Journal of Scientific Computing, 66 (2016), pp. 116–140.
- [17] C. Lee, J. Dolbow, and P. J. Mucha, A narrow-band gradient-augmented level set method for multiphase incompressible flow, Journal of Computational Physics, 273 (2014), pp. 12–37.
- [18] S. Leung and H. Zhao, A grid based particle method for evolution of open curves and surfaces, Journal of Computational Physics, 228 (2009), pp. 7706–7728.
- [19] R. J. LeVeque, High-resolution conservative algorithms for advection in incompressible flow, SIAM Journal on Numerical Analysis, 33 (1996), pp. 627–665.
- [20] X. Li, H. Sun, X. Liu, and E. Wu, Adaptive level set for fluid surface tracking, in Proceedings of the 21st ACM Symposium on Virtual Reality Software and Technology, ACM, 2015, pp. 113–116.
- [21] M. Mirzadeh, A. Guittet, C. Burstedde, and F. Gibou, Parallel level-set methods on adaptive tree-based grids, Journal of Computational Physics, 322 (2016), pp. 345–364.
- [22] M. K. Misztal, K. Erleben, A. Bargteil, J. Fursund, B. Christensen, J. A. Bærentzen, and R. Bridson, Multiphase flow of immiscible fluids on unstructured moving meshes, in Proceedings of the ACM SIGGRAPH/Eurographics Symposium on Computer Animation, Eurographics Association, 2012, pp. 97–106.
- [23] J.-C. Nave, R. R. Rosales, and B. Seibold, A gradient-augmented level set method with an optimally local, coherent advection scheme, Journal of Computational Physics, 229 (2010), pp. 3802–3827.
- [24] S. Osher and R. Fedkiw, Level set methods and dynamic implicit surfaces, vol. 153, Springer, 2003.
- [25] S. Osher and R. P. Fedkiw, Level set methods: an overview and some recent results, Journal of Computational physics, 169 (2001), pp. 463–502.
- [26] J.-P. Pons, G. Hermosillo, R. Keriven, and O. Faugeras, Maintaining the point correspondence in the level set framework, Journal of Computational Physics, 220 (2006), pp. 339–354.
- [27] R. I. Saye and J. A. Sethian, The voronoi implicit interface method for computing multiphase physics, Proceedings of the National Academy of Sciences, 108 (2011), pp. 19498–19503.
- [28] R. I. Saye and J. A. Sethian, Analysis and applications of the voronoi implicit interface method, Journal of Computational Physics, 231 (2012), pp. 6051–6085.
- [29] B. Seibold, J.-C. Nave, and R. R. Rosales, Jet schemes for advection problems, Discrete and Continuous Dynamical Systems - Series B, 17 (2012), pp. 1229–1259.
- [30] J. A. Sethian, Level set methods and fast marching methods: evolving interfaces in computational geometry, fluid mechanics, computer vision, and materials science, vol. 3, Cambridge university press, 1999.
- [31] L. Ying and E. J. Candes, Fast geodesics computation with the phase flow method, Journal of computational physics, 220 (2006), pp. 6–18.
Appendix A Detailed error estimates
The sup-norm error for each submap is approximately
(36) |
We assume a fixed coming from the time step error of RK integration of the velocity. We suppose that for some constant , meaning that the sharp features not resolved by the coarse grid grows linearly with for small time intervals.
is the time it takes for the submap error to reach the threshold , we equate with (36) to estimate :
(37a) | ||||
(37b) |
We drop the subscript to consider averaged values and . We have and let be the total number of remapping steps. We also assume , although this may be an overestimate.
We can more closely examine the effect of the magnitude of . Assuming it is small enough to justify a first order expansion of the square root in (37), that is , we can sample a few pairs to get an idea of the behaviour of global error. Note that by construction, must be between and . This gives us the two extremes pairs and which correspond to taking on the order of local and global truncation errors respectively. These give global errors and .
The global error is monotone with respect to and . From the above two extreme estimates, the error should be between and (here we assume is at most ). The transition happens as ranges from to . For instance, for the pair, and for we get error.