An $hr$-Adaptive Method for the Cubic Nonlinear Schr\"{o}dinger Equation
J.A. Mackenzie, W.R. Mekwi

TL;DR
This paper introduces an $hr$-adaptive numerical method combining mesh refinement and moving mesh strategies to accurately solve the nonlinear Schrödinger equation with steep gradients, demonstrating improved accuracy and convergence.
Contribution
The paper presents a novel $hr$-adaptive approach for solving the NLSE, effectively combining $r$-adaptive and $h$-adaptive methods for enhanced accuracy and error control.
Findings
Achieves excellent solution accuracy compared to other methods
Controls spatial error based on user-defined tolerance
Demonstrates second-order spatial convergence
Abstract
The nonlinear Schr\"{o}dinger equation (NLSE) is one of the most important equations in quantum mechanics, and appears in a wide range of applications including optical fibre communications, plasma physics and biomolecule dynamics. It is a notoriously difficult problem to solve numerically as solutions have very steep temporal and spatial gradients. Adaptive moving mesh methods (-adaptive) attempt to optimise the accuracy obtained using a fixed number of nodes by moving them to regions of steep solution features. This approach on its own is however limited if the solution becomes more or less difficult to resolve over the period of interest. Mesh refinement methods (-adaptive), where the mesh is locally coarsened or refined, is an alternative adaptive strategy which is popular for time-independent problems. In this paper, we consider the effectiveness of a combined method…
| NHR | Number of -refinements performed |
|---|---|
| NMAX | Largest number of nodes used |
| NMIN | Least number of nodes used |
| NSTP | Number of time steps used |
| JACS | Number of Jacobian computations throughout the simulation |
| (when computing and ) | |
| BS | Number of back solves needed when an |
| factorisation is used in the quasi-Newton iterations. | |
| ETF | Number of times the time step is halved due to fail in error test i.e. |
| ERR ETOL or mesherr MESHTOL (§2.3) | |
| CTF | Number of convergence test fails in Newton iteration i.e. |
| or fail to converge |
| NHR | NMAX | NMIN | NSTP | BS | CTF | ETF | JACS |
|---|---|---|---|---|---|---|---|
| RTOL | ||
|---|---|---|
| Approach | ||||||
|---|---|---|---|---|---|---|
| -adaptivity | ||||||
| Uniform grid | ||||||
| MCN | ||||||
| Uniform grid |
| NHR | NMAX | NMIN | NSTP | JACS | BS | ETF | CTF |
|---|---|---|---|---|---|---|---|
| NHR | NMAX | NMIN | NSTP | JACS | BS | ETF | CTF |
|---|---|---|---|---|---|---|---|
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.
Taxonomy
TopicsAdvanced Numerical Methods in Computational Mathematics · Computational Fluid Dynamics and Aerodynamics · Numerical methods for differential equations
An -Adaptive Method for the Cubic Nonlinear Schrödinger Equation333© 2019. This manuscript version is made available under the CC-BY-NC-ND 4.0 license http://creativecommons.org/licenses/by-nc-nd/4.0/
J.A. Mackenzie111Corresponding author: Department of Mathematics and Statistics, University of Strathclyde, Livingstone Tower, 26 Richmond Street, Glasgow G1 1XH, Scotland
W.R. Mekwi222School of Computing, Engineering and Physical Sciences, University of the West of Scotland, Paisley Campus, Paisley PA1 2BE, Scotland
Abstract
The nonlinear Schrödinger equation (NLSE) is one of the most important equations in quantum mechanics, and appears in a wide range of applications including optical fibre communications, plasma physics and biomolecule dynamics. It is a notoriously difficult problem to solve numerically as solutions have very steep temporal and spatial gradients. Adaptive moving mesh methods (-adaptive) attempt to optimise the accuracy obtained using a fixed number of nodes by moving them to regions of steep solution features. This approach on its own is however limited if the solution becomes more or less difficult to resolve over the period of interest. Mesh refinement methods (-adaptive), where the mesh is locally coarsened or refined, is an alternative adaptive strategy which is popular for time-independent problems. In this paper, we consider the effectiveness of a combined method (-adaptive) to solve the NLSE in one space dimension. Simulations are presented indicating excellent solution accuracy compared to other moving mesh approaches. The method is also shown to control the spatial error based on the user’s input error tolerance. Evidence is also presented indicating second-order spatial convergence using a novel monitor function to generate the adaptive moving mesh.
Keywords
Adaptivity, moving mesh method, -adaptivity, cubic nonlinear Schrödinger equation
1 Introduction
The nonlinear Schrödinger equation (NLSE) is an important model of mathematical physics and has numerous applications in the physical sciences such as in optical fibre communications, plasma physics, biological and atomic physics, biomolecule dynamics, hydrodynamics etc. (see e.g. [40, 44] and the references therein). Its properties are also of great mathematical interest and solving it numerically has always proved to be challenging due to the solitons that appear (and disappear) in the solution.
When written in a reference frame moving at the group velocity of the carrying wave, the cubic NLSE takes the form
[TABLE]
where , and is a given real constant. This work only considers the focusing case for which is positive.
The analytical properties of (1.1) are well known (see [18, 38]). In particular, the linear Schrödinger equation
[TABLE]
provides a model for the propagation of dispersive waves given by
[TABLE]
where . The phase speed is defined by and clearly depends on . The wave is thus dispersive [18, 38]. It can be shown that the solutions of (1.2) have an amplitude which decays like for with fixed (see [47, §11.3]).
The cubic term in (1.1) opposes dispersion and hence makes it possible for the NLSE to possess solutions where the competing forces of nonlinearity and dispersion balance each other exactly. It has been shown that, using the initial condition sech , this is achieved when [18]. This balance happens for or in general when for integer . These states correspond to bound states of solitons or solitary waves. Solitons are formed when a certain balance between nonlinearity and dispersion is reached.
The pure initial-value problem (1.1) has been shown to possess an infinite number of conservation laws (or so-called invariants of motion) [35]. The most common of these are the charge , and the energy [14], given by
[TABLE]
These conservation laws play an important role in the analysis and dynamics of the NLSE and many numerical schemes have been built [13, 18, 37, 40, 3] that attempt to conserve either or both of these quantities during simulations. Striving for methods to conserve energy is very important as conservation of energy implies the -boundedness of the solution, thus preventing blow-up of the computed solution [38]. However, although lack of exact (energy) conservation may lead to nonlinear blow-up, time integrators which are energy-conserving may still not perform desirably for this problem [38].
Adaptive mesh methods for the solution of partial differential equations (PDEs) generally attempt to optimise the number and/or placement of mesh cells. These techniques have been proposed for a few decades now and can broadly be categorised as -, - and - adaptive methods. For -adaptive strategies, the order of polynomials which represent the solution locally, is varied in order to achieve better solution accuracy. Mesh refinement or -adaptive methods are the most widely used adaptive methods. These methods start with a fixed number of mesh elements and then, based on some local measure of problem difficulty or a posteriori error estimate, elements are added or removed as necessary during the time integration of the problem. This approach is particularly useful when the solution is required to attain a specified accuracy. It is common to combine - and -adaptive strategies and this approach is well understood and is widely used. However, the method is complex and the underlying a posteriori estimates used to drive them can be rather difficult to obtain for strongly nonlinear problems [8, 30].
In contrast, moving mesh or -adaptive methods generally aim to use a given number of mesh cells efficiently by prioritising areas of large solution variation and placing fewer mesh cells where the solution is smooth. This approach has been used with much success in a wide range of applications (see e.g. [17, 6, 10, 28, 8] and references therein). When compared with a fixed uniform mesh approach, -adaptive methods are able to maintain similar or achieve better levels of accuracy using fewer mesh points [17]. The main shortcoming of an -adaptive approach is that the solution accuracy is limited due to the fixed number of nodes.
Moving mesh methods for time-dependent problems may be further divided into static and dynamic methods. With static methods the PDE is solved between time steps assuming that the mesh is fixed. The mesh is then modified and the physical solution is transferred between meshes using interpolation or an appropriate projection technique. For dynamic methods, the number and connectivity of mesh elements is kept fixed for most of the simulation and the mesh is moved at every time step. A mesh equation is usually used to compute node speeds in order to move the mesh. This has the advantage that one is not required to transfer the solution between meshes because the PDE is reformulated to take into account the fact that the nodes are moving [49, 42, 41, 43, 26, 15]. Furthermore, these methods are thought to do a good job of reducing “dispersive errors”, a property that is useful for this problem. The experiments presented here employ a dynamic technique, using a moving mesh PDE (MMPDE) to drive the movement of the mesh.
Even though numerous studies of the NLSE have been undertaken [36, 14, 7, 11, 48, 46, 3] these methods usually focus on the conservative properties of the NLSE or only apply -refinement in order to track or resolve the emerging solitons. Some authors have employed a combined -refinement approach to solve problems from applications including combustion and fluid mechanics [1, 27, 32, 19], elastostatics and fracture mechanics [2], heat transfer problems [25] and ocean modelling [33]. In previous work [28] we proposed an -algorithm and applied it to a number of one-dimensional time-dependent PDEs. To our knowledge, few authors have employed an -refinement strategy for the NLSE. In combining these methods, we aim to efficiently track the travelling soliton(s) (mesh movement) while controlling solution accuracy appropriately using mesh refinement.
The layout of this paper is as follows: section 2 describes the components of the -adaptive method for the NLSE and presents the algorithm. Numerical experiments are reported and discussed in section 3. Conclusions and future work are given in section 4.
2 Numerical method
We employ an adaptive mesh technique for the NLSE which involves adjusting both the number and position of nodes of the mesh, a so-called -adaptive approach. In addition, we also vary the time-step size during the computation. This section gives details of how the algorithm has been implemented.
2.1 Spatial discretisation
The first step in approximating the solution is re-defining the pure initial value problem (1.1) as an initial-boundary value problem in , since over the time interval under consideration, the solutions of (1.1) are assumed to be negligibly small outside . At these boundaries, it is customary to pose homogeneous Dirichlet or Neumann boundary conditions [18, 34, 36]; our experiments use the former.
The complex function is first decomposed into its real and imaginary parts and respectively, resulting in the coupled system of PDEs
[TABLE]
[TABLE]
where and are, respectively, the real and imaginary parts of .
To include node movement, (2.5) is rewritten with respect to a moving reference frame and the problem is recast in terms of the independent variables and , using the transformation
[TABLE]
from computational space to physical space . A uniform mesh covering is given by
[TABLE]
and the corresponding (nonuniform) mesh on is
[TABLE]
where
[TABLE]
In what follows, we define \mbox{\boldmathx}(t)=\left\{x_{i}(t)\right\}_{i=0}^{N}.
To incorporate mesh movement, it is convenient to express the Eulerian time derivatives in (2.5) in terms of the moving reference frame. The resulting equations are given by
[TABLE]
where , and denote derivatives with respect to where is held constant.
After applying central differencing for the spatial derivatives, the semi-discrete system on a moving grid is given by
[TABLE]
for , where , and , are the approximations to and . Further, we define and .
Application of the zero Dirichlet boundary conditions yields
[TABLE]
The discretisation of is described in section 2.3.
2.2 Mesh adaptation
The mesh adaptation process is a twofold process involving node movement and mesh refinement.
2.2.1 Mesh movement
The aim of node movement is to place more nodes where the solution has features which are difficult to resolve. We achieve this using a monitor function. This is typically a function of the solution gradient or curvature, and its choice is crucial to the success of the mesh movement process [20]. The placing of nodes is based on an equidistribution principle, where nodes are located to ensure that some measure of error is equally distributed over the mesh [12].
The mesh velocity is computed using a mesh generating equation. We use a moving mesh PDE (MMPDE) to achieve this. The impact of MMPDEs on the moving mesh method has been studied in some detail by Huang and his collaborators ([21, 9, 23, 24]). Our experiments here use a one-dimensional version of one of the two-dimensional MMPDEs proposed by Huang and Russell [23] given by:
[TABLE]
where is a temporal smoothing parameter and is a positive monitor function. The initial condition is obtained by equidistribution of the a monitor function based on the initial condition at .
Recognising that the NLSE is a system of equations for the real and imaginary components and , and motivated by the work in [4, 45], our experiments utilise the second derivative monitor function
[TABLE]
where
[TABLE]
and
[TABLE]
The role of is to ensure that some mesh points are placed in regions that do not have steep solution features e.g. outside boundary and interior layers. Some analysis on the effect of using monitor functions in general has been carried out in [4, 5, 22, 24].
Discretisation of (2.15) requires the evaluation of the monitor function (2.16). If we let
[TABLE]
then an approximation to is given by
[TABLE]
The floor, , on the monitor function, , is given by a quadrature approximation
[TABLE]
The discrete approximation of the monitor function (2.17) is then given by
[TABLE]
The approximation of is calculated similarly and finally
[TABLE]
To improve the robustness of the moving mesh method a smoothed monitor function is obtained as in [31] by setting
[TABLE]
with and in all our experiments. In addition, the summations only use terms that are well defined . Using second-order central differences for the spatial derivatives in (2.15), we obtain a semi-discrete system of moving mesh equations defined by
[TABLE]
for , with and . The term in (2.24) is given by
[TABLE]
where
[TABLE]
2.2.2 Mesh refinement
In choosing the number of nodes to use at each time step, the objective is to keep some measure of the spatial solution error within predetermined bounds. To implement this strategy, we define an error monitor, which broadly measures global difficulty of the problem under consideration. Let us define
[TABLE]
where is given by (2.16). If RTOL is a user-prescribed tolerance and and are given such that and , then we would like to ensure that
[TABLE]
Note that is simply a cheap, heuristic means that enables us to determine when to change the number of nodes. Also, the number of remeshings performed during a calculation is inversely proportional to the difference between and .
To calculate the number of nodes required at time we first evaluate
[TABLE]
where maxfac, minfac and are user-defined parameters. The exponent of in the formula is related to the assumption that the scheme is second-order accurate in space. In our experiments we have set these values to be: maxfac , minfac or for mesh enrichment or mesh coarsening respectively, and . The new number of mesh nodes is then
[TABLE]
where denotes “integer part of”. The prediction of the number of nodes (2.28) has been motivated using the same idea as has been used to control the time step in (2.36).
2.3 Temporal adaptation
Integration from to is accomplished following the approach of Beckett *et al. *[5]. The semi-discretised systems (2.13), (2.14) and (2.24) for the solution and the mesh are clearly coupled. For efficiency, we solve them using a decoupled iterative procedure which we outline here.
We discretise (2.24) in time using the first-order backward Euler method. This equation is the governing equation for \mbox{\boldmathx}\equiv\{x_{i}\}_{i=0}^{N}, for which and are known for . We use an iterative approach where, initially, and are evaluated at . Subsequent iterations use values from the preceding cycle. The linear system which arises at each iteration is solved directly. The final mesh that is used is obtained by combining this mesh and the mesh from the previous iteration using under-relaxation so that the th iterate is given by
[TABLE]
where \mbox{\boldmathx}^{[n+1,\nu+1]}_{*} is the mesh obtained from solving (2.24) and in all our computations.
When integrating from to , the system (2.13) and (2.14) is considered a system of equations for the approximation of and , where the node locations are available at and . The vector \dot{\mbox{\boldmathx}} is replaced by (\mbox{\boldmathx}^{n+1}-\mbox{\boldmathx}^{n})/\Delta t^{n} and is evaluated in using the linear interpolant
[TABLE]
where \mbox{\boldmathx}^{n} is the approximation to at . We also note that, while some authors (see e.g. [11]) use an upwinding approach for in (2.11) and (2.12), such treatment is not used here.
The equations (2.13) and (2.14) can be written as a coupled set of ODEs
[TABLE]
where \mbox{\boldmathf}:\mathbb{R}\times\mathbb{R}^{2(N+1)}\to\mathbb{R}^{2(N+1)} and
[TABLE]
The solution of (2.31) at is computed using a second-order singly diagonally implicit Runge-Kutta method (SDIRK2) [5] which possesses excellent stability properties. The Butcher array is shown in Table 1, where .
Integration from to is given by the solution of
[TABLE]
where \mbox{\boldmathw}^{n} denotes the value of at .
The values of \mbox{\boldmathk}_{1} and \mbox{\boldmathk}_{2} are obtained using a Newton iteration, terminating when convergence is achieve in the norm to within a user-prescribed tolerance, KTOL.
Our algorithm also employs adaptive time stepping. To implement this, we use an error indicator based on the computed solution and a first order solution that can be cheaply obtained as a by product of the SDIRK computation used. Indeed, if \hat{\mbox{\boldmathw}}^{n+1} is a first order approximation to at time , we obtain \hat{\mbox{\boldmathw}}^{n+1} using
[TABLE]
and the error indicator ERR is calculated using the mesh-dependent error measure
[TABLE]
where
[TABLE]
In the event that , where ETOL is a user-supplied tolerance, the time step is rejected and repeated with a smaller time step. On the other hand if , then the predicted suitable time step, based on the solution, for the next time step is given by the formula (see [16])
[TABLE]
where typically maxfac , and minfac.
A similar computation based on the mesh is carried out to predict the time step. Here, we use an indicator of grid accuracy, mesherr, given by
[TABLE]
where \mbox{\boldmathx}^{[n+1,\upsilon]} is the final mesh at obtained from (2.30), and \mbox{\boldmathx}^{[n+1,\upsilon-1]} denotes the mesh at the previous pass in the iterative procedure. If MESHTOL is a user-supplied mesh tolerance and , then the time step is rejected and repeated with a smaller time step. If , then the predicted mesh time step is calculated using:
[TABLE]
where MESHBAL is a user-chosen parameter and we require that MESHBAL MESHTOL. We finally take the minimum of the solution time step (2.36) and the predicted mesh time step (2.38) so that
[TABLE]
2.4 The complete -algorithm
The algorithm which we have used to solve the NLSE is shown in Algorithm 1 below, where represents the numerical solution at time . Note that, in the absence of steps 1-1 and the computation of in step 1, the method performs -adaptation with the initial number of nodes provided.
The initial mesh is computed automatically so that satisfies (2.27). This is achieved by equidistribution of the initial condition using the de Boor algorithm [12] which iterates until the difference between successive meshes is less than some prescribed tolerance, GTOL.
In the event that -refinement is performed, the new grid \displaystyle\mbox{\boldmathx}^{n+1}_{N^{n+1}} is obtained via equidistribution of the monitor function defined on the mesh \displaystyle\mbox{\boldmathx}^{n+1}_{N^{n}}. Using cubic interpolation, the solution is then transferred from \displaystyle\mbox{\boldmathx}^{n+1}_{N^{n}} onto the newly computed grid, \mbox{\boldmathx}_{N^{n+1}}^{n+1}.
3 Numerical experiments
We now consider the performance of the -algorithm on three increasingly difficult test problems.
3.1 Propagation of a single soliton
If the initial condition is given by
[TABLE]
then the solution is given by the single soliton
[TABLE]
where is the speed of the soliton and is a real parameter which determines the amplitude. The modulus is characterised by a single soliton of amplitude , which is located initially at , and travels to the right with speed .
The computations shown here used the values , , and . For the spatial domain we set and and integrated up to time . The simulations were performed using the following parameters and tolerances: , , RTOL, ETOL and . Based on equidistribution of the initial condition, the algorithm determined that grid nodes were needed to resolve the initial condition to the required tolerance. Plots of the numerical and exact solutions at and are shown in Figure 1. We can see that the algorithm does an excellent job of resolving the travelling soliton.
The grid point trajectories shown in Figure 2 (showing alternate grid points) indicate that the -adaptive component of the adaptive algorithm performs well tracking the movement of the front throughout the time integration period.
The performance of the -algorithm is shown in Table 3, where the acronyms used are described in Table 2. We can see that no -refinement steps were needed throughout the integration process as the travelling wave was well resolved using the -refinement component of the adaptive strategy.
To compare our results with previous work, we computed the error at time as follows:
[TABLE]
where and is the exact solution. The first column of Figure 3 shows the evolution of the spatial error indicator , the time step history, and the norm of the error when a value is used. One can see that the algorithm ensures that , as expected. In addition, the time step is chosen to be reasonably large and is relatively constant throughout the simulation. One can also see that the error remains approximately constant throughout the simulation.
The second and third columns of Figure 3 show how , the time step, and the norm of the solution error at , vary as RTOL is decreased by a factor of four. We can see from Table 4 that is approximately doubled as is quartered and that this results in a reduction in the -norm of the error and the rate of decrease is approaching a factor of four. This behaviour is consistent with the expectation that the overall algorithm is spatially second-order accurate.
For this problem the exact values of the conserved quantities are and . The conserved quantities and are approximated at time by
[TABLE]
and
[TABLE]
We define the mean values and obtained from the numerical solution over the time integration period as
[TABLE]
where is the total number of time steps taken. Table 5 shows the initial values and , and the mean values and using the -adaptive algorithm. The equivalent quantities are also shown when two uniform meshes are used: one using the SDIRK2 time integration scheme and the other using the energy-conserving modified Crank-Nicolson scheme (MCN) [13]. We have also shown the error in and when a finer uniform mesh is used. We can see that the initial approximations and are much more accurate using the adaptive mesh compared to the schemes using a uniform mesh with the same number of mesh points; this is especially true for the approximation of which relies on the accurate approximation of solution derivatives. We can see that there is no noticeable difference in the approximation to and using the conservative scheme; the error being equal to its initial error as expected. We see that the value of is almost constant throughout the computation using the -algorithm. The conservation of is less well maintained but is far more accurately predicted with the -algorithm compared to a uniform mesh with the same number of mesh nodes. It requires at least nodes and a time step of size to achieve a comparable level of solution accuracy (in the norm) to an adaptive grid method, which utilises nodes and .
In Figure 4(a), we plot the evolution of -norm of the error. For comparison we have also included the error calculated using the MCN scheme on a uniform mesh with . It is clear that the error using the moving mesh method is considerably smaller than the error obtained using the MCN scheme and this is despite the fact that the energy is not conserved with the moving mesh method as can be seen in Figure 4(b). This example therefore suggests that it is important to accurately resolve spatial gradients and that it is not sufficient to use a numerical method which conserves an approximation to the energy if the spatial mesh is not dense enough.
Table 6 shows the error at for various values of using the moving mesh method when mesh enrichment and coarsening are switched off. These results are comparable with those obtained by previous authors [34, 36, 39]. The results obtained by Revilla [34] for a similar experiment are also displayed. Whereas the -algorithm we use utilises interpolation only when the mesh is coarsened/enriched, the method used by Revilla obtains the numerical solution on the new grid via an interpolation based method. It is possible that frequent interpolation is a source of spatial error in the Revilla approach which could account for the discrepancy between the results. The approach in [36] uses the arc-length monitor function based on first-derivatives of the numerical solution and interpolation to transfer the solution between meshes. It is clear that our method outperforms both of these moving mesh approaches and is far more accurate than the use of a uniform mesh.
3.2 Interaction of two solitons
We next consider the initial condition
[TABLE]
where
[TABLE]
In the simulations below we have chosen the parameters , , and , , for and , respectively with . This initial condition consists of two solitons of different amplitudes, located initially at and which then move to the right and left with speeds and , respectively. The solitons interact as if they were particle-like entities, i.e., they exhibit elastic collisions from which they emerge with the same shape [44].
We integrated the problem up to the final time and set the artificial boundaries and . For this computation we used ETOL, , RTOL, and . The solutions at are shown in Figure 5. The reference solution was obtained using a fixed uniform grid with nodes. To plotting accuracy, the -algorithm has done an excellent job of capturing the interacting solitons. Details of the performance of the -algorithm are given in Table 7.
In Figure 6(a) we can see from the grid point trajectories that between and the two solitons meet and cross. It is within this time interval that refinements/derefinements of the grid are performed as can be seen from the grid point trajectories and evolution of in Figure 6(b). Note that the behaviour of in Figure 6 is what one would anticipate. The amplitudes of the solitons at and are about the same and so we would expect roughly the same number of nodes to be used. We can see that the algorithm utilised a very similar value for at these times. Furthermore, more nodes were introduced just as the problem got more challenging and nodes were removed when they were not needed.
It is clear from Figure 7(a) that the objective of keeping within the given bounds has been successfully achieved. Also, we see from Figure 7(b) that the algorithm has chosen the time step to be fairly constant throughout the simulation - it reduces appropriately when the solitons interact and recovers afterwards. A global plot of the solution profiles is given in Figure 8 as well as a plot of the error in the energy. We can see that there is a slight change in the energy as the solitons interact but this error does not increase dramatically through the simulation and is not far off its initial value.
For comparison in Figure 9 we show the computed solution obtained using the MCN scheme with a time step and a uniform mesh using the average number of points used with the adaptive scheme. For this example this resulted in a value of . We can see clearly that the computed solutions are poor in comparison with the -adaptive method. The inaccuracy again is due to the lack of spatial resolution of the rapidly changing behaviour of the interacting solitions and this is not compensated for by the discrete conservation of energy.
3.3 Bound state of three solitons
The bound state of multiple solitons is a class of problems with initial condition
[TABLE]
and in (1.1), where is a positive integer. For this case, is a bound state of solitons [29].
As in [18, 34, 39] we study the bound state of three solitons, i.e., , and use artificial boundaries located at and . The solution of this problem is periodic in time with the period being approximately . The solution develops extremely large spatial and temporal gradients thus posing a stringent test to any numerical scheme.
For the purpose of comparison with previous work, we integrated over five periods and took . For this simulation, we used the values RTOL, , and ETOL. For this problem we set throughout the computation. Note that the choice (2.17) and (2.18) places approximately half of the available nodes outside the region where we have high solution activity. For this problem, this leads to insufficient resolution in the soliton region. The value of is much smaller than that predicted by the algorithm thus placing more nodes in the centre of the domain.
The solutions at the times and are shown in Figure 10. The reference solution was obtained using a fixed uniform grid with . The mesh trajectories and the evolution of are displayed in Figure 11. The trajectories only cover the region where nodes experience significantly more activity. As for the previous cases, the algorithm tracks accurately the solitons as they appear and disappear during the integration. One can also see that the monitor captures regions of high curvature as expected. The error indicator is also kept within the required bounds. Computational statistics are shown in Table 8.
The evolution of and the time step history are shown in Figure 12. As expected, the algorithm adds nodes when they are needed (in this case when there are two solitons) and removes them when they are not needed. Furthermore, the time step is kept relatively large over the integration, another benefit of using an adaptive approach.
A global view of the solution trajectories is shown in Figure 13 as well as the evolution of the energy error. We can see that the solution is well approximated over the first few periods but that eventually the solution accuracy deteriorates. The energy error also increases more rapidly for this much more demanding test case as can be seen also in Figure 13. However, the computed solutions are far more accurate to those obtained using the MCN scheme on a uniform mesh as seen in Figure 14, where again we have used the average number of points used with the method and a time step . As with the two previous examples, it’s clear that a lack of spatial resolution results in poor solution accuracy even though the scheme preserves the inital approximation to the energy.
4 Conclusions
We have developed an -adaptive algorithm which combines adaptive mesh movement and mesh enrichment for the cubic nonlinear Schödinger equation. Numerical experiments demonstrate that the method works well for problems with large spatial and temporal variations in comparison with other moving mesh methods as well as energy-conserving uniform grid methods with the equivalent number of grid nodes.
There is scope to improve the algorithm further and we hope to do this by considering more closely the effect and the choice of MMPDEs and monitor functions. It would also be useful to develop conservative versions of the moving mesh method which could potentially improve solution accuracy over longer time integration periods. For simplicity, in this work we have used linear interpolation to transfer solutions between meshes when -adaptation is required. In future we will also consider the use of projection for transferring solutions between meshes. While we have focussed in this paper on the application of method to the cubic NLSE, it also has applicability to other non-linear dispersive wave equations. Another area of development would be to investigate the merits of using an -adaptive scheme in a multidimensional context.
The reference list from the paper itself. Each links out to its DOI / PubMed record.
- 1[1] S. Adjerid and J. E. Flaherty. A moving finite element method with error estimation and refinement for one-dimensional time dependent partial differential equations. SIAM J. Numer. Anal. , 23(4):778–795, August 1986.
- 2[2] B. A. Ammons and M. Vable. An HR-method of mesh refinement for boundary element method. Int. J. Numer. Meth. Eng. , 43(6):979–996, 1998.
- 3[3] L. Barletti, L. Brugnano, G. Frasca Caccia, and F. Iavernaro. Energy-conserving methods for the nonlinear Schrödinger equation. Appl. Math. Comput. , 318:3–18, 2018.
- 4[4] G. Beckett and J. A. Mackenzie. Convergence analysis of finite difference approximations on equidistributed grids to a singularly perturbed boundary value problem. Appl. Numer. Math. , 35:87–109, 2000.
- 5[5] G. Beckett, J. A. Mackenzie, A. Ramage, and D. M. Sloan. On the numerical solution of one-dimensional PD Es using adaptive methods based on equidistribution. J. Comput. Phys. , 167:372–392, 2001.
- 6[6] G. Beckett, J. A. Mackenzie, and M. L. Robertson. A moving mesh finite element method for the solution of two-dimensional Stefan problems. J. Comput. Phys. , 168:500–518, 2001.
- 7[7] C. J. Budd, S. Chen, and R. D. Russell. New self-similar solutions of the nonlinear Schrödinger equation with moving mesh computations. J. Comput. Phys. , 152(2):756 – 789, 1999.
- 8[8] C. J. Budd, W. Huang, and R. D. Russell. Adaptivity with moving grids. Acta Numerica , 18:111–241, 2009.
