Removing numerical dispersion from linear evolution equations
Jens Wittsten, Erik F. M. Koene, Fredrik Andersson, and Johan O. A., Robertsson

TL;DR
This paper introduces a novel method using Fourier integral operators to eliminate numerical dispersion errors in linear evolution equations, improving the accuracy of simulations over time.
Contribution
It presents a new approach employing time dispersion transforms to correct numerical errors caused by finite difference approximations in linear evolution equations.
Findings
The method effectively removes numerical dispersion in model equations.
It improves the accuracy of elastic and viscoelastic wave simulations.
The approach maintains correct evolution throughout the entire simulation lifespan.
Abstract
We describe a method for removing the numerical errors in the modeling of linear evolution equations that are caused by approximating the time derivative by a finite difference operator. The method is based on integral transforms realized as certain Fourier integral operators, called time dispersion transforms, and we prove that, under an assumption about the frequency content, it yields a solution with correct evolution throughout the entire lifespan. We demonstrate the method on a model equation as well as on the simulation of elastic and viscoelastic wave propagation.
Click any figure to enlarge with its caption.
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9
Figure 10| 1.2508 | 0.1203 | 0.0321 | 0.0101 | 0.0030 | 0.0007 |
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Removing numerical dispersion from linear evolution equations
Jens Wittsten
Centre for Mathematical Sciences, Lund University, Sweden and Department of Engineering, University of Borås, Sweden
,
Erik F. M. Koene
Institute of Geophysics, ETH-Zürich, Switzerland
,
Fredrik Andersson
Institute of Geophysics, ETH-Zürich, Switzerland
and
Johan O. A. Robertsson
Institute of Geophysics, ETH-Zürich, Switzerland
Abstract.
We describe a method for removing the numerical errors in the modeling of linear evolution equations that are caused by approximating the time derivative by a finite difference operator. The method is based on integral transforms realized as certain Fourier integral operators, called time dispersion transforms, and we prove that, under an assumption about the frequency content, it yields a solution with correct evolution throughout the entire lifespan. We demonstrate the method on a model equation as well as on the simulation of elastic and viscoelastic wave propagation.
Key words and phrases:
Evolution equation, finite difference operator, numerical dispersion, time dispersion transform, wave propagation
2010 Mathematics Subject Classification:
65M06 (primary), 35A22, 35Q86, 35S30 (secondary)
1. Introduction
The difference between a continuous differential equation and its discretized counterpart is a source of numerical artifacts. Generally, the discretized system differs from the intended system in its dispersive and dissipative properties, so errors in the computation are referred to as numerical dispersion and numerical dissipation [23]. Here dispersion refers to a process in which energy separates into its component frequencies as the solution evolves, while dissipation refers to damping of energy during the evolution. Numerical dispersion thus refers to phase errors, while numerical dissipation refers to amplitude errors. The combined effect of the two numerical errors is sometimes described as numerical diffusion.
Numerical diffusion errors are typically studied through the local truncation error, i.e., the consistency between the discrete and continuous equation in terms of the discrete step size. If the method is stable, the Lax equivalence theorem [17] implies that the discretized equation converges to its continuous counterpart. As a consequence, the majority of the numerical methods for differential equations are designed with the intent of minimizing the local truncation error, with the expectation that the global error will then also be small. Examples are high-order accurate derivative schemes [11], [7] and high-order accurate integration schemes such as Runge-Kutta or ADER (Arbitrary high order schemes using DERivatives) [10], [26], [9], [18]. The high-order techniques typically lead to more accurate results compared to low-order methods, but come with a trade-off in increased computational cost.
In this paper we analyze numerical dispersion errors not through the local error but by comparing numerical solutions to true solutions. To illustrate, consider the evolution equation
[TABLE]
where is a linear operator independent of time . Arguing formally we find by taking Fourier transforms with respect to of both sides of (1.1) that
[TABLE]
where . Suppose now that we want to simulate the solution by obtaining a solution of the finite difference equation
[TABLE]
The finite difference approximation of the time derivative introduces an error which can be expressed by taking Fourier transforms and noting that will not satisfy (1.3) but instead
[TABLE]
where
[TABLE]
Such functions appear as (part of) the so-called amplification factor in von Neumann stability analysis of spatial finite difference operators [18], but here it is rotated from the spatial side into the time direction where it will be called a phase shift function. The connection is explored in Remark 2.4 below. As the name signifies, comparison between and allows for a description of the numerical dispersion (i.e., phase) errors resulting from the finite difference approximation of the time derivative. We now make the simple observation that if (1.3) is evaluated at instead of at then is seen to satisfy
[TABLE]
By comparing this equation with (1.6) we find that if is to correctly simulate the evolution of then the governing equation (1.4) for should be modified by replacing with the function that has Fourier transform , while and should satisfy the relation , if possible. Since is periodic, one obstruction is that unless (1.1)–(1.2) leads to a solution which is bandlimited in time, the relation will only capture part of the frequency content of the sought solution . (Here is said to be bandlimited in time when has compact support.) As we shall see, this obstruction can be made negligible also for non-bandlimited as long as and has sufficiently rapid decay at infinity. The transform which modifies the finite difference equation is called the forward time dispersion transform (FTDT) and the transform which (ideally) turns a solution of the altered finite difference equation into a solution of the original evolution equation is called the inverse time dispersion transform (ITDT). In practice, there will typically be stability criteria placing an upper bound on the step size . Throughout the paper we will assume that is chosen with such constraints in mind, but as we will demonstrate, one benefit of the proposed method is that it allows to be chosen at such upper bounds while still yielding very accurate results. This is true even for low order finite difference schemes, thus providing a new and computationally cheap way to obtain good simulation results.
The method of using dispersion transforms to correct for numerical errors caused by finite difference approximations of time derivatives was introduced in geophysics for the wave equation, see Stork [25] for the original approach. It was then further developed and improved by many authors [28], [8], [14], [15], [1], [16], [21] and seems to now have settled on the definitions of the transforms presented here. For a review of the development we refer to Koene et al. [15]. We mention that in the geophysical literature, usage of the FTDT and ITDT is usually described as applying a pre-computation and a post-computation filter, respectively. Section 2 presents a rigorous mathematical treatment of the method and shows using a unified approach that it has applications to a large class of linear evolution equations. After formally introducing the dispersion transforms (Definition 2.5) we use them to establish the correspondence between an evolution equation and its finite difference equivalent hinted at in the example above (Theorem 2.8), and show that they can be interpreted as Fourier integral operators. In §2.3 we provide discrete versions of the transforms and discuss implementation. Our main result shows that the proposed method of using the discrete dispersion transforms as pre- and post-computational filters yields a numerical solution that correctly models the desired evolution for any length of time (see Theorem 2.10 for the precise statement). Section 3 demonstrates the theoretic results by conducting numerical tests on a model equation where the solution obtained by the proposed method compares to the analytic solution with double precision accuracy (see Figure 2). The approximation error is small as long as the frequency content of the source term is negligible outside a window defined by the range of the phase function (see Figure 3). The size of this window becomes arbitrarily large as .
One shortcoming of the method is the need to store the solution for all moments in time, which for two- or three-dimensional problems may require a very large memory capacity. However, even though simulations might be carried out over a global domain the solution is often only desired at a small subset to which the corrections by means of the dispersion transforms can be restricted, at a cost that is far smaller than running the simulation with a globally large accuracy. We demonstrate such an application in Section 4, where we perform elastic and viscoelastic wave simulation for the earth’s subsurface, but only use the dispersion transforms to correct the resulting ground motion at certain points on the boundary (the source and receiver positions). The viscoelastic simulations show that the method can deal even with dissipative wave physics while still yielding highly accurate solutions.
The paper is concluded with three appendices. In Appendix A we have gathered results of tangential or supplementary nature referenced in the main text. In Appendix B one can find the implementation of the finite difference scheme used in the viscoelastic wave simulations. Finally, in Appendix C we provide codes for implementing the dispersion transforms in MATLAB.
2. Numerical dispersion in evolution equations
Let and be a vector valued function of . Introduce the system of differential operators
[TABLE]
where and the are linear spatial operators depending on but independent of time so that and commute. Consider the evolution equation in given by
[TABLE]
Since the system is translation invariant in we may without loss of generality assume that below. We will assume that the problem is well posed and that, depending on the spatial operators , appropriate spatial conditions are imposed to ensure a unique solution. For an extensive background on partial differential equations we refer to Hörmander [12] and Evans [5].
When solving (2.1)–(2.2) by means of finite difference methods, numerical dispersion errors inevitably occur as a result of approximating the time derivatives with finite differences. The purpose of this paper is to establish a method by which to alter the chosen finite difference system and capture the correct time evolution of the solution to (2.1)–(2.2).
In this work, the exact structure of the spatial operators will not be essential. In the applications we have in mind, each will typically be a differential operator in with coefficients that depend on but not on , or (going one step further in the direction of obtaining a numerical solution) each will be the result of discretizing such a differential operator by means of some numerical scheme. To isolate the effects of time dispersion we will in the latter case assume that any resulting space dispersion errors are essentially fully decoupled from the time dispersion errors, and that appropriate stability criteria that may govern the possible size of the time step are satisfied. We will only be concerned with finite difference schemes which are numerically stable and depend continuously on the initial data. A comprehensive treatment of finite difference methods can be found in LeVeque [18].
Example 2.1**.**
As a prototype, consider the scalar, one-dimensional acoustic wave equation in heterogeneous media:
[TABLE]
where is the acoustic pressure and the propagation velocity depends on position . Assume Dirichlet boundary values . This is an example of (2.1) with and of the form , where and . On the other hand, if we want to solve this equation numerically, we may choose to discretize the equation in by sampling at where for , and replace with a finite difference, say
[TABLE]
for , with the boundary values dictating . This is also an example of (2.1) with and of the form , where the unknown is now the -dependent vector and while we still have , is now a tridiagonal matrix which factorizes as
[TABLE]
Whenever we discuss solving this type of equation by means of a finite difference scheme in time of step size , we will always assume that the corresponding Courant-Friedrich-Lewy (CFL) condition is satisfied by in terms of the interval length , so that the resulting equation is numerically stable.
Note that because of the initial condition (2.2), the source terms in (2.1) will have to vanish identically for . We will in addition assume they have sufficient decay as and that each and are regular enough for (2.1)–(2.2) to admit a strong solution , integrable with respect to , such that for each
[TABLE]
Here, is the usual Sobolev space of order . In particular, the partial Fourier transforms and are assumed to be well defined and square integrable, where
[TABLE]
We remark that (2.3) does not automatically hold in general – in the example (1.1)–(1.2) discussed in the introduction it would depend on properties of the operator . In the applications we focus on in this paper, however, the energy is expected to dissipate in the region of interest, due e.g. to damping or the geometry of the spatial domain, which makes (2.3) natural.
Remark*.*
Realizations of the Cauchy problem (2.1)–(2.2) can for example be found in initial value problems for:
- (1)
Ordinary differential equations with constant coefficients.
- (2)
Heat equations, linear parabolic equations.
- (3)
Wave equations, linearly damped wave equations, Maxwell’s equations, linear elasticity.
- (4)
Visco-acoustic and viscoelastic equations solved via memory variables (see §4.1).
- (5)
Strictly hyperbolic pseudodifferential equations, Tricomi equations.
2.1. Finite difference system
Let denote the finite difference operator
[TABLE]
where is a finite set usually consisting of a subset of the integers or half-integers, and the coefficients are chosen so that becomes an approximation of the first order time derivative . Introduce the finite difference operators
[TABLE]
corresponding to the differential operators discussed above, obtained by approximating the time derivatives by means of . Note that the spatial operators thus are the same in and . Here and for the majority of the paper denotes the composition
[TABLE]
which means in particular that the same scheme is assumed to be used as a basis for in each of the operators . The case of non-matching finite difference schemes is discussed briefly on page Nonmatching finite difference schemes below and again in §A.3 in the appendix.
Taking a partial Fourier transform of (2.4) we observe that
[TABLE]
In view of this identity and the fact that
[TABLE]
we define a phase shift function as
[TABLE]
so that
[TABLE]
We will assume that is chosen in such a way that is real-valued and invertible as a mapping for some subset . For a comment on the case when is not real-valued (which happens e.g., in the case of a forward Euler scheme), see the remark on page Backward and forward type schemes. Note also that with respect to the normalized variable , the right-hand side of (2.7) is invertible for all belonging to some fixed, -independent set. In fact, under the natural assumption that is independent of , it follows that
[TABLE]
is a trigonometric polynomial independent of .
Example 2.2**.**
Let be given by (2.4), where the index ranges over the integers, and choose coefficients and for all other values of . Then is the central difference operator
[TABLE]
and . It follows that is invertible for where . In other words, is invertible when the normalized variable satisfies . Moreover, .
Example 2.3**.**
Let be the approximation of a second order derivative given by
[TABLE]
compare with the approximation of in Example 2.1. Then is equivalent to two applications of the central difference operator from Example 2.2 at half the step size, namely
[TABLE]
It follows that for and . This finite difference operator appears in connection with certain leapfrog schemes. We mention that can also be found by applying a Fourier transform to both sides of (2.9) followed by easy calculations, compare with Remark 2.4 below.
Remark 2.4*.*
As mentioned in the introduction, there is a connection between the phase shift function and the so-called amplification factor appearing in von Neumann stability analysis; in fact, their definitions use the same idea although it is applied to the time domain for the phase shift function whereas it is applied to the spatial domain for the amplification factor. To see this, consider for example the one-dimensional heat equation . Suppose we discretize the equation as
[TABLE]
where the time derivative is approximated using a forward Euler scheme and the second order spatial derivative is approximated using the finite difference scheme in Example 2.3 but now in instead of . By taking a partial Fourier transform in of both sides we may write this as
[TABLE]
Rearranging terms and using Euler’s formula gives
[TABLE]
The function in brackets is called the amplification factor at wave number and it depends on the choice of spatial discretization scheme. By the double angle formula we see that for this particular choice it satisfies
[TABLE]
where is the phase shift function from Example 2.3, now defined with respect to and evaluated at wave number instead of and frequency . (In von Neumann analysis one usually considers the case of a plane wave at fixed time and assumes that for some amplification factor which is found by inserting these expressions in (2.10), see e.g., LeVeque [18, Ch. 9]; the result is the same.)
2.2. Time dispersion transforms
Let denote the characteristic function of a set , so that if and if . Based on the previous discussion we will henceforth assume that the function introduced above is restricted to the largest subset of its domain of definition containing the origin where the mapping is invertible. The inverse function is assumed to be defined on . We also assume that and both exhaust in the limit as .
Definition 2.5**.**
Let be a function integrable in . Given a finite difference operator , let be the corresponding phase shift function in (2.7). Define the forward time dispersion transform (FTDT) of as
[TABLE]
Define the inverse time dispersion transform (ITDT) of by
[TABLE]
The definition extends in the natural way to distributions with well-defined Fourier transforms which are integrable on and . For example, since the Dirac measure has Fourier transform the FTDT of is
[TABLE]
Example 2.6**.**
Let for , so that is the phase shift function corresponding to the finite difference operator in Example 2.2. Then
[TABLE]
where is the sinc function.
For future purposes we record the fact that
[TABLE]
which follows by a straightforward change of variable. Similarly, we also have
[TABLE]
Finally, note that
[TABLE]
which together with a straightforward calculation shows that
[TABLE]
In other words, does not equal , but the bandlimited version of with frequency support contained in the range of . Thus, if is already bandlimited then for sufficiently small . As we will demonstrate, the effects of the approximation are negligible also for non-bandlimited functions with sufficient decay at infinity as long as is chosen sufficiently small (so that is large enough). This latter situation is analyzed in depth in what follows, in particular in Section 3.
Example 2.7**.**
Consider again the case when for . Let be a bandlimited function so that for some minimal number (the bandwidth). By the Nyquist-Shannon sampling theorem, the sampling rate necessary to accurately represent is . However, in order to utilize the entire frequency content of when computing the forward dispersion transform , the sampling rate has to be doubled since if and only if , i.e., . Furthermore, the sampling rate has to be effectively tripled in order for to equal , since if and only if
[TABLE]
i.e., . These drawbacks can sometimes be removed, respectively improved, by using a staggered grid provided that the original equation (2.1) permits such leapfrog discretization schemes (compare with Example 2.3). See Section 4 and Appendix B for an example of such an implementation.
We shall now examine the applications of Definition 2.5 for evolution equation modeling. The following theorem establishes a correspondence between the system of differential equations (2.1) and its counterpart obtained by approximating time derivatives with finite differences. In particular, it shows how to use the FTDT to modify the source function in (2.1) when changing to a system of finite difference equations, and how the ITDT turns a function satisfying said finite difference system into an exact solution of the original evolution equation.
Theorem 2.8**.**
Let be a solution to the evolution equation (2.1). Set and . Then satisfies the finite difference system
[TABLE]
for each value of , where is the finite difference operator given by (2.5), obtained from by approximating time derivatives with finite differences. Conversely, suppose that is a function satisfying (2.16) for all , where each and is integrable in . Set and . Then satisfies (2.1) for all .
Note that in neither of the two statements of the theorem is the function obtained by solving the finite difference system (2.16), which comes with considerations of stability when choosing step size . Obtaining by numerically solving (2.16) is of course the ultimate goal, but this first requires a discussion about discrete versions of the dispersion transforms and is postponed until subsection 2.3. There we also address the issue of interpolating a discrete solution to make it possible to verify that it satisfies the continuous equation (2.1), see Theorem 2.9.
Proof.
First note that applying the Fourier transform to (2.1) and evaluating at gives
[TABLE]
Next, using the definition of together with (2.6)–(2.7) we get
[TABLE]
by the Fourier inversion formula. Now substitute and use (2.17) to obtain . By construction, the right-hand side equals , which proves the first part of the theorem.
To prove the converse statement, suppose that is some function satisfying (2.16) for all . Since the are integrable we may apply the Fourier transform to both sides of (2.16). Doing so we find by inspecting (2.5) and using (2.6)–(2.7) that
[TABLE]
Setting we see by (2.13) that . Applying to and differentiating under the integral sign shows that is equal to
[TABLE]
By (2.18) we conclude that , where the last identity follows by (2.13). This completes the proof. ∎
We conclude this subsection with a few general remarks.
Fourier integral operators*.*
Close inspection of (2.13) and (2.14) using the normalized phase shift function defined in (2.8) shows that the dispersion transforms and can be formally interpreted as Fourier integral operators depending on a small semiclassical parameter (see Appendix A.1). As such, they are associated with a canonical map and its inverse acting on phase space via
[TABLE]
The physical meaning of this is well understood in terms of dynamics of wave packets [6]. We provide a detailed presentation in §A.1.1, briefly summarized as follows: let be a point in phase space and consider a Gaussian wave packet defined by
[TABLE]
When we have as , where means for all . Similarly, the semiclassical (i.e., scaled) Fourier transform
[TABLE]
is as if . Such a function is said to be microlocally small outside . By Proposition A.2, the ITDT of is microlocally small outside
[TABLE]
and the FTDT of is microlocally small outside
[TABLE]
Thus in this sense, as , the ITDT of behaves like the wave packet and the FTDT of behaves like the wave packet . This phenomenon is illustrated in Figure 1.
We also mention that by using arguments similar to those in the proof of Theorem 2.8, it is straightforward to check that . Viewing the dispersion transforms as Fourier integral operators, the proof of the first statement in Theorem 2.8 would then proceed by simply noting that, by assumption, and , so
[TABLE]
The converse statement of Theorem 2.8 can be proved in a similar way. In the sequel we shall continue to prefer elementary proofs using explicit formulas instead of relying on the framework of microlocal analysis. However, this interpretation does succinctly highlight the obstruction caused by allowing time-dependent coefficients in (2.1), see the discussion in Appendix A.1.
Initial conditions*.*
These are not mentioned in Theorem 2.8. Since the finite difference schemes we have considered so far are multistep methods, initial data for is required to get started. The natural choice is to impose the same initial conditions for (2.16) as for (2.1); this is also motivated by the fact that for , dispersion should not yet have started to affect the numerical solution. However, suppose that is the solution to (2.1) with initial condition (2.2), and let be a function satisfying (2.16) with the same initial condition. Then for , but due to the non-local nature of the dispersion transforms, this is not true for which introduces an approximation error between and . On the other hand, according to Lemma A.3 the error is small and controlled by the time-step size (see §A.2 for precise statements). Assuming that solutions of (2.16) depend continuously on the initial data we thus conclude by Theorem 2.8 that will continue to stay close to for all time. The introduction of this error is also mitigated by the fact that when both dispersion transforms are used together in a modeling scenario as pre- and post-filters, then a reverse error is introduced during the post-filtering process. This is given credence by the numerical results in Sections 3 and 4. In view hereof we will from now on always assume that unless stated to the contrary, initial conditions are given by (2.2).
Backward and forward type schemes*.*
In this case, the phase shift function will not be real-valued in general. Still, under certain conditions one can define a version of the FTDT and ITDT, although this requires sufficiently fast (exponential) decay of the solutions for the definitions above to make sense. This happens, e.g., if for , for some constants and , while for , for then the integral
[TABLE]
defining is absolutely convergent for all . In particular, is well defined. If the satisfy similar decay conditions then the first statement in Theorem 2.8 immediately generalizes to cover this situation. The converse statement can also be generalized using similar adjustments. We leave it to the interested reader to fill in the details.
Nonmatching finite difference schemes*.*
Due to the coupled nature of (2.1) it was essential in the proof of Theorem 2.8 that the same finite difference approximation of the time derivative was used for all involved operators . As soon as this is not the case, the result ceases to hold without appropriate modifications. For comparison, one such example of nonmatching finite difference schemes is provided in §A.3.
2.3. Discrete transforms
Theorem 2.8 shows how to use the FTDT to compensate for numerical dispersion when passing from a continuous equation to a finite difference equation, and that the ITDT should be used afterwards to turn a solution of the finite difference equation into a solution of the desired continuous equation. However, Theorem 2.8 failed to address how to apply the ITDT to a solution obtained by actually solving a finite difference equation (modified using the FTDT). For this, we must introduce suitable discrete versions of the transforms. In the process, we will obtain a methodology for correctly simulating the solution to an evolution equation of type (2.1).
We will demonstrate how to simulate the solution for , where is the desired lifespan. Discretizing the equations in time and correcting for time dispersion leads us to solve the difference system (2.16). Suppose therefore that is a computed solution to (2.16), with known values at times , . (We describe below how to compute the right-hand side of (2.16) using discrete sums.) We assume that for some integer , so that
[TABLE]
and denote by the set of sampling points
[TABLE]
We will assume that is chosen small enough depending on the spatial operators so that the resulting difference system (2.16) is numerically stable.
We begin with a general discussion and let be a function of with known values at the points in . Let and introduce
[TABLE]
This is a Riemann sum of the integral and as such an approximation of provided vanishes outside . Inspecting the definition (2.13) of we then choose a partition of and define a function of the continuous variable via
[TABLE]
Here, is the distance between two consecutive points and in the partition. The formula is thus a Riemann sum of the integral . In view of (2.13), this is clearly a discrete representation of the ITDT defined in §2.2. Its usage allows for modeling the desired solution of (2.1) with correct evolution in time.
Theorem 2.9**.**
Let and be a solution of (2.16) computed at times for . Define and . Then solves (2.1) for .
Proof.
In the proof we let be fixed and suppress it from the notation. If is a function sampled on and is given by (2.4) then a simple calculation shows that
[TABLE]
The second factor on the right is identified as , with given by (2.7). We record the fact that if solves (2.16) then , which in view of (2.22) means that
[TABLE]
Next, inserting the definition of
[TABLE]
into (2.1) and differentiating we get
[TABLE]
In view of (2.23) we conclude that
[TABLE]
By definition, the right-hand side is equal to , which completes the proof. ∎
Having verified that evolves correctly in time, we now discuss how the transform acts on arbitrary vectors in a discrete setting. Given a solution to (2.16) with known values at times , , we first construct the function as above. To obtain a function sampled on we simply evaluate at the points , . This immediately generalizes to an arbitrary vector of length : given any vector we define its inverse time dispersion transform by
[TABLE]
for .
We now describe how to compute the FTDT (of, e.g., the right-hand side of (2.1)) using discrete sums. For any function sampled on we define a modified version of the samples by
[TABLE]
where the frequencies are as above. Thus is defined by replacing by in the definition of . Next, define a function of the continuous variable via
[TABLE]
which in view of the previous discussion is a Riemann sum of the integral defining . To obtain a function sampled on we evaluate at the points , . Finally, to define the FTDT of a vector we identify , , with a vector and define the forward time dispersion transform of as
[TABLE]
As with the inverse time dispersion transform, this immediately generalizes to an arbitrary vector of length . Given any vector we thus define its forward time dispersion transform by
[TABLE]
Combined with Theorem 2.9, the previous discussion yields the main result of this section.
Theorem 2.10**.**
Let . Given a source function of (2.1), set and let be a solution of (2.16) computed at times for . Define . Then, for , solves (2.1) with replaced by .
We stress that, as mentioned in §2.2, the composition of the FTDT and ITDT is not the identity mapping since is a bandlimited version of with frequency support contained in . In particular, suppose we want to simulate a solution to (2.1) with source term . To do so, the method prescribed by Theorem 2.10 is to compute , i.e., the (discrete) FTDT of the source term, and solve the discretized equation (2.16) with source term . If is the obtained solution, the theorem implies that simulates the evolution of the solution to the original equation (2.1) but with source term
[TABLE]
which is an approximation of the bandlimited version of with frequency support contained in . If the frequency content of is negligible outside a compact set then one can make sure to capture its most relevant features by choosing sufficiently small. This follows since as and is investigated in detail in Section 3 below (see Figure 3).
Remark*.*
Note that a priori, the vector in (2.24) and (2.26) should be a vector representing a function sampled on . If not, interpreting the continuous FTDT and ITDT as Riemann sums lead to different discrete formulas since the range of the index changes. Note also that although the evolution equation (2.1) is translation invariant, the FTDT and ITDT transforms are not. In particular, we have
[TABLE]
in general. However, this is not a problem since we do in fact have
[TABLE]
as a consequence of (2.15) (in analogy with the Fourier inversion formula). Thus, when solving a Cauchy problem on, say, , one can still apply (2.24) and (2.26) to a vector representing a function sampled on . Heuristically, this amounts to the same as translating the original equation to , applying the transforms there, and translating back. In view of the discussion preceding this remark one is then simulating a solution to an evolution equation with source term
[TABLE]
2.4. Fast implementation
In practice, the formulas (2.24) and (2.26) can often be simplified once a specific choice of phase shift function is made. Specifically,
- •
using the normalized variable can allow the formulas to be interpreted as discrete Fourier transforms which can be implemented using the fast Fourier transform (FFT), and
- •
using symmetry properties of and can allow for more efficient algorithms.
Both situations are showcased in the following example.
Example 2.11**.**
Let be the central difference operator from Example 2.2,
[TABLE]
Then . Assume as above that where is the number of sampling points in the time domain, and is the desired lifespan of the solution. Then . To avoid cumbersome notation we will assume that is even so that is an integer. Inspecting (2.24) we see that we can compute the inner sum by means of the discrete Fourier transform by choosing appropriately. We pick
[TABLE]
so that when . Substitution into (2.24) gives after cancellations that
[TABLE]
As stated, the inner sum is the value at of the discrete Fourier transform of , where is zeropadded to twice the length (i.e., the :th Fourier mode of the vector of length ), and can be computed, e.g., using the FFT. The outer sum is the value at of a modified discrete inverse Fourier transform (truncated to use only the Fourier modes for instead of the full range ). If discrete transforms of numerous samples are to be computed, it is advantageous to interpret (2.27) as a linear map acting on the vector and compute the corresponding matrix. The cost of this operation scales as . Details for implementation in MATLAB can be found in Appendix C.1.
In a similar manner we find by substituting the expression for into (2.26) that
[TABLE]
Here, the inner sum is a modified discrete Fourier transform while the outer sum is a truncated discrete inverse Fourier transform at . The outer sum can be computed using the inverse FFT. We also observe that if is a vector with real entries, then the inner sum in equals in the notation above, where and bar denotes complex conjugation. This is a consequence of the fact that sine is an odd function. Similarly, , and these symmetries can be used for a more efficient implementation. See Appendix C for details. Note that both (2.27) and (2.28) only contain frequency content up to a quarter of the sampling rate, i.e., up to half the Nyquist (folding) frequency. This situation is avoided when a leapfrog scheme can be employed, see Appendix C.2.
Remark*.*
An alternative definition of found in the literature [15] is obtained by using Riemann sums to approximate (2.12) instead of (2.13). One such example is
[TABLE]
where the are points evenly distributed in and the first factor is the distance between consecutive points and . For implementation using the discrete Fourier transform, a natural option is to choose so that for those for which . Then for in a subset of , and the formula above reduces to
[TABLE]
(The absence of the factor found in (2.24) is explained by the relation
[TABLE]
where is the preimage of .) It is easy to see that with as in Example 2.11 this results in
[TABLE]
where is the largest integer such that . Here, the inner sum is a modified discrete Fourier transform while the outer sum can be computed using the inverse FFT.
3. Numerical simulations of a model equation
Here we propose to examine the accuracy of the method by solving a family of ordinary differential equations with known analytic solutions and comparing the resulting numerical solutions, corrected to account for dispersion, with simulations of the analytic expressions. To describe the method’s inherent limitation that comes from restricting the frequency support of the adjusted source term (see the discussion after Theorem 2.10), we shall perform tests with source terms of varying frequency support. We consider the simple model
[TABLE]
where the source is a modulated Gaussian window function given by
[TABLE]
This is the probability density function of a normal distribution with mean and variance , modulated by the factor with modulation parameter controlling the location of the frequency support of .111In contrast to the wave packets discussed in the remark on page Fourier integral operators and in Appendix A.1, the parameter is a priori independent of . In addition, in line with the conventions of probability theory, the factor of normalization has been taken here with respect to the usual norm instead of the norm. Because of the initial condition in (3.1), the source term should vanish for . Moreover, in most applications that we have in mind, the energy is assumed to have dissipated by the end of the experiment. For these reasons we will center at (say) by taking , take so small that is (practically) zero for , and run the experiment well past . In particular, if is the Heaviside function then we will not distinguish between the functions and in what follows. Taking Fourier transforms we see that if is a solution of (3.1) then
[TABLE]
where we identify the first factor on the right as the Fourier transform of . By the Fourier inversion formula it follows that is given by the convolution
[TABLE]
Applying the methodology presented in Section 2 we shall compare a sample of for with a numerically computed solution using the time dispersion transforms. To this end, we consider
[TABLE]
where is the central difference operator (appearing in Example 2.11) given by
[TABLE]
and is the FTDT of , i.e.,
[TABLE]
compare with (2.28). The sample is computed using the implementation of the FTDT described in Appendix C.1. After solving (3.4) we finally compute the ITDT of using formula (2.27), again implemented as described in Appendix C.1. To minimize potential wraparound effects resulting from using the dispersion transforms (inherited from the FFT and the inverse FFT) on a modulated source function, we will solve the difference equation for and apply a tapered cosine window, affecting the final sample points when , before computing the ITDT of the result. For transparency, we include plots obtained both with and without this taper.
3.1. Varying the modulation
In Figure 2a we display the analytic solution computed using (3.3) and sampled at with . The source function was chosen to have mean , variance and modulation . We furthermore show the numerical approximation of and its error due to the standard central finite difference scheme and the forward Euler scheme. Finally, we use the time dispersion transform method to compute the solution, and show the difference between and with and without using a taper. The numerical results are computed on a desktop with Intel Xeon CPU E5-1650 v3 , running MATLAB 2017. It takes 0.083 seconds to compute and apply the FTDT to the source function; 0.00049 seconds for the 1000 time integration steps; and 0.077 seconds to compute and apply the ITDT to the solution vector. The time dispersion transform method outperforms the standard schemes by at least 9 orders of magnitude – when the taper is used we even obtain accuracy up to an order of on the range .
Figure 2b shows the result of adding a modulation by changing to . We see that the Fourier support of the source function still sits comfortably within the critical frequency set , which for is given by with measured in . The method continues to perform remarkably well, particularly in comparison with the forward Euler and central finite difference schemes. The computation time is identical to the previous case.
It should be mentioned that the discrete Fourier transform (and its implementation, the FFT) can be viewed as a trapezoidal rule quadrature applied to the Fourier transform integrals. For bandlimited functions, the approximation order is superalgebraic (meaning infinite approximation order) once the sampling is finer than what the bandlimitation prescribes. Implementing the transforms using the FFT and its inverse therefore makes the proposed method especially well suited for the type of essentially bandlimited source functions considered here and helps explain the high quality of these results.
3.2. Varying the frequency support
In Figure 3a we have tried to break the method by setting . We see that a part of the Fourier support of the source function is now outside the critical frequency set and the reconstruction of the analytic solution is quite poor. This is in part due to the strong oscillations of ; we see in Figure 3a that the Euler scheme also completely breaks down. However, we see that adding a taper results in partial recovery. The computation time is identical to the previous two cases.
As explained in the paragraph following (2.26), we can improve the recovery by decreasing , thus making sure that is large enough to capture the most relevant frequency content of . The result of taking and keeping all other parameters the same can be seen in Figure 3b. Again, our proposed method performs at least 8 orders of magnitude better than the standard schemes. It takes 0.215 seconds to compute and apply the FTDT to the source function; 0.0175 seconds to compute the 2000 time integration steps; and 0.240 seconds to compute and apply the ITDT to the solution.
4. Viscoelastic wave simulation
Here we test the accuracy of the method on seismic wave simulation, with the purpose of supplementing the previous section with a more realistic situation in which an analytic expression for the sought solution is not available. For comparison we provide simulations both of non-dissipative (elastic) as well as dissipative (viscoelastic) waves.
4.1. The viscoelastic equations
A common approach to model wave propagation in anelastic media exhibiting both elastic and viscous behavior is to use viscoelastic theory [24]. For elastic media, it is common to use the analogy of a spring to model the medium under strain (by assuming that Hooke’s law of proportionality between force and displacement holds). This is a linearized assumption that holds well for small displacements such as those found for seismic waves. In tensor notation, each component of the stress tensor will then be a linear combination of all components of the strain tensor. For viscoelastic media, the spring analogy is replaced by the analogy of a spring and dashpot in series, in parallel with another spring. The resulting model is known as a standard linear solid, and several standard linear solids can be connected in parallel to emulate a desired viscoelastic behavior. In a viscoelastic medium, then, each component of the stress tensor will be a linear combination of the entire history of the strain tensor, rather than only its current value. As it is memory-intensive to store the entire strain history, the system of equations is typically reformulated with the use of two constitutive relations, one that expresses the stress as a function of strain and a so-called memory variable, another that expresses the memory variable in terms of the strain and the memory variable itself. Below we recall the resulting equations in two and three dimensions; however our findings also apply to the one-dimensional case. For details of the derivation we refer to [24], [2] and [3].
Wave propagation in a viscoelastic medium with standard linear solids can be described by Newton’s second law
[TABLE]
together with the stress-strain relation
[TABLE]
with the so-called memory equations:
[TABLE]
In the equations above and throughout this section we employ Einstein notation and sum over repeated indices. The meaning of the symbols is as follows:
is the density,
denotes the :th component of the stress tensor ( in two dimensions and in three dimensions),
denote the components of the particle velocity,
are the components of external body force,
are the memory variables ) corresponding to the stress tensor ,
is the stress relaxation time of the :th standard linear solid for both pressure and shear waves,
- ,
define the level of dissipation for pressure and shear waves, respectively,
denotes the relaxation modulus corresponding to pressure waves analogous to in the elastic case, where and are the Lamé parameters,
is the relaxation modulus corresponding to shear waves and is the analog of the Lamé parameter in the elastic case.
The equations describe the propagation of mechanical waves through a solid, in terms of strains (particle displacements away from their resting position) and stress disturbances (away from the reference stress states), as a function of spatially varying material properties. In geophysics, these equations can be used to model the propagation of seismic waves through realistic dissipative Earth models. The viscoelastic behavior is governed by the parameters , and , , which all depend on the spatial variable . Here and are computed using a variable so-called model consisting of one component for the pressure wave and one component for the transverse shear wave via
[TABLE]
is a quality factor that approximately measures the amount of energy dissipation [3], with corresponding to the elastic, undamped case.
We end by noting that (4.1)–(4.3) constitutes a system of equations of the form (2.1). Indeed, considering the two-dimensional (2D) case, denote by , denote the three distinct , , by , and the distinct memory variables by . Finally, we note by inspecting the equations above that the spatial operators involved are linear and independent of .
4.2. Model introduction
We apply the theory of the previous section on a viscoelastic wave modeling example, using the leapfrog scheme described in detail in Appendix B to solve (4.1)–(4.3). Since leapfrog schemes are the simplest energy-conserving integrators [9] this is a natural choice in order to avoid numerical dissipation errors and thus isolate the effects caused by numerical dispersion errors.
We use the open-source 2D modeling engine SOFI2D developed by Bohlen et al. [4] to perform the 2D viscoelastic simulation. Time is discretized into steps of constant length . Similarly, continuous space is discretized into a 2D grid with spacing of and in the and directions. The wave equation is then solved using staggering of quantites in space, and using the leapfrog method to integrate the wave equation in time [27]. The spatial derivatives are efficiently approximated with a central 1D finite difference stencil of half-order 6:
[TABLE]
for which the weights are given in Table 1.
These weights correspond to an equiripple (minimax) filter that keeps the group-velocity error of the first-order derivative approximation confined to within 0.1%. Such ‘optimal’ finite difference coefficients are customary in geophysical finite difference modeling [22], see e.g. [13] for the design procedure. We state the Courant-Friedrichs-Lewy (CFL) condition that ensures stability of the 2D simulation given the second-order accurate integration of the equations in time, as a function of the chosen discretizations and maximum velocity encountered in the simulation:
[TABLE]
We will see that the maximum velocity present in the model is , and we choose a spatial discretization of . The maximum stable time-step then follows as . We choose this as the ‘coarse’ time-step. We can compare this coarse solution against an additional ‘fine’ simulation, which uses a time-step of , which we consider to be the reference solution for our purposes.
The model used for the simulation is the Marmousi 2 model [19], which provides a density model (), a model for compressional wave velocities () and transverse shear velocities () which reflect the instantaneous elastic deformation modes for (4.1)–(4.3):
[TABLE]
The models for , and are shown in Figure 4a. For the viscoelastic modeling we furthermore create the model used in (4.4) by smoothing the and models and normalizing them to a maximum of 350, as shown in Figure 4b. Additionally shown in the figures are the source location at and a series of recorders along the entire upper model boundary at for , with the coordinates in meters. One specific recorder at is highlighted as an arbitrarily shown recorder that will be zoomed in upon in the results.
The source-time function of the model is a typical seismic source wavelet, described as a peak frequency Ricker wavelet with a time-delay of :
[TABLE]
The source is injected as an explosive source that radiates equally in all directions. The recorders along the upper model boundary record the pressure variations (the diagonal stress components ) as a function of time at every simulated.
4.3. The elastic model results
We first test the theory in an elastic case, in which we take so there is no damping, and with so there is no relaxation mechanism at all. The evolution of the wave equation is then computed from time 0 to with three model runs:
- (1)
using a coarse time-step of without correcting the source or receiver time-series, 2. (2)
using a coarse time-step of , but using the FTDT to correct the source injection time-series (4.5), and the ITDT to correct the recorded time-series, 3. (3)
using a fine time-step of as a reference solution.
As the implemented wave equation solver scales linearly in time (keeping the spatial discretization in place), the third simulation thus costs 100 times more computational time. In this elastic instance, it takes 50 seconds to compute simulations (1) and (2), but 75 minutes for the simulation (3). Application in simulation (2) of the FTDT on the source-time function takes half a second to compute, and applying the ITDT to all 1359 recorded signals takes seven seconds in total. This is, essentially, of negligible cost compared to the fine simulation (3).
After finishing all the computations, we subsample the fine simulation to be able to compare the results sample-by-sample. The computed result is then shown in Figure 5. We show a zoom on a single recording (its location is denoted in cyan in Figure 4 but was chosen arbitrarily). It is clearly visible that the coarse simulation (1) created a recording that differs starkly from that made within the fine simulation (3). Conversely, after applying the time dispersion transforms on the source-time function and the receiver time-function, we obtain a solution that follows the correct phase and amplitude of the fine simulation. The two images below the graph in Figure 5 subtract the results of the coarse simulations from the fine simulation – confirming that the correction procedure in this paper removes the dispersion error effectively for all recordings. The sum of all 1359 root mean square (RMS) errors along all traces is 1634 for the coarse case, and 1.6 for the simulation with the proposed time dispersion transforms – the error energy is thus reduced by a factor 1018. The remaining errors seem to be of localized impact only, affecting strong peaks and throughs in the time-series, but do not seem to accumulate over time.
4.4. The viscoelastic model results
The viscoelastic model uses three relaxation mechanisms () to model the spatially heterogeneous model. Apart from these changes to the physical model, we proceed in exactly the same way as in the previous example. The computed result is displayed in Figure 6. The amplitudes in this model decrease with time as exemplified by the now 10 times smaller amplitudes in the graph compared to the elastic case, due to the damping. Like the elastic case before, the coarse simulation with differs significantly from the fine simulation with . Conversely, applying the proposed corrections to the coarse simulation creates an adequate fit to the fine simulation. The computational time of all simulations is roughly doubled compared to the elastic simulation at 100 seconds for the coarse simulations and over 2 hours for the viscoelastic simulation. The FTDT and ITDT are still applied to the source-time function in half a second and to all 1359 traces in 7 seconds, respectively. The sum of all 1359 RMS errors along all traces is 212 for the coarse case, and 1.47 for the coarse case using the proposed transforms. Again, the error energy is reduced (now by a factor of 144) at very little additional cost. Again, these errors do not accumulate for longer simulation times.
Acknowledgements
Jens Wittsten was supported by the Swedish Research Council grants 2015-03780 and 2019-04878. Erik Koene was supported by SNF grant 2-77220-15. We gratefully acknowledge the work of Thomas Bohlen, Denise De Nil, Daniel Köhn and Stefan Jetschny on the open-source code SOFI2D used in the viscoelastic simulations. We wish to thank Christof Stork for interesting discussions. We also thank the referee for valuable comments and suggestions.
Appendix A Auxiliary results
A.1. Fourier integral operators
Here we show how the dispersion transforms can be naturally understood as Fourier integral operators (FIO). In this context it will be convenient to view as a small (semiclassical) parameter . We define the semiclassical Fourier transform of a function by
[TABLE]
so that . The Fourier inversion formula then takes the form
[TABLE]
Standard references for semiclassical analysis are Martinez [20] and Zworski [29].
Recall the normalized phase shift function introduced in (2.8) which satisfies , and define by if and only if . By changing variables in (2.13) it is easy to see that
[TABLE]
Note that and , which implies that , so making the change of variables in (2.11) similarly gives
[TABLE]
If is a function whose semiclassical Fourier transform has support contained in a set we will say that is -bandlimited in . Applying the ITDT to a function already -bandlimited in can be naturally understood, in view of (A.1), as the action of a semiclassical FIO (call it ) which in has phase function and symbol . is associated to the canonical transformation locally given by
[TABLE]
i.e., by (2.19). Similarly, is a semiclassical FIO (call it ) which in has phase function and symbol . is associated to the inverse map . The composition acts as the identity operator on functions -bandlimited in . The composition acts as the identity operator on functions -bandlimited in . Furthermore, using the Fourier inversion formula and arguments similar to those in the proof of Theorem 2.8, it is straightforward to check that , so that, as operators acting on functions -bandlimited in , .
Note that the previous discussion can also be had in the framework of microlocal analysis for fixed , i.e., without viewing as a semiclassical parameter. Our choice was made in preparation for §A.1.1 below. If one instead takes the other viewpoint and repeats the arguments above one finds that the dispersion transforms are realized as FIOs associated to the canonical map
[TABLE]
and its inverse. This gives a formula for the appropriate discrete operator to be used for given choice of discrete approximation of the time derivative, even in the case when time-dependent coefficients are allowed in (2.1). In fact, if is the corresponding phase shift function, then the previous paragraph shows that should be replaced by (a discretized version of)
[TABLE]
By Egorov’s theorem, this operator is a pseudodifferential operator with an integral representation
[TABLE]
where, with abuse of notation, the symbol is a function defined on phase space (omitting all dependence on the spatial variable ). Assuming that plus lower order terms, the principal symbol of is given by
[TABLE]
The lower order terms of can be expressed in terms of and derivatives of the symbol of . However, due to the dependence of for example in , the two factors on the right cannot be separated in such a way that the operator is directly realized as a finite difference operator. Investigating the case of time-dependent coefficients is therefore beyond the scope of the current paper and will not be pursued further here.
A.1.1. Dynamics of wave packets
For , a function of the form
[TABLE]
will be called a Gaussian wave packet. Here has been normalized with respect to the usual inner product in . We see that when , is negligible if , where means for all . Similarly,
[TABLE]
is negligible if . These notions are combined in the following definition.
Definition A.1**.**
Let , , be a family of functions in . We say that is microlocally small near if the inner product
[TABLE]
uniformly for in a neighborhood of . The complement of such points is called the semiclassical wavefront set of , denoted .
Another common name for the semiclassical wavefront set is frequency set, usually denoted . For other equivalent definitions, including those employing the Fourier-Bros-Iagolnitzer (FBI) transform we refer to Martinez [20] and Zworski [29]. Our presentation is inspired by Faure [6].
As alluded to above, which is made evident by computing the inner product
[TABLE]
The following result describes how the wavefront set of a Gaussian wave packet is affected by the dispersion transforms.
Proposition A.2**.**
Let be a Gaussian wave packet, and let be the canonical map given by (2.19). Then
[TABLE]
Proof.
We will prove the first identity; the proof of the second is similar and is left to the reader. Changing variables in (A.1) we see that
[TABLE]
so an application of the Plancharel formula gives
[TABLE]
In view of (A.3), is therefore equal to the integral
[TABLE]
Due to the quadratic terms in the exponential, this is clearly in the semiclassical limit if there is no such that , i.e., such that . Writing the remaining oscillatory factors as with , it follows from the principle of non-stationary phase that the integral is also unless , see e.g., [29, Lemma 3.10]. But implies that
[TABLE]
so . That we in fact have equality follows by applying the method of stationary phase to (A.4) with determined above. The phase function
[TABLE]
satisfies and has a unique critical point at , which is non-degenerate since
[TABLE]
Multiplying by a cutoff function which is identically near thus gives
[TABLE]
see Hörmander [12, Theorem 7.7.5]. Since , the right-hand side is not smaller than as , which yields the result. ∎
A.2. Initial conditions
Let be the solution to (2.1) with initial conditions (2.2), so for . By virtue of Theorem 2.8, satisfies the corresponding finite difference equation modified to account for time dispersion, namely (2.16). Suppose we want to use (2.16) to obtain a sampling of . This would require adding initial conditions to (2.16), and it is natural to use the same initial conditions (2.2) as before. Let therefore be a function satisfying (2.16) with initial conditions (2.2), so that for . Then because the equation but not the initial condition for has been modified using the FTDT, this introduces an approximation error between and . Indeed, for while we have, by the Fourier inversion formula and the definition of ,
[TABLE]
which does not equal
[TABLE]
and thus for . We see that the “correct” finite difference initial value problem to solve in order to obtain a sampling of would be (2.16) with initial condition given by (A.5) for . Since this would involve using knowledge of this is obviously not possible in practice. On the other hand, since and have the same evolution in time according to Theorem 2.8, will continue to stay close to for all as long as is approximately identically zero for . The accuracy of approximation is ensured by the following lemma, expressed in terms of derivatives of orders for which the regularity assumption (2.3) is valid.
To keep the presentation general, we make the assumptions that
- •
converges pointwise to 1 as , i.e., exhausts in the limit as ,
- •
converges pointwise to as ,
- •
for where is a real-valued constant independent of .
We also assume that has a decomposition consisting of an inner and outer region where as , such that for some real-valued constants independent of ,
- •
if ,
- •
if ,
- •
has Lebesgue measure .
To illustrate, if is the function described in Example 2.2 then these assumptions are satisfied with , and , , .
Lemma A.3**.**
[TABLE]
and the convergence is uniform with respect to in the sense of (2.3). The rate of convergence depends on the definition of the phase shift function in (2.7).
Proof.
Inspecting the definitions and recalling that we see in view of the Fourier inversion formula that the result is proved by showing
[TABLE]
with uniform convergence in . Indeed, the left-hand side is the limit of as and the right-hand side is equal to which is zero for by assumption. Note that (A.6) is essentially a consequence of the Lebesgue dominated convergence theorem. For the benefit of the reader we include the details.
Before treating each integral on the left separately we make two observations. First, (2.3) implies
[TABLE]
which means that for some integrable function , where as by the Riemann-Lebesgue lemma. Second, by assumption we have for with independent of , so
[TABLE]
We begin by treating the first integral on the left of (A.6). Recall that by our standing assumptions, is integrable in which means that is continuous in , while and pointwise as . Next, note that
[TABLE]
since implies that for which we have by assumption. Since is independent of and the right-most integral is convergent by (A.7), Lebesgue’s dominated convergence theorem together with (A.8) implies that
[TABLE]
uniformly in .
To treat the second integral on the left of (A.6), note that
[TABLE]
for . Since when and , it is then easy to see that
[TABLE]
with and independent of . Since as it follows that the supremum above tends to 0 as . In view of (A.8) we conclude that
[TABLE]
uniformly in . This proves (A.6). From the proof it is clear that the convergence is uniform with respect to in the sense of (2.3), and that the rate of convergence depends on . ∎
A.3. Non-matching finite difference schemes
Here we briefly discuss what can happen if non-matching finite difference approximations are used to define in (2.5). To highlight the effect we choose a simple prototype of the evolution equation (2.1): Let and consider the system
[TABLE]
where the are linear spatial operators independent of and is a constant. We will as before let denote a scheme satisfying all prior assumptions and use it to model the time derivative in (A.9), but we assume that (A.10) is an auxiliary equation and allow a different scheme to model its time derivative. (An example is provided by the usage of memory variables in (4.2)–(4.3), where in large-scale supercomputer global seismological simulations it can be desirable that the stress and displacement are updated at every step in time, but the memory variables only every 4 steps in time, which saves computational costs without being dramatically worse in performance.) Denote it by
[TABLE]
and define
[TABLE]
The next result explains how the discretized equations should be modified in order to accurately model the evolution of a solution to (A.9)–(A.10).
Proposition A.4**.**
Let be a solution of (A.9)–(A.10). Set
[TABLE]
and define for . Then solves
[TABLE]
for each value of , where denotes time convolution.
Proof.
Note that is well defined since is real-valued and the integration domain is a compact set. Also,
[TABLE]
Fix and suppress it from the notation, and let be the system , . Using the Fourier inversion formula and the definition of we have
[TABLE]
Taking a Fourier transform of (A.9) and evaluating at shows that
[TABLE]
so solves (A.11).
To prove that solves (A.12), we observe that
[TABLE]
This formula is easily obtained by taking a Fourier transform of (A.10), solving for and evaluating the result at . It follows that
[TABLE]
Since we find in view of (A.13) and (A.14) that
[TABLE]
Since , this is equivalent to (A.12) by virtue of the Fourier inversion formula. ∎
Proposition A.4 shows that the price one has to pay for using different finite difference schemes to approximate the time derivatives in (A.9) and in (A.10), is the appearance of a convolution in (A.12). Ignoring the convolution results in an approximation of the desired evolution that can be estimated in terms of the amount by which (A.13) differs from 1.
Note that if the constant in (A.12) is replaced by a spatial operator which, while independent of , is not simply constant in then the previous result has to be modified accordingly. By minor changes, the proof of Proposition A.4 shows that the result remains valid if is replaced by
[TABLE]
and (A.12) is replaced by
[TABLE]
We remark that is well defined due to the assumption that for .
Appendix B Viscoelastic finite difference equations
Here we discuss the removal of time dispersion from 2D and 3D viscoelastic finite difference modeling for a specific leapfrog scheme developed in [24] (see Bohlen [3] for an explicit implementation). Recall (4.1)–(4.3). The time derivative of a function is approximated by
[TABLE]
In this case, the phase shift function is found to be
[TABLE]
which is invertible for where , see Example 2.3. Here the upper limit coincides with the Nyquist frequency which is an improvement compared to finite difference scheme employed in Section 3. The drawback is the need to use a time average of the memory variables as described below.
Let denote the time average
[TABLE]
of a function . Equations (4.1)–(4.3) are discretized in time by
[TABLE]
together with
[TABLE]
and
[TABLE]
If in addition the spatial derivatives are discretized using a fourth-order staggered forward operator and backward operator as is done by Bohlen [3], one arrives at the discrete equations [3, (A.3)–(A.17)] after some straightforward calculations. (In this paper we have extended it to a twelfth-order scheme.) We then have the following.
Theorem B.1**.**
Let and solve (4.1)–(4.2), with memory variables solving (4.3). Define , and . Then for each value of , and solve (B.4) exactly and (B.5) approximately, where the are exact solutions to (B.6). In the numerical simulations of Section 4, the approximation error is .
Before the proof we recall from §4.1 that, according to Theorem 2.8, the functions , and are exact solutions to the equations obtained by removing all occurrences of the averaging operator from (B.4)–(B.6).
Proof.
We will keep fixed and omit it from the notation. We prove the statements when , the other case being similar. We first observe that for a function we have
[TABLE]
We also record the fact that if and solve (4.1)–(4.3) then
[TABLE]
where
[TABLE]
which follows from (4.3) and a straightforward computation.
By definition, . Similar formulas hold for and . Hence,
[TABLE]
by the Fourier inversion formula. Using (B.8) evaluated at instead of we see that the right-hand side is equal to , which proves that (B.4) holds.
Next, write
[TABLE]
Applying (B.9) evaluated at instead of we get
[TABLE]
We now take a Fourier transform in of (B.6). Using (B.7), elementary computations show that
[TABLE]
for , where the last identity follows by inserting the definition of and inspecting (B.10). Using (B.7) again it is straightforward to check that
[TABLE]
where the last factor is uniformly bounded for , and the second factor is when is restricted to a bounded, -independent set. In the simulations in Section 4 it turns out that is indeed supported in a -independent set, see Figure 7. In view of (B.11) we thus conclude that
[TABLE]
The result now follows by applying the Fourier inversion formula to the integral on the right. ∎
Naturally, there are also versions of Theorems 2.9 and 2.10 corresponding to Theorem B.1, as well as a version of the converse statement in Theorem 2.8. We leave for the reader to fill in the details.
Appendix C Implementation
Here we show how to implement the discrete dispersion transforms in MATLAB in two specific cases, namely the finite difference scheme from Example 2.11 that is used in the numerical simulations of Section 3, and the leapfrog scheme from Appendix B that is used in the viscoelastic simulations of Section 4. The interested reader should then be able to adapt the procedure to other cases without difficulty.
C.1. Central difference scheme
Consider the finite difference operator from Example 2.11 and recall (2.27). We see by inspection that we can view in matrix terms as row of a matrix applied to , where is the matrix with element
[TABLE]
at position . We may view the sum as ranging over with terms for being zero; in particular the term for is zero, and so would the term with be. Changing variables we thus see that this is the inverse discrete Fourier transform of evaluated at , where
[TABLE]
can therefore be computed by applying the inverse FFT to the matrix with columns and taking real transpose, e.g., via
where we also take advantage of conjugate symmetry. The last line truncates the matrix so it can be applied directly to the original vector without having to zeropad the sample manually as this is already built in.
Similarly, by inspecting (2.28) we see that we can view as row of a matrix applied to , where is the matrix with element
[TABLE]
at position . As before we may view the sum as ranging over with terms for being zero. We thus see that this is the inverse discrete Fourier transform of evaluated at , where
[TABLE]
can therefore be computed (without taking transpose) by applying the inverse FFT to the matrix with columns , e.g., via
As before, the last line truncates the matrix thus avoiding the need to zeropad the sample manually. The matrices and are depicted in Figure 8.
C.2. Leapfrog scheme
Consider now the leapfrog scheme from Appendix B and recall that in this case, the phase shift function is by (B.2), so is invertible for where . We remark that this is not the same as replacing by in the previous subsection since the time-step size for each individual function is in fact . Repeating the arguments in Example 2.11 for this choice of we find by inserting
[TABLE]
into (2.24) that
[TABLE]
Here the inner sum is the value at of the discrete Fourier transform of the vector zeropadded to twice the length. The outer sum is the value at of a modified discrete inverse Fourier transform (without truncation). This is the image of under the action of row of the matrix with element
[TABLE]
at position . Changing variables we identify this as the inverse discrete Fourier transform of evaluated at , where
[TABLE]
can be computed by applying the inverse FFT to the matrix with columns and taking real transpose via
Next, by inserting the expression for (shifted one index) into (2.26) we find that
[TABLE]
Thus we can view as row of a matrix applied to zeropadded to twice the length, where has element
[TABLE]
at position . This is the inverse discrete Fourier transform of evaluated at , where
[TABLE]
can be computed by applying the inverse FFT to the matrix with columns via
The reference list from the paper itself. Each links out to its DOI / PubMed record.
- 1[1] Lasse Amundsen and Ørjan Pedersen, Elimination of temporal dispersion from the finite-difference solutions of wave equations in elastic and anelastic models , Geophysics 84 (2019), no. 2, T 47–T 58.
- 2[2] Joakim O. Blanch, Johan O. A. Robertsson, and William W. Symes, Modeling of a constant q: Methodology and algorithm for an efficient and optimally inexpensive viscoelastic technique , Geophysics 60 (1995), no. 1, 176–184.
- 3[3] Thomas Bohlen, Parallel 3-d viscoelastic finite difference seismic modelling , Computers & Geosciences 28 (2002), no. 8, 887–899.
- 4[4] Thomas Bohlen, Denise De Nil, Daniel Köhn, and Stefan Jetschny, Sofi 2d seismic modeling with finite differences: 2d – elastic and viscoelastic version , Karlsruhe Institute of Technology, 2016.
- 5[5] Lawrence C. Evans, Partial differential equations , second ed., Graduate texts in Mathematics, vol. 19, American Mathematical Society, 2010.
- 6[6] Frédéric Faure, Semiclassical origin of the spectral gap for transfer operators of a partially expanding map , Nonlinearity 24 (2011), no. 5, 1473–1498.
- 7[7] Bengt Fornberg, A practical guide to pseudospectral methods , vol. 1, Cambridge university press, 1998.
- 8[8] Yingjie Gao, Jinhai Zhang, and Zhenxing Yao, Third-order symplectic integration method with inverse time dispersion transform for long-term simulation , Journal of Computational Physics 314 (2016), 436–449.
