Next Article in Journal
Algorithms for Reliable Estimation, Identification and Control
Previous Article in Journal
A Neural Network Approach for the Analysis of Reproducible Ribo–Seq Profiles
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

New Step Size Control Algorithm for Semi-Implicit Composition ODE Solvers

1
Youth Research Institute, Saint Petersburg Electrotechnical University “LETI”, 197376 Saint Petersburg, Russia
2
Department of Computer-Aided Design, Saint Petersburg Electrotechnical University “LETI”, 197376 Saint Petersburg, Russia
*
Author to whom correspondence should be addressed.
Algorithms 2022, 15(8), 275; https://doi.org/10.3390/a15080275
Submission received: 16 July 2022 / Revised: 29 July 2022 / Accepted: 1 August 2022 / Published: 4 August 2022
(This article belongs to the Section Algorithms for Multidisciplinary Applications)

Abstract

:
Composition is a powerful and simple approach for obtaining numerical integration methods of high accuracy order while preserving the geometric properties of a basic integrator. Adaptive step size control allows one to significantly increase the performance of numerical integration methods. However, there is a lack of efficient step size control algorithms for composition solvers due to some known difficulties in constructing a low-cost embedded local error estimator. In this paper, we propose a novel local error estimator based on a difference between the semi-implicit CD method and semi-explicit midpoint methods within a common composition scheme. We evaluate the performance of adaptive composition schemes with the proposed local error estimator, comparing it with the other state-of-the-art approaches. We show that composition ODE solvers with the proposed step size control algorithm possess higher numerical efficiency than known methods, by using a comprehensive set of nonlinear test problems.

1. Introduction

One of the promising areas in numerical integration methods is composition and splitting methods. These solvers are known for their ability to preserve geometric properties of the basic method [1,2] and construct higher-order schemes for solving problems described by Hamiltonian ordinary and partial differential equations [3,4]. H. Yoshida reported some coefficients for constructing higher-order symplectic integrators by composition in [5]. M. Suzuki developed this approach further in [6], providing a generalized formula for so-called fractal composition methods. In [7], A. Murua and J. M. San-Serna developed an alternative technique for finding order conditions of composition schemes to improve the overall solver’s performance. In [8], the authors show that semi-implicit basic methods allow one to efficiently solve non-Hamiltonian systems via composition schemes, and that the computational efficiency of semi-implicit and semi-explicit composition solvers can be close to the efficiency of the broadly used explicit Runge–Kutta methods.
It is known that adaptive step size control algorithms greatly increase the efficiency of ODE solvers due to the possibility to achieve better accuracy with fewer calculation steps. Applying variable-step integration techniques to composition methods is one of the key problems in the field. The main reason that prevents researchers from using the variable-step control in composition schemes is the lack of computationally cheap local truncation error estimators. Known approaches based on parallel solutions obtained via different methods are barely applicable due to significant overheads.
Recently, Blanes et al. showed the possibility to construct embedded error estimators for splitting and composition schemes [9] and proved the efficiency of the proposed approach when simulating Hamiltonian systems.
In this paper, we present a novel step size control algorithm for composition solvers that are based on simultaneous usage of semi-explicit and semi-implicit basic methods in a single composition scheme. The proposed approach can be used with an arbitrary composition scheme and requires only a single additional evaluation of the right-hand side (RHS) function per the method’s stage, which makes it computationally efficient. In our study, we compare the developed adaptive step size technique with several known methods of step control using a representative set of test problems.
The rest of the paper is as follows. In Section 2, semi-implicit CD and semi-explicit midpoint methods are considered, and a new error estimator based on the difference between their solutions is proposed. In Section 3, several composition solvers with different error estimators are tested on three nonlinear test problems. Performance and step size behavior plots are used to evaluate the efficiency of the studied step control algorithms.

2. Materials and Methods

2.1. Using Variable-Step Integration with Composition Schemes

The main idea of the composition scheme [5,6] is to achieve an approximation of higher order by combining solutions obtained by a basic method Φ h as follows.
Let us choose numbers γ 1 , , γ s satisfying the consistency condition
γ 1 + γ 2 + + γ s = 1
.
Using Equation (1), we can obtain a composition method with s stages:
Ψ h = Φ γ s h Φ γ 2 h Φ γ 1 h .  
Coefficients γ 1 , , γ s are chosen to increase the order of the overall method Ψ h over the order of the basic method. They can be found using various techniques. First, consider a symmetric sequence proposed by H. Yoshida in 1990 [5] which has proven to be simple and efficient, and is widely known among scholars in the field. For a three-stage composition method, the coefficients are
γ 1 = γ 3 = ( 2 2 1 p + 1 ) 1 , γ 2 = 2 1 p + 1 ( 2 2 1 p + 1 ) 1 ,  
where p is the accuracy order of the basic method Φ h .
Following the idea of [8], one can conclude that choosing the symmetric basic method of order 2 for the composition method with coefficients Equation (3) results in a three-stage method of order 4.
The other several considered sequences of coefficients are based on Kahan’s [10] interpretation of Yoshida’s scheme and are presented in Table 1. The notation sNordM is used following the original work and corresponds to a scheme with N stages which gives an approximation of accuracy order M.
Implementing the ODE solver with adaptive step size requires a formula for calculating a new step size value based on the previous one. The general formula for a new step size in a step control algorithm is as follows:
h n + 1 = h n R ,  
where R is a coefficient which contains information about computation error and can be obtained using different algorithms. In our study, we used the conventional step size control algorithm presented by E. Hairer et al. in [11], which states that after choosing an initial step size h n , two approximations of the solution are to be found using two integration methods with different accuracy orders to evaluate the local truncation error. Let us refer to these approximations as x n and x ˜ n . Using those approximations, one can find a new step size value h n + 1 as follows:
h n + 1 = h n ( T o l x n x ˜ n ) 1 m + 1 ,
where m corresponds to the lowest accuracy order of the schemes, and T o l is the desired error tolerance.

