Master
Reference
Splitting methods for the Schrödinger equation with absorbing boundary conditions
BERTOLI, Guillaume Balthazar
Abstract
In this work, we introduce a splitting method of order two for solving the the Schrödinger equation with absorbing boundary conditions. The new scheme avoids order reduction faced by standard splitting methods.
BERTOLI, Guillaume Balthazar. Splitting methods for the Schrödinger equation with absorbing boundary conditions. Master : Univ. Genève, 2017
Available at:
http://archive-ouverte.unige.ch/unige:121404
Disclaimer: layout of this document may differ from the published version.
UNIVERSIT´ E DE GEN` EVE FACULT´ E DES SCIENCES Section de math´ ematiques
Splitting methods for the Schr¨ odinger equation with absorbing boundary conditions
Guillaume Bertoli
Master thesis under the supervision of Gilles Vilmart
Geneva, June 28, 2017
Contents
1 Introduction 2
2 Classical Splitting methods and order reduction 3
3 Modified Strang Splitting 5
3.1 Construction of the scheme . . . 5 3.2 Numerical experiments . . . 6 3.3 Construction with FFT . . . 12 4 Splitting methods for absorbing boundary conditions 16 4.1 Absorbing boundary conditions . . . 16 4.2 Modified Strang Splitting . . . 19
5 Conclusion 23
A Appendix 23
1 Introduction
In quantum physics theory, the Schr¨odinger equation
∂tu(x, t) =i∆u(x, t)−i|u(x, t)|2u(x, t) (1.1) describes the evolution of the wave function through time. It is of paramount im- portance and we can compare its importance to the Newton second law of motion for classical mechanic. To approximate the solution numerically, we need to restrict the domain Rd. The most natural choice is a square domain since it allows the free Schr¨odinger equation to be solved with Fourier theory. However, for such a domain, we need to prescribe appropriate boundary conditions to have a unique solution. One possibility is to use homogeneous Dirichlet or periodic boundary conditions for simplic- ity. However such boundary conditions have no physical meanings. What we would like is to find boundary conditions such that the solution in the square domain is a good approximation of the solution inRdrestricted to the square domain. Such bound- ary conditions are called transparent boundary conditions. However, such conditions are often impossible to find for non linear systems. Instead, we will use the absorbing boundary conditions presented in [1], that are a good approximation of the transparent boundary conditions.
The numerical method we consider in this work to solve the Schr¨odinger equation is the Strang splitting. It is formally a method of order two. However, in practice, when applied to the Schrodinger equation with absorbing boundary conditions or inhomoge- neous Dirichlet, Neumann or Robin boundary conditions, we can observe a reduction of order, similarly to the heat equation as analyzed in [5] and [6]. Therefore, we want to modify the splitting to avoid the reduction of order. To do so, we use the construction found in [5] and [6] for the heat equation. We start to consider Dirichlet, Neumann and Robin boundary conditions. Although such boundary conditions have no physical meaning, they are much simpler and thus allow us to construct a scheme we can adapt for absorbing boundary conditions. We also work with the Lie splitting algorithm since the Strang splitting is construct from it and we can find a modification which works for both. However, in practice, the Lie splitting is rarely used, since the Strang splitting has almost the same cost but is more accurate.
In the first section, we explain the classical splitting methods and show the re- duction of order with a numerical experiment. In the second section we first find a modification to avoid the reduction of order, then test this new numerical method with some numerical experiment. We also use another modification to solve the free Schr¨odinger with the fast Fourier algorithm with Dirichlet and Neumann inhomoge- neous boundary conditions. In the third section, we adapt the modification to avoid the reduction of order to absorbing boundary conditions.
2 Classical Splitting methods and order reduction
We consider the following Schr¨odinger equation on a domain Ω = [0,2π]d ⊂ Rd with cubic nonlinearity:
∂tu(x, t) = i∆u(x, t)−i|u(x, t)|2u(x, t) αu|∂Ω+β∂nu|∂Ω = b
u(x,0) = u0
(2.1) The boundary conditions are,
αu|∂Ω+β∂nu|∂Ω =b (2.2)
Ifα = 1 andβ = 0 they are Dirichlet boundary conditions. Ifα= 0 andβ = 1 they are Neumann boundary conditions. Else, if α, β 6= 0, they are Robin boundary conditions.
We assume the initial condition u0 smooth enough.
We would like to solve this equation using a splitting method. We start by intro- ducing some notations. We consider the two following auxiliary differential equations problems:
∂tu(x, t) = −i|u(x, t)|2u(x, t)
u(x,0) = u0 (2.3)
∂tu(x, t) = i∆u(x, t) u(x,0) = u0
αu|∂Ω+β∂nu|∂Ω = b
(2.4) We note φt(u0) the exact flow of equation (2.3) and ψt(u0) the exact flow of equa- tion (2.4). φt(u0) can be computed explicitly, since |u|2 is a quadratic first integral of equation (2.3):
φt(u0) = e−it|u0|2u0
One step of the Lie splitting method for equation (2.1) with a time stepτ is then:
u1 = (φτ ◦ψτ)(u0) (2.5)
or
u1 = (ψτ ◦φτ)(u0) (2.6)
and one step of the Strang splitting method for (2.1)with a time step τ is:
u1 = (ψτ
2 ◦φτ ◦ψτ
2)(u0) (2.7)
or
u1 = (φτ
2 ◦ψτ ◦φτ
2)(u0) (2.8)
We will use both the formulation (2.6) and (2.7).
The main advantage of these splitting methods is that both equations (2.3) and (2.3) can be solved more efficiently than the full problem (2.1). The Lie Splitting is formally of order one and the Strang Splitting of order two for homogeneous or periodic boundary conditions. However, in practice it is no longer the case for inhomogeneous boundary conditions. The main reason is that in (2.3) ∂t(αu|∂Ω+β∂nu)6= 0 in general.
10−4 10−3 10−2 10−1 10−4
10−3 10−2 10−1
Time Step Error
Lie splitting Strang splitting Reference slope 1
Figure 2.1: Lie and Strang splitting error when applied to equation (2.1)withu(0, t) = 0 and u(2π, t) = 1, u0 = sin(x2)2+ 2πx.
We start to show this reduction of order with a numerical experiment in one di- mension. We use the Lie and Strang splitting on (2.1) with inhomogeneous Dirichlet boundary conditions:
∂tu(x, t) = i∂xxu(x, t)−i|u(x, t)|2u(x, t) u(0, t) = 0
u(2π, t) = 1
u(x,0) = sin(x2)2+ 2πx
(2.9)
We choose 500 points to discretize the interior of the domain with an uniform grid.
We approach the Laplacian with a second order finite difference approximation. The final time is t = 0.1. We compute the solution for the following time steps τ = 0.022m, m= 0,1, ...,6. A reference solution is computed with an explicit Runge-Kutta method of order 4 and a time stepτ = 10−5. In Figure 2.1 we plot thel2 norm of the difference between the Lie and Strang splitting solution and the reference solution for the different time steps τ. We see that the Strang splitting is not of order 2 and has almost the same error as the Lie splitting. We would like to find a modification to the splitting methods to avoid this reduction. In particular, for Strang, we want
ku(x, t)−un(x)kl
2 ≤Cτ3
,where u(x, t) is the exact solution of equation (2.1), un(x) is the numerical approxi- mation given by the Strang splitting method and τ is the time step.
3 Modified Strang Splitting
3.1 Construction of the scheme
To avoid the order reduction, we use the idea presented in [6] for diffusion-reaction equations and adapt it for equation (2.1). We will also use the same terminology.
That is, we call these new splittings the modified Lie splitting and modified Strang splitting, compared to the classical Lie and Strang splittings. We modify the splittings as following. We consider the two following problems, where q is a smooth function.
∂tu(x, t) = −i|u(x, t)|2u(x, t)−q
u(x,0) = u0 (3.1)
∂tu(x, t) = i∆u(x, t) +q u(x,0) = u0
αu|∂Ω+β∂nu = b
(3.2) We note φ(t,q)(u0) the exact flow of equation (3.1) and ψ(t,q)(u0) the exact flow of equation (3.2).
We construct the function q such that in (3.1) ∂t(αu+β∂nu) = 0 on the boundary.
We assume that αu0+β∂nu0 =b. q must satisfy:
∂t(αu+β∂nu) =α(−i|u|2u−q) +β∂n(−i|u|2u−q)
=−iα|u|2u−αq−iβ2u(∂nu)u−iβu2∂nu−β∂nq
=−iα|u|2u−αq−i2|u|2(b−αu)−iu2(b−αu)−β∂nq
=−αq−β∂nq−i|u|2(2b−αu)−iu2(b−αu) on∂Ω.
We use here that in (2.2), we can always assume β real by multiplying (2.2) by β if needed. This gives us the following boundary conditions for q
αq+β∂nq=−i|u|2(2b−αu)−iu2(b−αu) (3.3) on∂Ω.
For Dirichlet boundary conditions, we obtain q=−i|b|2b And for Neumann boundary conditions, we obtain,
∂nq=−2i|u|2b−iu2bu
Givenu0andτ, one step of the modified Lie Splitting for equation (2.1) is the following algorithm.
Algorithm 3.1 (Modified Lie Splitting)
1. Construct q0 such that αq+β∂nq=−i|u0|2(2b0−αu0)−iu20(b0−αu0) on ∂Ω 2. u1P =φτ,q0(u0)
3. u1 =ψτ,q0(u1P)
Given u0 and τ, one step of the modified Strang Splitting for equation (2.1) is the following algorithm.
Algorithm 3.2 (Modified Strang Splitting)
1. Construct q0 such that αq+β∂nq=−i|u0|2(2b0−αu0)−iu20(b0−αu0) on ∂Ω 2. u
1 2
K =ψτ
2,q0(u0) 3. u1P =φτ,q0(u
1 2
K) 4. u1 =ψτ
2,q0(u1P) Remark 3.1
• A similar construction can be done with V(x, t)u instead of |u|2u.
• φτ,q(u0) can be approximated with, for example, a Runge-Kutta method with a small time step τk, where k∈N.
• The construction of a smooth function q with boundary conditions is another difficulty. We discuss it in the appendix.
3.2 Numerical experiments
We perform now a few numerical experiments to show that the modification solves the reduction of order. The error we compute is the l2 norm of the difference between the numerical methods and the reference solution for the different time steps τ. The Laplacian is approached with a second order finite difference approximation. The final time is t= 0.1
1. The first experiment is the same experiment performed at the beginning to show the reduction of order. This time, we also apply the modified Strang and Lie splitting to equation (2.1) The convergence curves for this experiment are plotted in figure (3.1). We observe that the modified Strang splitting is of order two compared to the classical Strang splitting. The modified Lie splitting is also more accurate than the classical Strang splitting.
2. We use the classical and modified Strang splitting on (2.1) in two dimensions with inhomogeneous boundary conditions:
∂tu(x, y, t) = i∆u(x, y, t)−i|u(x, y, t)|2u(x, y, t) u(0, y, t) = 0
u(2π, y, t) = 0 u(x,0, t) = sin(x) u(x,2π, t) = sin(x)
u(x, y,0) = sin(x)·cos(y)
(3.4)
10−4 10−3 10−2 10−1 10−8
10−7 10−6 10−5 10−4 10−3 10−2 10−1
Time Step Error
Classical Lie splitting Classical Strang splitting Modified Lie splitting Modified Strang splitting Reference slope 1 Reference slope 2
Figure 3.1: Comparison between the classical and modified Lie and Strang Splitting when applied to equation (2.1)in one dimension with inhomogeneous Dirichlet boundary conditions with u(0, t) = 0 and u(2π, t) = 1, u0 = sin(x2)2+ 2πx .
10−3 10−2 10−1
10−6 10−5 10−4 10−3 10−2 10−1
Time Step Error
Classical Strang splitting Modified Strang splitting Reference slope 1 Reference slope 2
Figure 3.2: Comparison between the classical Strang Splitting and the modified Strang splitting when applied to (2.1) in two dimensions with inhomogeneous Dirichlet bound- ary conditions with u0 = sin(x)·cos(y), u(0, y, t) = u(2π, y, t) = 0 and u(x,0, t) = u(x,2π, t) = sin(x).
We choose 104 points to discretize the interior of the domain with an uniform grid. We compute the solution for the following time stepsτ = 20.1m,m= 0,1, ...,6.
A reference solution is computed with an explicit Runge-Kutta method of order 4 and a time stepτ = 10−4. The convergence curves for this experiment are drawn in Figure (3.2).
Remark 3.2 We observes that the classical Strang splitting error has a slope of degree 2for τ ≤1.25·10−3. This is becauseτ is sufficiently small compare to the size of the chosen grid (τ << ∆x2). This is expected because for smaller time step we actually are in a ODE regime instead of a PDE regime.
3. We use the classical and modified Strang splitting on (2.1) in one dimension with Neumann boundary conditions:
∂tu(x, t) = i∂xxu(x, t)−i|u(x, t)|2u(x, t)
∂nu(0, t) = −1
∂nu(2π, t) = 3
(x,0) = 2πx2 +x+ 1
(3.5)
We choose 300 points to discretize the interior of the domain with an uniform grid.
We compute the solution for the following time steps τ = 0.022m, m= 0,1, ...,6. A reference solution is computed with an explicit Runge-Kutta method of order 4 and a time step τ = 5·10−6. The convergence curves for this experiment are drawn in Figure (3.3)
4. We use the classical and modified Strang splitting on (2.1) in two dimensions with Robin boundary conditions:
∂tu(x, y, t) = i∆u(x, y, t)−i|u(x, y, t)|2u(x, y, t) u(0, y, t) +∂nu(0, y, t) = −cos(y)
u(2π, y, t) +∂nu(2π, y, t) = cos(y) u(x,0, t) +∂nu(x,0, t) = sin(x) u(x,2π, t) +∂nu(x,2π, t) = sin(x)
u(x, y,0) = sin(x)·cos(y)
(3.6)
We choose 104 points to discretize the interior of the domain with an uniform grid. We compute the solution for the following time stepsτ = 20.1m,m= 0,1, ...,6.
A reference solution is computed with an explicit Runge-Kutta method of order 4 and a time stepτ = 10−4. The convergence curves for this experiment are drawn in figure (3.4).
5. We use the classical and modified Strang splitting on (2.1) in two dimensions with mixed boundary conditions:
∂tu(x, y, t) = i∆u(x, y, t)−i|u(x, y, t)|2u(x, y, t)
∂nu(0, y, t) = −cos(y)
∂nu(2π, y, t) = cos(y) u(x,2π, t) = sin(x) u(x,0, t) = sin(x)
u(x, y,0) = sin(x)·cos(y)
(3.7)
10−4 10−3 10−2 10−1 10−8
10−7 10−6 10−5 10−4 10−3 10−2 10−1 100
Error
Time Step
Classical Strang splitting Modified Strang splitting Reference slope 1 Reference slope 2
Figure 3.3: Comparison between the Classical and modified Strang splitting when applied to equation (2.1) in one dimension with inhomogeneous Neumann boundary conditions with ∂nu(0, t) =−1 and ∂nu(2π, t) = 3, u0 = x2π2 +x+ 1.
10−3 10−2 10−1
10−7 10−6 10−5 10−4 10−3 10−2
Time Step Error
Classical Strang splitting Modified Strang splitting Reference slope 1 Reference slope 2
Figure 3.4: Comparison between the classical Strang Splitting and the modified Strang splitting when applied to (2.1) in two dimensions with inhomogeneous Robin boundary conditions with u0 = sin(x)·cos(y),u(0, y, t) + ∂nu(0, y, t) = −cos(y), u(2π, y, t) +
∂nu(2π, y, t) = cos(y) and u(x,0, t) +∂nu(x,0, t) =u(x,2π, t) +∂nu(x,2π, t) = sin(x).
10−3 10−2 10−1 10−7
10−6 10−5 10−4 10−3 10−2 10−1
Time Step Error
Classical Strang splitting Modified Stang splitting Reference slope 1 Reference slope 2
Figure 3.5: Comparison between the classical Strang Splitting and the modified Strang splitting when applied to (2.1) in two dimensions with inhomogeneous mixed boundary conditions with u0 = sin(x)·cos(y), ∂nu(0, y, t) = −cos(y), ∂nu(2π, y, t) = cos(y) and u(x,0, t) =u(x,2π, t) = sin(x).
We choose 104 points to discretize the interior of the domain with an uniform grid. We compute the solution for the following time stepsτ = 20.1m,m= 0,1, ...,6.
A reference solution is computed with an explicit Runge-Kutta method of order 4 and a time stepτ = 10−4. The convergence curves for this experiment are drawn in Figure (3.5).
We observe that the modified Strang splitting is of order two for all these experiments.
Remark 3.3 We also investigated higher order splitting methods for equation (2.1) using the same idea. We used the splitting presented in [4, p.318, table 2]. We also used the Suzuki’s fractal composition method [7, p.43, ex. 4.3] with the Strang splitting as the original method. But the modification did not prevent the reduction of order. In fact, even for homogeneous boundary conditions, we could observe a reduction of order for the Suzuki’s fractal composition method.
We performed the following experiment with the higher order splitting methods pre- sented in [4, p.318, table 2]. We use a linear potentialV(x)u= (1−cos(x−π))uinstead of the cubic non linearity |u|2u. We use the classical splittings and modified splitting constructed similarly to algorithm (3.2). We use 500 to discretize the interior of the domain with a uniform grid. We choose inhomogeneous Dirichlet boundary conditions:
∂tu(x, t) = i∂xxu(x, t)−i(1−cos(x−π))u u(0, t) = 0
u(2π, t) = 1
u(x,0) = sin(x2)2+2πx
(3.8)
10−4 10−3 10−2 10−1 10−10
10−8 10−6 10−4 10−2 100
Time step Error
Classical Strang splitting Classical splitting of order 4 Classical splitting of order 6 Modified Strang splitting Modified splitting of order 4 Modified splitting of order 6 Reference slope 1 Reference slope 2
Figure 3.6: Comparison between the classical and modified splitting methods of order 2, 4 and6 when applied to (2.1) with a linear potential V(x) = (1−cos(x−π)) in one dimension with inhomogeneous Dirichlet boundary conditions u(0, t) = 0, u(2π, t) = 1 and initial condition u0 = sin(x2)2+2πx.
We approach the Laplacian with a finite difference approximation. The final time is t= 0.1. We compute the solution for the following time steps τ = 0.022m, m= 0,1, ...,6.
A reference solution is computed with the splitting method of order 6 from [4, p.318, table 2]. The convergence curves for this experiment are drawn in Figure (3.6). We observe that the classical version of these splittings are of order approximately one and that modified versions are of order approximately two. We therefore did not manage to recover the order 4 and 6 of these splitting methods.
We also make an experiment to show the reduction of order for the Suzuki’s fractal composition method with homogeneous boundary conditions. We apply the splitting method we obtain from the Suzuki’s fractal compositions method to equation (2.1) with homogeneous Dirichlet boundary conditions and four different initial conditions. We choose u0 = sin(x)k for k = 1,2,3,4.
∂tu(x, t) = i∂xxu(x, t)−i|u(x, t)|2u(x, t) u(0, t) = 0
u(2π, t) = 0
u(x,0) = sin(x)k k = 1,2,3,4
(3.9)
We choose 500 points to discretize the interior of the domain with an uniform grid.
We approach the Laplacian with a finite difference approximation. The final time is t= 0.1. We compute the solution for the following time steps τ = 0.022m, m= 0,1, ...,6.
Even for homogeneous Dirichlet boundary conditions we can observe a reduction of order for k = 2,3. Furthermore, although all initial conditions we tested are C∞, the
10−4 10−3 10−2 10−1 10−15
10−10 10−5
u0=sin(x)
10−4 10−3 10−2 10−1
10−15 10−10 10−5
u0=sin(x)2
10−4 10−3 10−2 10−1
10−15 10−10 10−5
u0=sin(x)3
10−4 10−3 10−2 10−1
10−15 10−10 10−5
u0=sin(x)4 Composition method
Strang splitting Reference slope 4
Composition method Strang splitting Reference slope 2
Composition method Strang splitting Reference slope 4
Composition method Strang splitting Reference slope 3
Figure 3.7: Suzuki composition method order when applied to (2.1) with homogeneous Dirichlet boundary conditions and initial condition u0 = sin(x)k for k= 1,2,3,4.
convergence curves of the methods have not the same slope for these different initial conditions.
3.3 Construction with FFT
We would like to solve (3.2) with the fast Fourier transform for Dirichlet and Neumann boundary conditions. The reason is that by doing so, the order of convergence for the spacial approximation will be much higher if the initial solution is smooth enough. It will even converge exponentially fast for C∞ functions.
First we need to find a new modification to the splitting such that equation (3.2) can be solved with homogeneous boundary conditions. We use the idea presented in [5] for diffusion-reaction equations and adapt it for the equation (2.1). We want from (2.4) to find an equivalent system with homogeneous boundary conditions. Let z be a smooth function such that
αz+β∂nz =b. (3.10)
on∂Ω. We define ˜u=u−z and (2.1) becomes:
∂tu˜ = i∆˜u+i∆z−i∂tz−i|˜u+z|2(˜u+z) αu|˜∂Ω+β∂nu˜ = 0
˜
u(x,0) = u0−z
(3.11) Then the splitting is done by solving successively the two following systems.
∂tu˜ = −i|˜u+z|2(˜u+z)−q
˜
u(x,0) = u˜0 (3.12)
∂tu˜ = i∆˜u+i∆z−∂tz+q
˜
u(x,0) = u˜0 αu|˜∂Ω+β∂nu˜ = 0
(3.13)
instead of (3.1) and (3.2).
Remark 3.4 • A natural choice for z is
∆z = 0
αz|∂Ω+β∂nz = b (3.14)
since it removes∆z in equation (3.13). Another possibility for the functionz that does not require to compute ∆z after the construction of z is to solve
∆f = 0
α0f|∂Ω+β0∂nf = b0 (3.15) where α0, β0, b0 can be chosen. And then
∆z = f
αz|∂Ω+β∂nz = b (3.16)
Then ∆z can be replaced by f in (3.13)
• We note that q does not depend on the choice of z. Indeed in (3.13)
∂t(α˜u+β∂nu) =˜ α(−i|˜u+z|2(˜u+z)−q) +β∂n(−i|˜u+z|2(˜u+z)−q)
=α(−i|u|2u−q) +β∂n(−i|u|2u−q)
=∂t(αu+β∂nu)
= 0.
Therefore this modification for the splitting is independent of the modification presented before to avoid the reduction of order.
We assume now that (2.1) have Dirichlet time independent boundary conditions. From there we can solve (3.13) using the fast Fourier algorithm. We assume ˜u0 smooth enough.
Because ˜u|∂Ω = 0, we can extend ˜uinto a periodic odd continuous function, by defining
˜
u(x1, ...,−xj, ..., xn) =−˜u(x1, ..., xj, ..., xn)∀j = 1, .., n and
˜
u(x1, ..., xj + 4π, ..., xn) = ˜u(x1, ..., xj, ..., xn)∀j = 1, .., n.
We compute then the Fourier series of ˜u
˜
u(x, t) = X
a∈Zn
ξa(t)eia·x2 where
ξa(t) = 1 (4π)n
Z
[−2π,2π]n
˜
u(t, x)e−i(a·x)2 dx
Then we extend, the same way,i∆z+qinto a periodic odd function, but not necessarily continuous, and compute its Fourier series.
i∆z+q= X
a∈Zn
ηa(t)eia·x2 where
ηa(t) = 1 (4π)n
Z
[−2π,2π]n
(i∆z+q)e−i(a·x)2 dx
Then equation (3.13) becomes
∂t X
a∈Zn
ξa(t)eia·x2 =−ia2 4
X
a∈Zn
ξa(t)eia·x2 + X
a∈Zn
ηaeia·x2
⇔∂tξa(t) = −ia2
4 ξa(t) +ηa
Using the variation of constant formula, we obtain:
ξa(t) = (
e−i|a|
2t
4 ξa0+ (e−i|a|
2t
4 + 1)|a|4i2ηa if a6= 0
η0t+ξ00 if a= 0 (3.17)
where
ξa0(t) = 1 (4π)n
Z
Ω
˜
u0(t, x)e−i(a·x)2 dx This gives us the following algorithm:
Algorithm 3.3 (Modified Strang splitting with FFT) 1. • Construct z0 such that z0 =b on ∂Ω.
• Construct q0 such that q0 =−i|b|2b on ∂Ω.
• u˜0 =u0−z0.
• Extendu˜0 and i∆z0+q0 on [−2π,2π]d
• Compute the discrete Fourier coefficients η0a of i∆z0+q0 with the FFT.
2. • Compute the discrete Fourier coefficients ξ0a of u˜0 with the FFT.
• Compute ξ
1
a2 with (3.17).
• Compute u˜
1 2
K with the IFFT of the ξ
1
a2. 3. • u˜1P =φ∆t,q(˜u
1 2
K) on [0,2π]d. 4. • Extendu˜1P on [−2π,2π]d
• Compute the discrete Fourier coefficients ξ1a,P of u˜1P with the FFT.
• Compute ξ1a with (3.17).
• Compute u˜1 with the IFFT of the ξa1. 5. • u1 = ˜u1+z0.
Remark 3.5 A similar construction can be done if (2.2) is a time independent Neu- mann condition. Instead of extendingu˜ into an odd function, we extend it into an even function. Indeed since ∂nu|˜∂Ω = 0, we can extend u˜ into a periodic even continuous function on Ω, by defining
˜
u(x1, ..., xj, ..., xn) = −˜u(x1, ..., xj, ..., xn) ∀j = 1, .., n and
˜
u(x1, ..., xj + 4π, ..., xn) = ˜u(x1, ..., xj, ..., xn) ∀j = 1, .., n.
We extend, the same way, i∆z +q into a periodic continuous even function. Then the construction is the same than the one for Dirichlet boundary conditions, except we construct z such that ∂nz =b and q such that ∂nq =−2i|u0|2b−iu20bu0.
To show that the algorithm (3.3) is of order two for inhomogeneous boundary condi- tions, we perform two numerical experiments. One with Dirichlet boundary conditions and the other with Neumann boundary conditions. We call classical Strang splitting with FFT, the algorithm (3.3) without the second step. That is q = 0.
1. We use the classical and modified Strang splitting with FFT on (2.1) in two dimensions with inhomogeneous boundary conditions.
∂tu(x, y, t) = i∆u(x, y, t)−i|u(x, y, t)|2u(x, y, t) u(0, y, t) = 0
u(2π, y, t) = 0 u(x,0, t) = sin(x) u(x,2π, t) = sin(x)
u(x, y,0) = sin(x)·cos(y)
(3.18)
We choose 632points to discretize the interior of the domain with an uniform grid.
The final time is t = 0.1. We compute the solution for the following time steps τ = 0.12m, m = 0,1, ...,6. A reference solution is computed with algorithm (3.3) and a time stepτ = 10−4. The convergence curves for this experiment are plotted in figure (3.8).
2. We use the classical and modified Strang splitting with FFT on (2.1) in two di- mensions with initial conditionu0 = 10(x+1)y 2 and boundary conditions∂nu(0, y, t) =
2y
10,∂nu(2π, y, t) =−10(2π+1)2(2π+1)y2,∂nu(x,0, t) =−10(x+1)1 2 and∂nu(x,2π, t) = 10(x+1)1 2.
∂tu(x, y, t) = i∆u(x, y, t)−i|u(x, y, t)|2u(x, y, t)
∂nu(0, y, t) = 2y10
∂nu(2π, y, t) = −10(2π+1)2(2π+1)y2
∂nu(x,0, t) = −10(x+1)1 2
∂nu(x,2π, t) = 10(x+1)1 2
u(x, y,0) = 10(x+1)y 2
(3.19)
10−3 10−2 10−1 10−6
10−5 10−4 10−3 10−2 10−1
Time step Error
Classical Strant splitting with FFT Modified Strang splitting with FFT Reference slope 1
Reference slope 2
Figure 3.8: Comparison between the classical Strang Splitting and the modified Strang splitting with FFT when applied to (2.1)in two dimensions with inhomogeneous Dirich- let boundary conditions with u0 = sin(x) · cos(y),u(0, y, t) = u(2π, y, t) = 0 and u(x,0, t) =u(x,2π, t) = sin(x).
We choose 632points to discretize the interior of the domain with an uniform grid.
The final time is t = 0.1. We compute the solution for the following time steps τ = 0.12m, m = 0,1, ...,6. A reference solution is computed with algorithm (3.3) and a time stepτ = 10−4. The convergence curves for this experiment are drawn in figure (3.9).
4 Splitting methods for absorbing boundary condi- tions
4.1 Absorbing boundary conditions
We studied equation (2.1) for Dirichlet, Neumann and Robin boundary conditions.
However, those boundary conditions have no physical meanings for the Schr¨odinger equation. What we want, is to find boundary conditions such that the solution com- puted on an interval [xl, xr] is a good approximation of the exact solution inRrestricted to the interval [xl, xr].
We use the absorbing boundary conditions presented in [1]. Absorbing conditions in two dimensions are construct in [2] and [3]. We consider the following equation on [xl, xr]:
i∂tu(x, t) +∂xxu(x, t) +V(x, t)u(x, t) = 0
∂nu(x, t) +e−iπ/4eiν(x,t)∂t1/2(e−iν(x,t)u(x, t)) = 0 on ∂Ω u(x,0) =u0
(4.1)
10−3 10−2 10−1 10−7
10−6 10−5 10−4 10−3 10−2
Time step Error
Classical Strang splitting with FFT Modified Strang splitting with FFT Reference slope 1
Reference slope 2
Figure 3.9: Comparison between the classical Strang Splitting and the modified Strang splitting with FFT when applied to (2.1) in two dimensions with inhomogeneous Neu- mannb boundary conditions with u0 = 10(x+1)y 2 and boundary conditions ∂nu(0, y, t) =
2y
10, ∂nu(2π, y, t) =−10(2π+1)2(2π+1)y2, ∂nu(x,0, t) =−10(x+1)1 2 and ∂nu(x,2π, t) = 10(x+1)1 2. where ν(x, t) =Rt
0 V(s)ds. We assume u0 = 0 and ∂nu0 = 0 on the boundary. We use the following definition [1, p.315, eq.12] for the fractional primitive with parameter 12
∂t1/2.
∂t1/2u(x, t) = 1
√π Z t
0
u(x, s)
√t−sds
In figure (4.1), we draw the real part of the solution of equation (4.1) at time t = 0,0.15,0.3,0.45. We choose ∆t and ∆x small enough and apply the Crank-Nicolson method. We observe that the wave is absorbed by the right boundary as if there were no boundary. No reflexion is indeed observed in contrast with inhomogeneous Dirichlet boundary conditions. There is in fact some reflexion since the boundary conditions are not transparent but there are too small to be seen on (4.1).
Using the Crank-Nicolson method to discretize the equation in time, we obtain the following equation[1].
2ivn+1∆t−un +∂xxvn+1+Wn+1vn+1 = 0
∂nvn+1+e−iπ/4eiWn+1q
2
∆t n+1
P
k=0
βn+1−ke−iWkvk = 0 on∂Ω u0 =v0 =u0
(4.2)
Where vn+1 = un+12+un, Wn+1 = Vn+12+Vn, Wn+1 = νn+12+νn, and β2k = 22k(2k)!(k!)2. Here, the formula for β is found in [8, p.734, eq.3] We notice that the discretization of ∂t1/2 forces us to stock v0, ..., vn to compute un+1.
−5 0 5
−1
−0.5 0 0.5
1 t= 0
−5 0 5
−1
−0.5 0 0.5
1 t= 0.15
−5 0 5
−1
−0.5 0 0.5
1 t= 0.3
−5 0 5
−1
−0.5 0 0.5
1 t= 0.45
Figure 4.1: Real part of the solution of equation (4.1)with a potential V = 5(3+cos(x)) and initial condition u0 =e10ix−x2.
We want to solve this equation using a Splitting method. We start by introducing some notations. We note φn+1∆t,q(u0) the solution of the following equation:
2iv−u0
∆t +W ·v−q= 0 (4.3)
We note ψn+1∆t,q(u0, v0, v1, ..., vn) the solution of the following equation.
2iv−u∆t0 +∂xxv+q= 0
∂nv +e−iπ/4q
2
∆tv +e−iπ/4eiWn+1q
2
∆t n
P
k=0
βn+1−ke−iWkvk = 0 on∂Ω (4.4) The classical Lie splitting algorithm for equation (4.2) is the following. u0 andv0 =u0 are given. We assume we already constructed v1, ..., vn and u1, ..., un. Then we obtain un+1 and vn+1 with the following algorithm.
Algorithm 4.1 (Lie Splitting) 1. • vPn+1 =φn+1∆t,0(un)
• un+1P = 2vPn+1−un
2. • vKn+1 =ψ∆t,0n+1(un+1P , v0, ..., vn)
• un+1 = 2vKn+1−un+1P 3. • vn+1 = un+12+un
The classical Strang Splitting algorithm for equation (4.2) is Algorithm 4.2 (Strang splitting)
1. • vPn+1/2 =φn+1/2∆t 2 ,0 (un)
• un+1/2P = 2vn+1/2P −un
2. • vKn+1 =ψ∆t,0n+1(un+1/2P , v0, ..., vn)
• un+1K = 2vKn+1−un+1/2P 3. • vPn+1 =φn+1∆t
2 ,0(un+1K )
• un+1 = 2vPn+1−un+1K 4. • vn+1 = un+12+un
We perform now two numerical experiments. One when the potential V(x, t) = 5(3 + cos(x)) is only space dependent and an other one where the potential V(x, t) = 5xt depends both from space and time. We apply the Crank-Nicolson method and the classical Strang splitting to the following problem. We choose u0 = e10ix−x2 on the interval [−5,5]. We use 1000 grid points and ∆t ∈ {2 · 10−2,10−2,5 · 10−3,2.5 · 10−3,1.25 ·10−3,6.25· 10−4,3.125 · 10−4}. The final time is t = 0.4. A reference solution is computed using the Crank-Nicolson method with ∆t = 10−4. The final time t is chosen big enough so that the wave already reached the right boundary and small enough so that the wave has not completely left the domain interval. We help us from figure (4.1) to choose t= 0.4. We see that the classical Strang Splitting method is of order less than 2. We now develop a modified Strang Splitting of order 2.
Remark 4.1
• For the Lie splitting, we also tried to use an algorithm similar to (2.5) instead of (2.6), but it was less accurate.
• For the Strang splitting, we also try to use an algorithm similar to (2.7) instead of (2.8), but it didn’t work.
• It seems in practice that removing the 3rd step in the Lie splitting algorithm increase the accuracy.
4.2 Modified Strang Splitting
We modify our splitting as following. We want to know which conditions must satisfy q in (4.3) so that vn+1 =φ∆t,q(un) satisfy
∂nvn+1+e−iπ/4eiWn+1 r 2
∆t
n+1
X
k=0
βn+1−ke−iWkvk = 0 on∂Ω. (4.5)
10−4 10−3 10−2 10−1 10−7
10−6 10−5 10−4 10−3 10−2 10−1 100 101
Time step Error
Crank−Nicolson Classical Lie splitting Classical Strang splitting Reference slope 1 Reference slope 2
Figure 4.2: Strang splitting error when applied to equation(4.2)withV = 5(3+cos(x)), u0 =e10ix−x2.
10−4 10−3 10−2 10−1
10−7 10−6 10−5 10−4 10−3 10−2 10−1 100 101
Time step Error
Crank−Nicolson Classical Lie splitting Classical Strang splitting Reference slope 1 Reference slope 2
Figure 4.3: Strang splitting error when applied to equation (4.2) with V = 5xt, u0 = e10ix−x2.
The exact solution of equation (4.3) is φn+1∆t,q(un) =
2i
∆tun+q
2i
∆t+Wn+1 (4.6)
We now compute the boundary conditions that q must satisfy.
∂nvn+1+e−iπ/4eiWn+1 r 2
∆t
n+1
X
k=0
βn+1−ke−iWn+1vk =
=∂n
2i
∆tun+q
2i
∆t +Wn+1 +e−iπ/4 r 2
∆t
2i
∆tun+q
2i
∆t+Wn+1 +
n
X
k=0
βn+1−ke−iWkvk
= (∆t2i∂nun+∂nq)(∆t2i +Wn+1)−(∆t2iun+q)∂nWn+1 (∆t2i +Wn+1)2 + +e−iπ/4
r 2
∆t
2i
∆tun+q
2i
∆t+Wn+1 +
n
X
k=0
βn+1−ke−iWkvk
=
βn+1
z }| { 1
2i
∆t+Wn+1 ∂nq+
αn+1
z }| {
(− ∂nWn+1 (∆t2i +Wn+1)2 +
e−iπ/4 q 2
∆t 2i
∆t+Wn+1)q+
−γn+1(un,v0...,vn)
z }| {
n
X
k=0
βn+1−ke−iWkvk+
2i
∆t∂nun
2i
∆t +Wn+1 −
2i
∆tun∂nWn+1 (∆t2i +Wn+1)2 +
e−iπ/4 q 2
∆tun
2i
∆t+Wn+1 = 0
This gives us the Robin condition thatqmust satisfy so that (4.5) is true. The modified Strang Splitting algorithm, which is the main algorithm of this work, is then:
Algorithm 4.3
1. • Constructqn+1 such that αn+1qn+1+βn+1∂nqn+1 =γn+1(un, v0..., vn) on∂Ω 2. • vPn+1/2 =φn+1/2∆t
2 ,qn+1(un)
• un+1/2P = 2vn+1/2P −un
3. • vKn+1 =ψ∆t,qn+1n+1(un+1/2P , v0, ..., vn)
• un+1K = 2vKn+1−un+1/2P 4. • vPn+1 =φn+1∆t
2 ,qn+1(un+1K )
• un+1 = 2vPn+1−un+1K 5. • vn+1 = un+12+un
10−4 10−3 10−2 10−1 10−7
10−6 10−5 10−4 10−3 10−2 10−1 100 101
Time Step Error
Crank−Nicolson Classical Strang Splitting Modified Stang Splitting Slope 2
Figure 4.4: Strang splitting error when applied to equation (4.2) with V(x, t) = 5(3 + cos(x)), u0 =e10ix−x2.
Remark 4.2 In the construction of qn+1, we need the value of ∂nun and ∂nWn+1 on the boundary. ∂nWn+1 can be approximate with finite difference approximation of order one: ∂nWn+1 ≈ W0,n+1−Wh 0,n+1, where h is the space step. For ∂nun, it is not accurate enough to construct a qn+1 that prevent the reduction of order. For that we compute
∂nun through the algorithm and obtain.
1. • ∂nun 2. • ∂nvn+1/2P =
4i
τ∂nun−(∂nWn+1)vPn+1/2+γn+1(un,v0...,vn)−αn+1qn+1
βn+1 4i
τ+Wn+1
• ∂nun+1/2P = 2∂nvPn+1/2−∂nun 3. • ∂nvn+1K =−e−iπ/4eiWn+1q
2
∆t n+1
P
k=0
βn+1−ke−iWkvk
• ∂nun+1K = 2∂nvn+1K −∂nun+1/2P 4. • ∂nvn+1 =
4i
τ∂nun−(∂nWn+1)vn+1+γn+1(un,v0...,vn)−αn+1qn+1
βn+1 4i
τ+Wn+1
• ∂nun+1 = 2∂nvn+1−∂nun+1K
We apply the modified Strang splitting to the same problems as before and obtain the following convergence curves.
We see that the modified Strang Splitting has order two in both cases and has therefore the same order of convergence than the original Crank-Nicolson method.