2.2. Semi-Implicit CD Method

The semi-implicit CD method [12,13,14], which is a generalization of the Störmer–Verlet method for non-Hamiltonian systems, was chosen as a basic symmetric method for this study. We will show how its semi-explicit and semi-implicit variants can be used to construct an efficient error estimator. The CD method is of accuracy order 2 and exists for ODE systems of dimension 2 and higher. Let us consider the following initial value problem (IVP):
{ d x d t = f ( x , y , t ) d y d t = g ( x , y , t ) ,
with initial conditions x ( t 0 ) = x 0 ,   y ( t 0 ) = y 0 . We denote the vector of state variables as ( x   y ) . Then, a symmetric semi-implicit second-order method [12] can be described as a composition of two adjoint methods:
Φ ( x n + 1 , h ) = Φ 1 ( x n , h 2 ) Φ 2 ( x n + 1 2 , h 2 ) , Φ ( x n , h ) = Φ 2 ( Φ 1 ( x n , h 2 ) , h 2 ) ,
where
Φ 1 ( x n , h 2 ) : { x n + 0.5 = x n + h 2 f ( x n , y n , t n ) y n + 0.5 = y n + h 2 g ( x n + 0.5 , y n , t n ) ,  
Φ 2 ( x n + 0.5 , h 2 ) : { y n + 1 = y n + 0.5 + h 2 g ( x n + 0.5 , y n + 1 , t n + 1 ) x n + 1 = x n + 0.5 + h 2 f ( x n + 1 , y n + 1 , t n + 1 ) .  
The obtained methods Equations (5) and (6) are adjoint, with Φ 1 being semi-explicit and Φ 2 semi-implicit. The implicitness can be resolved through the Newton iterations, simple iterations, or analytically (where possible).

2.3. Semi-Explicit Modification of Midpoint Method

Following the idea of the explicit midpoint method [14], we propose its semi-explicit modification for constructing an embedded error estimator. Considering the previously described system of ODE, one can obtain a solution at time t n + 1 using the following formula, which is a second-order combination of explicit and semi-explicit methods of first accuracy order.
Φ ˜ ( x n , h ) = Φ 3 ( x n , Φ 1 ( x n , h 2 ) , h ) ,
where
Φ 1 ( x n , h 2 ) : { x n + 0.5 = x n + h 2 f ( x n , y n , t n ) y n + 0.5 = y n + h 2 g ( x n + 0.5 , y n , t n ) ,  
Φ 3 ( x n ,   x n + 0.5 , h ) : { x n + 1 = x n + h f ( x n + 0.5 , y n + 0.5 , t n + 0.5 ) y n + 1 = y n + h g ( x n + 0.5 , y n + 0.5 , t n + 0.5 ) ,  
which is a modification of the classic explicit midpoint scheme up to changing the first stage of the method from explicit to semi-explicit Euler integrator. Note that Equations (5) and (7) are similar; therefore, one does not need to compute x n + 0.5 twice. Obtaining x n + 1 and x ˜ n + 1 allows us to use Equation (4) for step control.

2.4. Truncation Error Estimators for Composition ODE Solvers

In order to evaluate a new error estimation scheme, we compare it with several known adaptive step size algorithms. The first one estimates local error using the difference between two numerical solutions obtained by the same composition of different basic integration methods, which we denote as OCDM (One Composition for Different Methods). Figure 1 depicts the general scheme of the OCDM error estimator for an arbitrary composition solver.
In this study, we will use two different commutations of the basic CD method. The term “commutation” means the order in which state variables are calculated. This way provides two different solutions as if we used different basic methods of the same accuracy order.
Φ ( x n , h ) : { x n + 0.5 = x n + h 2 f ( x n , y n , t n ) y n + 0.5 = y n + h 2 g ( x n + 0.5 , y n , t n ) y n + 1 = y n + 0.5 + h 2 g ( x n + 0.5 , y n + 1 , t n + 1 ) x n + 1 = x n + 0.5 + h 2 f ( x n + 1 , y n + 1 , t n + 1 ) , Φ ¯ ( X n , h ) : { y n + 0.5 = y n + h 2 g ( x n , y n , t n ) x n + 0.5 = x n + h 2 f ( x n , y n + 0.5 , t n ) x n + 1 = x n + 0.5 + h 2 f ( x n + 1 , y n + 0.5 , t n + 1 ) y n + 1 = y n + 0.5 + h 2 g ( x n + 1 , y n + 1 , t n + 1 ) .
The second considered method of error estimation uses two solutions found using the same basic method in different composition solvers, which we call DCOM (Different Compositions for One Method). The DCOM scheme is shown in Figure 2.

2.5. Embedded Error Estimators in Composition Schemes

One way to evaluate a local truncation error is using pair of embedded methods, e.g., as in a well-known family of embedded Runge–Kutta schemes. Following the idea first described by Blanes et al. [9], one can use intermediate outputs obtained during the computation process of numerical approximation x n + 1 = Ψ h ( x n ) x ( t n + 1 ) = x ( t n + h ) with Equation (2). Using a composition scheme with s stages, one obtains s 1 intermediate outputs:
x n , 0 = x n , x n , k = Ψ h ( x n ) = Φ γ k h Φ γ 1 h ,   k = 1 , , s 1
.
Approximation x ˜ n + 1 can be obtained as a linear combination of intermediate values x n , k and further used for error estimation:
x ˜ n + 1 = k = 0 s 1 w k x n , k .
Coefficients w k were found by solving a system of linear equations, which represent order conditions [9]. The number of order conditions to be satisfied increases according to the desired order of x ˜ n + 1 solution:
r 0 w 0 + k = 1 s 1 w k = 1 , r 1 k = 1 s 1 w k j = 1 k γ j = 1 , r 2 k = 1 s 1 w k ( j = 1 k γ j ) 2 = 1 , r 3 , 1 k = 1 s 1 w k ( j = 1 k γ j ) 3 = 1 , r 3 , 2 k = 1 s 1 w k j = 1 k γ j 3 = 1 , r 4 , 1 k = 1 s 1 w k ( j = 1 k γ j ) 4 = 1 , r 4 , 2 k = 1 s 1 w k ( j = 1 k γ j 4 + 2 j = 1 k 1 γ j 3 l = j + 1 k γ l ) = 0 , r 4 , 3 k = 1 s 1 w k ( j = 1 k γ j 4 + 2 j = 2 k γ j 3 l = 1 j 1 γ l ) = 0 .
To obtain a solution of accuracy order 2 from the fourth-order scheme, one must solve five equations from (9). The lowest number of stages required to satisfy order conditions in this case equals 5, and a unique solution for the particular scheme of fourth order by Kahan et al. [7] from Table 1 (s5ord4) will be as follows:
x ˜ n + 1 = x n + w 1 ( x n , 1 + x n , 4 ) + w 2 ( x n , 2 + x n , 3 ) ,
with w 1 = −1.40482876783862909, w 2 = 2.40482876783863197.
To obtain a linear combination of order 4, one must solve the complete set of equations from (9). For the composition scheme with seven stages, a unique solution is as follows:
x ˜ n + 1 = x n + w 1 ( x n , 1 x n , 6 ) + w 2 ( x n , 2 x n , 5 ) + w 3 ( x n , 3 x n , 4 ) .
Following the same idea, one can find the required w i ,   i = 1 , 2 , 3 values for one of Kahan’s schemes [10] with composition coefficients from Table 1 (s7ord6):
w 1 = −0.909832330075625028,
w 2 = 2.16331188722936796,
w 3 = 0.556955803872050015.
The proposed scheme can also be used with estimators of higher orders. In particular, one must solve a system of 13 linear equations to obtain an estimator of order 5 for a symmetric composition scheme with 17 stages of order 8 (s17ord8). The estimator in this case reads
x ˜ n + 1 = x n + i = 1 8 w i ( x n , i x n , 17 i ) ,
where
w 1 = −2.77811433347582461058,
w 2 = 1.43336350604816157334,
w 3 = −2.35490307436226712937,
w 4 = 0.27249477875971647996,
w 5 = 3.09204406313073660493,
w 6 = 1.33511505989947708172,
w 7 = 0,
w 8 = 0.
Further, we will address this technique as Blanes’ Error Estimation (BEE).

2.6. New Technique to Estimate Local Truncation Error

The main idea of the proposed embedded composition scheme implies the separation of the solution into two parts at every stage, as shown in Figure 3.
In Figure 3, x n = ( x n y n ) , x n , i = ( x n , i y n , i ) ; Φ 1 is a semi-explicit D method; Φ 2 is a semi-implicit D method, which in composition with Φ 1 forms a semi-implicit CD method. To obtain a semi-explicit middle point method, one requires the composition of Φ 1 and Φ 3 . We will denote this scheme as ECDM (Embedded Composition for Different Methods).
Using formalization to describe the proposed technique, one can obtain the following:
x ˜ n = Φ 1 ( x n , γ 1 h ) , x n , 1 = Φ 2 ( x ˜ n , γ 1 h ) , x ˜ n , 1 = Φ 3 ( x n , x ˜ n , γ 1 h ) , x ¯ n , 1 = Φ 1 ( x n , 1 , γ 2 h ) , x n + 1 = Φ 2 ( x ¯ n , 1 , γ 2 h ) , x ˜ n + 1 = Φ 3 ( x ˜ n , 1 , x ¯ n , 1 , γ 2 h ) .
One can see that the proposed approach is based mainly on the idea of using two different basic methods—the semi-implicit CD method and semi-explicit midpoint method, which have the same semi-implicit Euler as a starting substep. For every integration step, we take the solution at point x n and use it as a starting value for two different compositions, which we address as x n (main solution, semi-implicit CD) and x ˜ n (additional solution, semi-explicit midpoint). Further analyzing the presented scheme, one can see that intermediate result x n , 1 from the first part of the semi-implicit solution is being used as a part of explicit x ˜ n , 2 , and so on.
To further clarify the proposed solution, one can consider its pseudocode as Algorithm 1.
Algorithm 1. Pseudocode for the proposed step size control algorithm
Begin Algorithm
1  Set variable   values   x n, h;
2  Set vector of composition coefficients γ;
3  Set s as number of composition stages;
4     Begin DO-WHILE cycle until   t o l | | x n + 1 x ˜ n + 1 | |
5     Begin FOR i = 1, …, s
6     Calculate a new value of h using formula h = [i];
7        Calculate xn+ 0.5   value   starting   from   x n using semi-explicit D method with
         step size h/2;
8         Calculate   x ˜ n + 1   value   starting   from   x n using explicit Euler method
          with   step   size   h   using   previously   obtained   value   x n+ 0.5;
9         Calculate   x n+ 1   value   starting   from   x n using semi-implicit D method with
          step   size   h / 2   using   previously   obtained   value   x n+ 0.5;
10     End FOR cycle;
16     Choose new step value h;
18   End DO-WHILE cycle;
 End Algorithm

3. Results

In this section, we analyze the performance of the proposed approach in comparison with existing error estimators, by using a set of test ODE systems.
In each experiment, the following parameters were used: Order, which defines the composition scheme applied in the solver; initial conditions; simulation time T; h s t a r t , h m i n , h m a x —initial, minimum, and maximum step size respectively; Tol—tolerance.
For plotting the performance plot, the tolerance value was changed in a specified interval (see Table 2, Table 3 and Table 4). In order to obtain an estimated solution error, we compared the result of the calculation with the reference solution taken by the extrapolation method of order 10 based on the linearly implicit midpoint method [15] over the same step sequences obtained from the evaluated solvers. Then, a maximum error over the simulation interval was taken for performance analysis. To obtain a reference solution, we used the same step sequences generated by the evaluated adaptive solvers but applying them to a high-order integration method.

3.1. Problem 1: Rössler System

The Rössler system is well-known as being one of the simplest ODE systems with chaotic behavior and a fine test problem for numerical ODE solvers [16]. In this paragraph, all simulations were carried out with parameters a = 0.2 ,   b = 0.2 ,   c = 5.7 , which correspond to a chaotic regime.
x ˙ = y z , y ˙ = x + a y , z ˙ = b + z ( x c )  
A semi-implicit CD algorithm (7) for the Rössler problem can be formulated as follows:
y n + 0.5 = y n + h 2 ( x n + a y n ) , z n + 0.5 = z n + h 2 ( b + z n x n c z n ) , x n + 1 = x n + h ( y n + 0.5 z n + 0.5 ) , z n + 1 = z n + 0.5 + h 2 b 1 h 2 x n + 1 + c h 2 , y n + 1 = y n + 0.5 + h 2 x n + 1 1 a h 2 .  
A semi-explicit midpoint algorithm (8) for the Rössler system is as follows:
z n + 0.5 = z n + h 2 ( b + z n x n c z n ) , y n + 0.5 = y n + h 2 ( x n + a y n ) , x n + 1 2 = x n + h 2 ( y n + 0.5 z n + 0.5 ) , x n + 1 = x n + h ( y n + 0.5 z n + 0.5 ) , y n + 1 = y n + h ( x n + 0.5 + a y n + 0.5 ) , z n + 1 = z n + h ( b + z n + 0.5 x n + 0.5 c z n + 0.5 ) .
Table 2 presents parameter values used in our experiments. Table 3 provides data on total step evaluations for every considered algorithm. We tested three methods, of orders 4, 6, and 8. A double-precision floating-point data type was used. To compare the computational cost versus obtained error ratio for investigated step size control algorithms, including OCDM, DCOM, Blanes’ embedded estimator (BEE), and the proposed technique, we present performance plots for them in Figure 4. Figure 5 illustrates the step size behavior for various local truncation error estimators. As one can see, while increasing the accuracy order of the desired solution, we simultaneously increase the number of composition stages, which leads to a significant decrease in calculation speed per step, but at the same time, it increases the overall performance due to larger step sizes.
One can see from Figure 4 and Figure 5 that the proposed step size control technique shows a noticeable increase in speed and accuracy for all investigated schemes. One can see that OCDM and the proposed scheme result in almost similar step size curve amplitude while DCOM and BEE generate sufficiently smaller steps. For this problem, ease of implementation, and larger step sizes, provide the most efficient step behavior.

3.2. Problem 2: Van der Pol Oscillator

The Van der Pol oscillator is a system with non-linear damping controlled by parameter m and corresponding to the stiffness of the system [17]. The value m = 55 corresponds to moderately stiff behavior.
x ˙ = y , y ˙ = m ( 1 x 2 ) y x
A semi-implicit CD algorithm for the Van der Pol oscillator can be written as follows:
y n + 0.5 = y n + h 2 ( m ( 1 x n x n ) y n x n ) , x n + 1 = x n + h y n + 0.5 , y n + 1 = y n + 0.5 h 2 x n + 1 1 h 2 m ( 1 x n + 1 x n + 1 ) .  
A semi-explicit midpoint algorithm for the Van der Pol equation is as follows:
y n + 0.5 = y n + h 2 ( m ( 1 x n x n ) y n x n ) , x n + 0.5 = x n + h 2 y n + 0.5 , x n + 1 = x n + h y n + 0.5 , y n + 1 = y n + h ( m ( 1 x n + 0.5 x n + 0.5 ) y n + 0.5 x n + 0.5 ) .  
Figure 6 shows the performance plots for solving the Van der Pol equation through different adaptive step size composition solvers. Figure 7 illustrates the step size behavior for various local truncation error estimators. Parameter values used in experiments can be found in Table 4. Gathered data on total number of steps for every considered algorithm is presented in Table 5.
The performance plots shown in Figure 6 show that all investigated methods of error estimation perform worse for solvers of higher accuracy order, while the proposed technique is efficient for both low and high accuracy orders. Appending the previous results, we may conclude that reducing the additional costs required for the local error estimation is a key reason for the proposed ECDM step size control algorithm’s high performance.

3.3. Problem 3: Two-Body Problem

The third test problem is a Hamiltonian system of fourth order that describes the motion of two bodies with similar masses [18]:
d x d t = z ,   d y d t = w , d z d t = x ( x 2 + y 2 ) 3 , d w d t = y ( x 2 + y 2 ) 3 .
The analytical solution for the initial values x ( 0 ) = 1 ,   y ( 0 ) = 0 ,   z ( 0 ) = 0 ,   w ( 0 ) = 1 is as follows:
x ( t ) = cos ( t ) , y ( t ) = sin ( t ) , z ( t ) = sin ( t ) , w ( t ) = cos ( t ) .
A semi-explicit midpoint algorithm for the system is as follows:
w n + 0.5 = w n + h 2 ( y n ( x n x n + y n y n ) 3 ) , z n + 0.5 = z n + h 2 ( x n ( x n x n + y n y n ) 3 ) , y n + 0.5 = y n + h 2 ( w n + 0.5 ) , x n + 0.5 = x n + h 2 ( z n + 0.5 ) , x n + 1 = x n + h ( z n + 0.5 ) , y n + 1 = y n + h ( w n + 0.5 ) , z n + 1 = z n + h ( x n + 0.5 ( x n + 0.5 x n + 0.5 + y n + 0.5 y n + 0.5 ) 3 ) , w n + 1 = w n + h ( y n + 0.5 ( x n + 0.5 x n + 0.5 + y n + 0.5 y n + 0.5 ) 3 ) .
A semi-implicit CD algorithm is as follows:
w n + 0.5 = w n + h 2 ( y n ( x n x n + y n y n ) 3 ) , z n + 0.5 = z n + h 2 ( x n ( x n x n + y n y n ) 3 ) , y n + 0.5 = y n + h 2 ( w n + 0.5 ) , x n + 0.5 = x n + h 2 ( z n + 0.5 ) , x n + 1 = x n + 0.5 + h ( z n + 0.5 ) ,   y n + 1 = y n + 0.5 + h ( w n + 0.5 ) , z n + 1 = z n + 0.5 + h ( x n + 1 ( x n + 1 x n + 1 + y n + 1 y n + 1 ) 3 ) , w n + 1 = w n + 0.5 + h ( y n + 1 ( x n + 1 x n + 1 + y n + 1 y n + 1 ) 3 ) .
Figure 8 shows the performance plots for solving the two-body problem through different adaptive step size composition solvers. Parameter values used in the experiments are presented in Table 6. Dependence between the total number of steps and tolerance can be observed in Table 7.
Figure 9 illustrates the step size behavior for various local truncation error estimators.
While solving the system with a periodic solution, the proposed ECDM step size control algorithm shows higher performance for low accuracy order composition schemes, while its overall CPU time vs. error features remains the most competitive among all investigated step size control algorithms. The step size plot given in Figure 9 correlates with the periodic behavior of the state variables. The ECDM selects the largest step sizes, which indirectly indicates that the other local error estimation techniques tend to overestimate the error and select fewer step sizes, which makes them less efficient.

4. Conclusions

The reported study is dedicated to variable step size control algorithms for composition integration methods. The general form of composition methods was considered, and the problem of constructing an efficient local error estimator was outlined. Four algorithms for automatic step size control were compared, including a novel technique that combines a semi-explicit modification of the midpoint method with two adjoint D methods in a composition scheme. This allows the construction of an efficient local error estimator. Performance tests on nonlinear systems including the Rössler system, the Van der Pol system, and the two-body problem have shown that the new approach has the greatest CPU time to truncation error ratio than other known error estimation techniques for composition schemes described in the literature. The investigated techniques included using one composition scheme for different methods, different composition schemes for similar methods, and (as recently reported) Blanes’ embedded local error estimator. The experimental part of the study confirmed that the proposed step size control algorithm for semi-implicit composition ODE solvers outperforms the known solutions. The obtained results can be used to develop simulation software based on composition ODE solvers, with increased performance. Our further studies will be dedicated to developing a general theory of embedded composition methods based on the proposed method and finding other efficient and versatile local error estimation algorithms.

Author Contributions

Conceptualization, D.B. and A.K.; data curation, D.P.; formal analysis, D.P.; funding acquisition, D.B.; investigation, P.F. and D.P.; methodology, D.B. and A.K.; project administration, D.B. and A.K.; software, D.B., P.F. and A.K.; supervision, D.B.; validation, D.P. and D.B.; visualization, P.F.; writing—original draft, D.B. and P.F.; writing—review and editing, D.P. and A.K. All authors have read and agreed to the published version of the manuscript.

Funding

This study was supported by the grant of the Russian Science Foundation (RSF), project 22-19-00573.

Conflicts of Interest

The authors declare no conflict of interest. The funders had no role in the design of the study; in the collection, analyses, or interpretation of data; in the writing of the manuscript; or in the decision to publish the results.

References

  1. Sofroniou, M.; Spaletta, G. Derivation of symmetric composition constants for symmetric integrators. Optim. Methods Softw. 2005, 20, 597–613. [Google Scholar] [CrossRef]
  2. Haier, E.; Lubich, C.; Wanner, G. Geometric Numerical Integration: Structure-Preserving Algorithms for Ordinary Differential Equations; Springer: Berlin/Heidelberg, Germany, 2006. [Google Scholar]
  3. Leimkuhler, B.; Reich, S. Simulating Hamiltonian Dynamics (No. 14); Cambridge University Press: Cambridge, MA, USA, 2004. [Google Scholar]
  4. Roulet, J.; Choi, S.; Vaníček, J. Efficient geometric integrators for nonadiabatic quantum dynamics. II. The diabatic representation. J. Chem. Phys. 2019, 150, 204113. [Google Scholar] [CrossRef] [Green Version]
  5. Yoshida, H. Construction of higher order symplectic integrators. Phys. Lett. A 1990, 150, 262–268. [Google Scholar] [CrossRef]
  6. Suzuki, M. Fractal decomposition of exponential operators with applications to many-body theories and Monte Carlo simulations. Phys. Lett. A 1990, 146, 319–323. [Google Scholar] [CrossRef]
  7. Murua, A.; Sanz–Serna, J.M. Order conditions for numerical integrators obtained by composing simpler integrators. Philos. Trans. R. Soc. Lond. Ser. A Math. Phys. Eng. Sci. 1999, 357, 1079–1100. [Google Scholar] [CrossRef]
  8. Butusov, D.N.; Ostrovskii, V.Y.; Karimov, A.I.; Andreev, V.S. Semi-explicit composition methods in memcapacitor circuit simulation. IJERTCS 2019, 10, 37–52. [Google Scholar] [CrossRef]
  9. Blanes, S.; Casas, F.; Thalhammer, M. Splitting and composition methods with embedded error estimators. Appl. Numer. Math. 2019, 146, 400–415. [Google Scholar] [CrossRef] [Green Version]
  10. Kahan, W.; Li, R.C. Composition constants for raising the orders of unconventional schemes for ordinary differential equations. Math. Comput. 1997, 66, 1089–1099. [Google Scholar] [CrossRef] [Green Version]
  11. Hairer, E.; Wanner, G.; Nørsett, S.P. Solving Ordinary Differential Equations I. Nonstiff Problems; Springer: Berlin/Heidelberg, Germany, 1987. [Google Scholar]
  12. Butusov, D. Adaptive Stepsize Control for Extrapolation Semi-Implicit Multistep ODE Solvers. Mathematics 2021, 9, 950. [Google Scholar] [CrossRef]
  13. Butusov, D.; Tutueva, A.; Fedoseev, P.; Terentev, A.; Karimov, A. Semi-implicit multistep extrapolation ODE solvers. Mathematics 2020, 8, 943. [Google Scholar] [CrossRef]
  14. Süli, E.; David, F.M. An Introduction to Numerical Analysis; Cambridge University Press: Cambridge, MA, USA, 2003. [Google Scholar]
  15. Hairer, E.; Lubich, C. Extrapolation at stiff differential equations. Numer. Math. 1988, 52, 377–400. [Google Scholar] [CrossRef]
  16. Rössler, O. An equation for continuous chaos. Phys. Lett. A 1976, 57, 397–398. [Google Scholar] [CrossRef]
  17. Van der Pol, B. «On relaxation-oscillations», The London, Edinburgh and Dublin Phil. Mag. J. Sci. 1927, 2, 978–992. [Google Scholar] [CrossRef]
  18. Moo, K.W.; Senu, N.; Ismail, F.; Suleiman, M. New phase-fitted and amplification-fitted fourth-order and fifth-order Runge-Kutta-Nyström methods for oscillatory problems. Abstr. Appl. Anal. 2013, 2013, 939367. [Google Scholar] [CrossRef]
Figure 1. Scheme of OCDM algorithm. x n + 1 is the main solution and x ˜ n + 1 is the additional solution introduced for error estimation.
Figure 1. Scheme of OCDM algorithm. x n + 1 is the main solution and x ˜ n + 1 is the additional solution introduced for error estimation.
Algorithms 15 00275 g001
Figure 2. Scheme of DCOM algorithm. γ k , k = 1 , 2 , , s and γ ˜ k ,   k = 1 , 2 , , u are coefficients for different composition schemes with s and u stages, respectively.
Figure 2. Scheme of DCOM algorithm. γ k , k = 1 , 2 , , s and γ ˜ k ,   k = 1 , 2 , , u are coefficients for different composition schemes with s and u stages, respectively.
Algorithms 15 00275 g002
Figure 3. General scheme of proposed error estimation algorithm in 2-stage composition scheme.
Figure 3. General scheme of proposed error estimation algorithm in 2-stage composition scheme.
Algorithms 15 00275 g003
Figure 4. Performance plots for Rössler system simulation using composition solvers of orders 4 (a), 6 (b), and 8 (c).
Figure 4. Performance plots for Rössler system simulation using composition solvers of orders 4 (a), 6 (b), and 8 (c).
Algorithms 15 00275 g004aAlgorithms 15 00275 g004b
Figure 5. Step size behavior for different controllers under investigation while simulating Rössler system.
Figure 5. Step size behavior for different controllers under investigation while simulating Rössler system.
Algorithms 15 00275 g005
Figure 6. Performance plots for Van der Pol oscillator simulation by solvers of orders 4 (a), 6 (b), and 8 (c).
Figure 6. Performance plots for Van der Pol oscillator simulation by solvers of orders 4 (a), 6 (b), and 8 (c).
Algorithms 15 00275 g006
Figure 7. Graphs of step size behavior for different controllers under investigation for Van der Pol oscillator.
Figure 7. Graphs of step size behavior for different controllers under investigation for Van der Pol oscillator.
Algorithms 15 00275 g007
Figure 8. Performance plots for two-body problem simulation by solvers of orders 4 (a), 6 (b), and 8 (c).
Figure 8. Performance plots for two-body problem simulation by solvers of orders 4 (a), 6 (b), and 8 (c).
Algorithms 15 00275 g008
Figure 9. Graphs of step size behavior for different controllers under investigation for two-body problem.
Figure 9. Graphs of step size behavior for different controllers under investigation for two-body problem.
Algorithms 15 00275 g009
Table 1. Coefficients for composition schemes of different orders of accuracy [10].
Table 1. Coefficients for composition schemes of different orders of accuracy [10].
s1ord2
γ 1 1
s5ord4
γ 1 = γ 2 = γ 4 = γ 5 0.414490771794375737142354063
γ 3 −0.65796308717750294856941625
s7ord6
γ 1 = γ 7 0.78451361047755726382
γ 2 = γ 6 0.23557321335935813368
γ 3 = γ 5 −1.1776799841788710069
γ 4 1.3151863206839112189
s17ord8
γ 1 = γ 17 0.13020248308889008088
γ 2 = γ 16 0.56116298177510838456
γ 3 = γ 15 −0.38947496264484728641
γ 4 = γ 14 0.15884190655515560090
γ 5 = γ 13 −0.39590389413323757734
γ 6 = γ 12 0.18453964097831570709
γ 7 = γ 11 0.25837438768632204729
γ 8 = γ 10 0.29501172360931029887
γ 9 −0.60550853383003451170
Table 2. Parameter values used in simulation of the Rössler system.
Table 2. Parameter values used in simulation of the Rössler system.
OrderInitial
Conditions
TStep SizeTolerance
Min StartMax
4(1.6; 0; −0.1)15 1 × 10 5 5 × 10 3 1 1 × 10 5 1 × 10 9
6(1.6; 0; −0.1)15 1 × 10 5 5 × 10 3 1 1 × 10 7 1 × 10 11
8(1.6; 0; −0.1)15 1 × 10 5 5 × 10 3 1 1 × 10 7 .   1 × 10 11
Table 3. Dependence between the total number of steps and tolerance while solving Rössler problem.
Table 3. Dependence between the total number of steps and tolerance while solving Rössler problem.
OrderToleranceTotal Number of Steps
OCDMDCOMBEEECDM
4 1 × 10 5 8666218671
1 × 10 6 1341423328100
1 × 10 7 2103063581151
1 × 10 8 33065981031231
1 × 10 9 52214,2131831359
6 1 × 10 7 146191307138
1 × 10 8 199301484177
1 × 10 9 273475766219
1 × 10 10 3777511212296
1 × 10 11 52411881920405
8 1 × 10 7 6111811655
1 × 10 8 6815816867
1 × 10 9 8421724483
1 × 10 10 107299357104
1 × 10 11 137414522132
Table 4. Parameter values used in simulation of Van der Pol oscillator.
Table 4. Parameter values used in simulation of Van der Pol oscillator.
OrderInitial
Conditions
TStep SizeTolerance
Min StartMax
4(1.15; 0)15 1 × 10 5 1 × 10 4 1 1 × 10 5 1 × 10 10
6(1.15; 0)15 1 × 10 5 1 × 10 4 1 1 × 10 5 1 × 10 10
8(1.52; 0)15 1 × 10 5 1 × 10 4 1 1 × 10 4 1 × 10 9
Table 5. Dependence between the total number of steps and tolerance for Van der Pol system.
Table 5. Dependence between the total number of steps and tolerance for Van der Pol system.
OrderToleranceTotal Number of Steps
OCDMDCOMBEEECDM
4 1 × 10 5 115823232133
1 × 10 6 1621760395187
1 × 10 7 2583790687376
1 × 10 8 44280391206445
1 × 10 9 77714,1592133698
1 × 10 10 174822,08037951009
6 1 × 10 5 95119177106
1 × 10 6 136169265145
1 × 10 7 218253404198
1 × 10 8 372395635282
1 × 10 9 6746241005414
1 × 10 10 21649911595621
8 1 × 10 4 56908065
1 × 10 5 6711711382
1 × 10 6 92166169118
1 × 10 7 237245266170
1 × 10 8 306355438253
1 × 10 9 377560602336
Table 6. Parameter values used in the simulation of two-body problem.
Table 6. Parameter values used in the simulation of two-body problem.
OrderInitial
Conditions
TStep SizeTolerance
Min StartMax
4(1; 0; 0; 1)501 × 10−45 × 10−311 × 10−4–1 × 10−9
6(1; 0; 0; 1)501 × 10−45 × 10−311 × 10−6–1 × 10−11
8(1; 0; 0; 1)501 × 10−45 × 10−311 × 10−5–1 × 10−10
Table 7. Dependence between the total number of steps and tolerance while solving two-body problem.
Table 7. Dependence between the total number of steps and tolerance while solving two-body problem.
OrderToleranceTotal Number of Steps
OCDMDCOMBEEECDM
4 1 × 10 4 177986335156
1 × 10 5 2792121593246
1 × 10 6 44145671053389
1 × 10 7 69798371871615
1 × 10 8 110221,1923324972
1 × 10 9 174445,65559101539
6 1 × 10 6 309442745289
1 × 10 7 4276991179401
1 × 10 8 59311061868547
1 × 10 9 82317512959759
1 × 10 10 1143277446891048
1 × 10 11 1587439574301452
8 1 × 10 5 8823419783
1 × 10 6 113322288106
1 × 10 7 146444421136
1 × 10 8 187611616175
1 × 10 9 241849904226
1 × 10 10 31011791325290
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Fedoseev, P.; Pesterev, D.; Karimov, A.; Butusov, D. New Step Size Control Algorithm for Semi-Implicit Composition ODE Solvers. Algorithms 2022, 15, 275. https://doi.org/10.3390/a15080275

AMA Style

Fedoseev P, Pesterev D, Karimov A, Butusov D. New Step Size Control Algorithm for Semi-Implicit Composition ODE Solvers. Algorithms. 2022; 15(8):275. https://doi.org/10.3390/a15080275

Chicago/Turabian Style

Fedoseev, Petr, Dmitriy Pesterev, Artur Karimov, and Denis Butusov. 2022. "New Step Size Control Algorithm for Semi-Implicit Composition ODE Solvers" Algorithms 15, no. 8: 275. https://doi.org/10.3390/a15080275

APA Style

Fedoseev, P., Pesterev, D., Karimov, A., & Butusov, D. (2022). New Step Size Control Algorithm for Semi-Implicit Composition ODE Solvers. Algorithms, 15(8), 275. https://doi.org/10.3390/a15080275

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop