Next Article in Journal
Neutrino Oscillations in Finite Time Path Out-of-Equilibrium Thermal Field Theory
Previous Article in Journal
Deep Learning-Based Cross-Layer Power Allocation for Downlink Cell-Free Massive Multiple-Input–Multiple-Output Video Communication Systems
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Symmetric Adaptive Higher-Order Energy-Preserving Methods for a Charged Particle System and Guiding Center System

School of Mathematics and Physics, University of Science and Technology Beijing, Beijing 100083, China
*
Author to whom correspondence should be addressed.
Symmetry 2023, 15(11), 1969; https://doi.org/10.3390/sym15111969
Submission received: 1 October 2023 / Revised: 12 October 2023 / Accepted: 18 October 2023 / Published: 24 October 2023
(This article belongs to the Section Mathematics)

Abstract

:
We propose higher-order adaptive energy-preserving methods for a charged particle system and a guiding center system. The higher-order energy-preserving methods are symmetric and are constructed by composing the second-order energy-preserving methods based on the averaged vector field. In order to overcome the energy drift problem that occurs in the energy-preserving methods based on the average vector field, we develop two adaptive algorithms for the higher-order energy-preserving methods. The two adaptive algorithms are developed based on using variable points of Gauss–Legendre’s quadrature rule and using two different stepsizes. The numerical results show that the two adaptive algorithms behave better in phase portrait and energy conservation than the Runge–Kutta methods. Moreover, it is shown that the energy errors obtained by the two adaptive algorithms can be bounded by the machine precision over long time and do not show energy drift.

1. Introduction

Any physical process in which the dissipation is negligible can in some way be represented as a Hamiltonian system. Hamiltonian systems [1,2,3,4] have the important property of having an inner symplectic structure. This property is also called area-preserving. Area-preserving means that given some pairs of canonical variable, the sum of the areas of the variable pairs is invariant across time. A canonical Hamiltonian system has the following form:
y ˙ = J 1 H ( y ) , y = ( y 1 , y 2 , , y 2 n ) R 2 n
with
J = 0 I n I n 0 ,
where H is the Hamiltonian function. The symplectic structure of the canonical Hamiltonian system can be expressed in the following 2-form:
ω = k = 1 n d y k d y n + k .
For the canonical Hamiltonian system, obtaining analytical solutions is often a formidable task. Therefore, it is essential to construct numerical methods that have good properties. Numerical methods having good properties can obtain better numerical simulation [5,6] results than other methods. Thus, symplectic methods [1,7] are constructed to solve the dynamics of the Hamiltonian system. The advantage of the symplectic methods is that they exactly preserve the inner symplectic structure of the canonical Hamiltonian system. It has been shown that the symplectic methods have the near energy conservation property and long-term stability by conducting various numerical experiments in diverse disciplines, such as celestial mechanics, biology, and plasma physics [2,3,8,9,10,11]. Furthermore, symplectic methods have been found to exhibit superior long-term behavior compared to standard integrators such as explicit and implicit Runge–Kutta methods. This long-term behavior includes the near preservation of invariants without secular drift and slower error growth. Invariants that symplectic methods can effectively preserve include the Hamiltonian function, momentum, angular momentum, and others. Symplectic methods can be categorized into explicit symplectic methods and implicit ones. Explicit symplectic methods are not only effective in preserving invariants but also demonstrate better computational efficiency compared to implicit Runge–Kutta methods. Symplectic methods are applied to the Kepler problem [12,13], the restricted three-body problem [14,15], and the charged particle system [10,11], and they are compared with other numerical methods. Symplectic methods that are a generalization of the commutator-free quasi-Magnus exponential integrators were built for the Kepler problem, and they are shown to be more efficient than the Runge-Kutta methods [12]. A family of adaptive symplectic conservative numerical methods for the Kepler problem were constructed, and the methods preserved all the global properties of the exact solution of the problem [13]. The force gradient symplectic methods were constructed for the circular restricted three-body problem, and the numerical results showed that the fourth-order force gradient symplectic method always exhibits better numerical accuracy than the non-gradient Forest–Ruth algorithm [14]. Symplectic algorithms for solving the restricted three-body problem were constructed, and their advantages have been shown in phase portrait and energy conservation compared with the fourth-order Runge–Kutta method [15]. Explicit symplectic methods were constructed for the non-relativistic and relativistic charged particle dynamics, and the numerical results showed that the symplectic methods behave better in long-term energy conservation and numerical efficiency than the Runge–Kutta methods [10,11]. Blanes and Moan developed several higher-order symplectic methods using the splitting method for the Hamiltonian system, and these methods had higher precision than the Runge–Kutta methods [16]. A non-canonical Hamiltonian system [2,9,17,18] is the generalization of a canonical Hamiltonian system. Many systems, including the Lotka–Volterra model [2], the nonlinear Schrödinger equation [19,20], and the guiding center system [17,21], can be expressed as non-canonical Hamiltonian systems. They have the same form as canonical Hamiltonian systems, where the matrix J is represented by a skew-symmetric matrix K 1 ( y ) which depends on the variable y. The non-canonical Hamiltonian system also possesses a K-symplectic structure which is exactly preserved by the K-symplectic method [22,23,24]. Explicit K-symplectic methods have been widely constructed for non-canonical Hamiltonian systems [22,24,25]. Explicit K-symplectic methods are constructed using the splitting method for the charged particle system, and the numerical results showed that they behave better in phase portrait than the Runge–Kutta method and they are more stable than the Boris method in numerical calculation [22]. Explicit K-symplectic methods were constructed for the bright and dark soliton motion of the nonlinear Schrödinger equation, and they were found to be more efficient than the canonical symplectic methods [24,25].
Symplectic and K-symplectic methods belong to a class of structure-preserving methods which aim to maintain the inherit structure of a system throughout numerical simulations. The other notable structure-preserving methods encompass the energy-preserving methods [26,27,28] and the volume-preserving methods [29,30,31]. Volume-preserving methods are tailored for source-free systems, where their volumes remain invariant over time, ensuring the preservation of system volume. On the other hand, energy-preserving methods are usually constructed for canonical and non-canonical Hamiltonian systems. In contrast to conventional numerical approaches, which can suffer from energy dissipation issues, energy-preserving methods offer a numerical solution that exactly preserves the system’s energy. This enhancement is crucial in ensuring the reliability of simulation results. For example, standard Runge–Kutta methods are prone to energy dissipation, leading to inaccuracies in phase portraits [10,11,22]. Therefore, the development of energy-preserving methods addresses this challenge and enables the exact preservation of energy. Consequently, the application of energy-preserving methods extends to any system possessing invariants—quantities that remain constant over time. The Hamiltonian function of the both canonical and non-canonical Hamiltonian system is one invariant of the corresponding system. The Hamiltonian function is also called the energy of the system. Energy-preserving methods exactly preserve the Hamiltonian function of the system. There are several approaches to constructing energy-preserving methods, such as the discrete gradient method [32], the averaged vector field method [33,34], the line integral method [26,35], the projection method [2], and so on. Recently, energy-preserving methods were constructed for charged particle systems [35,36,37,38,39] and guiding center systems [17,18,40]. Both charged particle systems [10,11,23] and the guiding center systems [17,21] can be expressed as non-canonical Hamiltonian systems. Thus, energy-preserving methods are developed for these two systems. Li and Wang constructed a second-order energy-preserving method using the discrete line integral method for the charged particle system [36]. The Boris method is a well-known symmetric numerical method for the charged particle system. It is shown that the discrete line method behaves better in energy conservation than the Boris method [36]. Within the framework of the line integral method, Brugnano et al. constructed higher-order energy-preserving methods using orthogonal polynomials and quadrature rules [35] for a charged particle system. The numerical results show that the higher-order energy-preserving methods exhibit much better energy conservation than the Boris method and implicit midpoint method, and they are also more effective than the Boris method [35]. Li and Wang constructed several efficient energy-preserving methods for charged particle systems [38,39]. The energy errors of energy-preserving methods are much smaller than the Boris method [38,39]. Zhang et al. constructed energy-preserving methods based on the Ito–Abe discrete gradient for guiding center systems [40]. Zhu et al. constructed a family of energy-preserving methods for guiding center systems based on the averaged vector field [17,18]. The energy-preserving methods are shown to have excellent energy conservation behavior [17,18].
A family of energy-preserving methods has been constructed for guiding center systems; however, these methods based on the averaged vector field exhibit an energy drift over a long time [17]. We aim to construct adaptive higher-order energy-preserving methods based on the averaged vector field that can overcome the energy drift problem. The higher-order energy-preserving methods are constructed by composing the second-order energy-preserving methods proposed in Reference [17]. Thus, we can obtain a family of fourth-order and sixth-order energy-preserving methods. The higher-order energy-preserving methods can have higher numerical accuracy which means that the error in the variable is smaller than the lower-order methods. However, since the second-order energy-preserving methods exhibit energy drift, it is expected that the higher-order methods composed of these second-order methods will also display the same issue. In order to overcome the energy drift problem, for the higher order energy-preserving methods based on composition, we provide two adaptive strategies and develop two adaptive algorithms. The main idea of the first adaptive algorithm is to increase the number of points of the Guass Legendre’s quadrature rule used in the energy-preserving methods if the energy error is larger than the tolerance error. And if we use three different points of the Gaussian quadrature, the energy errors are all larger than the tolerance error, then we prefer the Gaussian quadrature with least error. The idea of the second-order adaptive algorithms is to use two different time stepsizes (h and 1.05 h ) for the same energy-preserving method, and we choose the stepsize with smaller error. To evaluate the effectiveness of the adaptive algorithms, we compare them with standard Runge–Kutta methods and energy-preserving methods that do not employ any adaptive strategies. The numerical results show that the two adaptive algorithms do not show energy drifts, and their energy errors can be bounded to the machine’s precision.
The rest of the paper is organized as follows. Section 2 gives a brief introduction to the non-canonical Hamiltonian system, the charged particle system, and the guiding center system. Section 3 presents how higher-order energy-preserving methods are constructed by using the composing method. In Section 4, we give a detailed description on the two adaptive algorithms. The implementation of the two algorithms is also presented. In Section 5, numerical results of the charged particle system and the guiding center system are provided. The two adaptive algorithms are compared with the standard Runge–Kutta methods and the energy-preserving methods without using any adaptive strategy. In Section 6, we summarize our work.

2. Charged Particle System and Guiding Center System

2.1. Non-Canonical Hamiltonian System

Both the charged particle system and the guiding center system are fundamental systems in plasma physics, and they can be written as non-canonical Hamiltonian systems [2,9,17,18]. The non-canonical Hamiltonian systems can be expressed as the following differential equation:
Z ˙ = K 1 ( Z ) H ( Z ) Z R 2 n ,
where H ( Z ) is the Hamiltonian function and ∇ is the gradient operator. Different from a canonical Hamiltonian system, a non-canonical Hamiltonian system has a more general form. In a non-canonical Hamiltonian system (4), K 1 ( Z ) is a skew-symmetric matrix which depends on the variable Z while in a canonical Hamiltonian system, K 1 ( Z ) is replaced by a constant matrix
J = 0 I n I n 0 .
Meanwhile, K ( Z ) satisfies the Jacobi identity
k i j z k + k j k z i + k k i z j = 0 , 1 i , j , k 2 n ,
where k i j is the element in the i-th row and the j-th column of the matrix K ( Z ) for any i , j = 1 , 2 , , 2 n and z k is the k-th component of Z for any k = 1 , 2 , , 2 n .
Assume that the exact phase flow (analytical solution) of the non-canonical Hamiltonian system is ϕ t ( Z ) ; then, we know that the Hamiltonian function H ( Z ) is exactly preserved by the phase flow ϕ t ( Z ) , i.e.,
d H ( ϕ t ( Z ) ) d t = H ( ϕ t ( Z ) ) ϕ t ( Z ) d ϕ t ( Z ) d t = H ( ϕ t ( Z ) ) ϕ t ( Z ) K 1 ( ϕ t ( Z ) ) H ( ϕ t ( Z ) )
= ( H ( ϕ t ( Z ) ) ) K 1 ( ϕ t ( Z ) ) H ( ϕ t ( Z ) ) = 0 ,
the last equality holds because the matrix K 1 is skew-symmetric. Thus, we derive that H ( ϕ t ( Z ) ) = H ( ϕ 0 ( Z ) ) = H ( Z 0 ) , where Z 0 is the initial value of the variable Z. This means that the Hamiltonian function H is invariant along time t, i.e., H is a conservation law.
It is often difficult to obtain the analytical solution of a non-canonical Hamiltonian system. Thus, the role of the numerical methods becomes increasingly important. Among them, structure-preserving methods play an important role in the numerical calculations of non-canonical Hamiltonian systems due to their structure-preserving properties and long-term stability. As the Hamiltonian function H is an invariant, we can construct the numerical methods that exactly preserve H. The Hamiltonian function H is also called the energy of the system. This kind of numerical method is called an energy-preserving method [26,27,28,32,33,38].
Definition 1.
A numerical method Φ h : Z n Z n + 1 is a one-step method where h is the time stepsize. Assume that the value Z R 2 n at the initial time t 0 is Z 0 . Using the numerical method Φ h , we can obtain the values of Z at a series of time steps t 0 + n h , i.e., Z n = Φ h ( Z n 1 ) , n = 1 , 2 , . The method is called an energy-preserving method if
H ( Z n ) = H ( Φ h ( Z n 1 ) ) = H ( Z n 1 ) ,
that is to say, the energy H is exactly preserved [27,41].
If we have two energy-preserving methods, then the method composed by the two methods is also an energy-preserving method.
Theorem 1.
If both Φ h and Ψ h are energy-preserving methods, then Φ h / 2 Ψ h / 2 is also an energy-preserving method [17].
Remark 1.
Theorem 1 also applies for the composition of several energy-preserving methods.
We can construct higher-order energy-preserving methods based on composition for charged particle systems and guiding center systems.

2.2. Charged Particle Systems

The charged particle system written in the variable ( X , V ) is the following differential equation:
d X d t = V , m d V d t = q ( E ( X ) + V × B ( X ) ) ,
where X = ( x 1 , x 2 , x 3 ) is the position of the particle and V = ( v 1 , v 2 , v 3 ) is the velocity of the particle, E ( X ) is the electric field, and B ( X ) is the magnetic field. In the system (10), the mass of the particle is m and the charge is q. If we combine the two components of the variable as Z = ( X , V ) , then the charged particle system can be written as a non-canonical Hamiltonian system (4) with the Hamiltonian function being H ( X , V ) = m v 1 2 / 2 + m v 2 2 / 2 + m v 3 2 / 2 + q φ ( X ) . Here, the skew-symmetric matrix is of the form
K 1 ( Z ) = O I m I m q B ^ ( X ) m 2
with I being the 3 × 3 identity matrix. The relationship between the scalar potential φ ( X ) and the electric field is E ( X ) = φ . The magnetic field is composed as B ( X ) = ( B 1 ( X ) , B 2 ( X ) , B 3 ( X ) ) , and the matrix B ^ ( X ) in the matrix K 1 ( Z ) is
B ^ ( X ) = 0 B 3 ( X ) B 2 ( X ) B 3 ( X ) 0 B 1 ( X ) B 2 ( X ) B 1 ( X ) 0 .
The magnetic field satisfies the divergence-free property · B ( X ) = 0 . Then, we know that a vector potential A ( X ) exists such that B ( X ) = × A ( X ) .
The charged particle system is a multi-timescale problem, as its motion has two components: the fast gyromotion and the slow guiding center motion. In order to deal with the tough multi-scale problem, the gyrokinetic and related theories emerge as a branch of magnetized plasmas. The motion of the guiding center can be derived by averaging out the fast gyromotion from the charged particle motion and the corresponding behavior of the guiding center is governed by the theory of gyrokinetics.

2.3. Guiding Center Systems

Littlejohn first gave the Lagrangian of the guiding center system as [42]
L ( X , X ˙ , u , u ˙ ) = [ A ( X ) + u b ( X ) ] · X ˙ 1 2 u 2 + μ B ( X ) + φ ( X ) .
The Euler–Lagrange equations of the Lagrangian L with respect to the position of the guiding center X and the parallel velocity of the guiding center u result in the guiding center motion [17,21,42], which can also be expressed as a non-canonical Hamiltonian system
Z ˙ = K 1 ( Z ) H ( Z ) , Z = ( X , u ) = ( x , y , z , u )
with the skew-symmetric matrix being
K 1 ( Z ) = 1 a 23 b 1 a 13 b 2 + a 12 b 3 2 0 b 3 b 2 a 23 b 3 0 b 1 a 13 b 2 b 1 0 a 12 a 23 a 13 a 12 0 .
The elements in the matrix K 1 ( Z ) are as follows:
a 12 = ( A 2 x A 1 y ) + u ( b 2 x b 1 y ) ,
a 13 = ( A 3 x A 1 z ) + u ( b 3 x b 1 z ) ,
a 23 = ( A 3 y A 2 z ) + u ( b 3 y b 2 z ) .
The Hamiltonian function of the non-canonical Hamiltonian system (14) is H ( Z ) = 1 2 u 2 + μ B ( X ) + φ ( X ) . Here, the function φ ( X ) is the scalar potential and μ is the magnetic moment. Given a vector potential A ( X ) = ( A 1 ( X ) , A 2 ( X ) , A 3 ( X ) ) , we can obtain the magnetic filed as B ( X ) = × A . The strength of the magnetic field is B ( X ) = | B | , and the unit vector along the direction of the magnetic field is b ( X ) = ( b 1 ( X ) , b 2 ( X ) , b 3 ( X ) ) = B ( X ) / B ( X ) .

3. High-Order Symmetric Energy-Preserving Methods

We consider a family of energy-preserving methods
Z n + 1 = Z n + h K 1 ( λ Z n + ( 1 λ ) Z n + 1 ) 0 1 H ( ( 1 τ ) Z n + τ Z n + 1 ) d τ
based on the averaged vector field [33,34], where the parameter λ [ 0 , 1 ] . We denote the above methods by Φ λ ; h , λ [ 0 , 1 ] . When λ = 1 2 , the method is of order 2; otherwise, the other methods are of order 1. In order to obtain a higher-order method, we can use the composition method. Take the method Φ λ 1 ; h with a certain value λ 1 as an example; we can compose it with its adjoint method Φ λ 1 ; h to obtain a second-order method.
Definition 2.
The adjoint method Φ λ 1 ; h is the inverse of the method Φ λ 1 ; h with reversed time step h [2], that is,
Φ λ 1 ; h : = Φ λ 1 ; h 1 .
If a method Ψ h satisfies Ψ h = Ψ h , then the method is called a symmetric method. In order to obtain the adjoint method of Φ λ 1 ; h , we make the following changes in the method Φ λ 1 ; h ,
Z n Z n + 1 , h h ,
and this results in
Z n = Z n + 1 h K 1 ( λ 1 Z n + 1 + ( 1 λ 1 ) Z n ) 0 1 H ( ( 1 τ ) Z n + 1 + τ Z n ) d τ .
Performing a variable transformation η = 1 τ , then we obtain
Z n = Z n + 1 h K 1 ( ( 1 λ 1 ) Z n + λ 1 Z n + 1 ) 0 1 H ( ( 1 η ) Z n + η Z n + 1 ) d η .
Then by removing the last term of the right-hand side of the equation to the left, this results in
Z n + 1 = Z n + h K 1 ( ( 1 λ 1 ) Z n + λ 1 Z n + 1 ) 0 1 H ( ( 1 η ) Z n + η Z n + 1 ) d η .
This method is exactly Φ 1 λ 1 ; h . Thus, the adjoint method of the method Φ λ 1 ; h is Φ 1 λ 1 ; h , i.e., ( Φ λ 1 ; h ) = Φ 1 λ 1 ; h . Therefore, we can obtain a second-order method based on the composition
Φ λ 1 , h 2 Φ 1 λ 1 ; h / 2 Φ λ 1 ; h / 2 ,
where the operation ∘ means composite mapping. According to Theorem 1, the method Φ λ 1 , h 2 is a second-order energy-preserving method. Then, we know that Φ λ 1 , h 2 : Z n Z n + 1 is
Z n + 1 / 2 = Z n + 1 2 h K 1 ( λ 1 Z n + ( 1 λ 1 ) Z n + 1 / 2 ) 0 1 H ( ( 1 τ ) Z n + τ Z n + 1 / 2 ) d τ ,
Z n + 1 = Z n + 1 / 2 + 1 2 h K 1 ( ( 1 λ 1 ) Z n + 1 / 2 + λ 1 Z n + 1 ) 0 1 H ( ( 1 τ ) Z n + 1 / 2 + τ Z n + 1 ) d τ .
It can be easily proven that ( Φ λ 1 , h 2 ) = Φ λ 1 , h 2 ; thus, it is symmetric. Therefore, Φ λ 1 , h 2 is a second-order symmetric energy-preserving method.
In the same way, we can compose higher-order methods based on the second-order energy-preserving method Φ λ 1 ; h 2 . By using Yoshida’s method [43], we can construct a fourth-order symmetric method
Φ λ 1 ; h 4 Φ λ 1 ; α 1 h 2 Φ λ 1 ; β 1 h 2 Φ λ 1 ; α 1 h 2 ,
where α 1 = ( 2 2 1 / 3 ) 1 and β 1 = 1 2 α 1 . According to Remark 1, the method Φ λ 1 , h 4 is a fourth-order symmetric energy-preserving method. More specifically, we can express the fourth-order symmetric energy-preserving method Φ λ 1 ; h 4 : Z n Z n + 1 as follows:
u = Z n + 1 2 α 1 h K 1 ( λ 1 Z n + ( 1 λ 1 ) u ) 0 1 H ( ( 1 τ ) Z n + τ u ) d τ ,
u ˜ = u + 1 2 α 1 h K 1 ( ( 1 λ 1 ) u + λ 1 u ˜ ) 0 1 H ( ( 1 τ ) u + τ u ˜ ) d τ ,
v = u ˜ + 1 2 β 1 h K 1 ( λ 1 u ˜ + ( 1 λ 1 ) v ) 0 1 H ( ( 1 τ ) u ˜ + τ v ) d τ ,
v ˜ = v + 1 2 β 1 h K 1 ( ( 1 λ 1 ) v + λ 1 v ˜ ) 0 1 H ( ( 1 τ ) v + τ v ˜ ) d τ ,
w = v ˜ + 1 2 α 1 h K 1 ( λ 1 v ˜ + ( 1 λ 1 ) w ) 0 1 H ( ( 1 τ ) v ˜ + τ w ) d τ ,
Z n + 1 = w + 1 2 α 1 h K 1 ( ( 1 λ 1 ) w + λ 1 Z n + 1 ) 0 1 H ( ( 1 τ ) w + τ Z n + 1 ) d τ .
Meanwhile, we can also compose a sixth-order symmetric energy-preserving method based on the fourth-order method Φ λ 1 ; h 4 by using Yoshida’s method [43], i.e.,
Φ λ 1 ; h 6 Φ λ 1 ; α 2 h 4 Φ λ 1 ; β 2 h 4 Φ λ 1 ; α 2 h 4 ,
where α 2 = ( 2 2 1 / 5 ) 1 and β 2 = 1 2 α 2 . As λ can be any real number in [ 0 , 1 ] , we thus obtain a family of fourth-order and sixth-order symmetric energy-preserving methods.
As can be seen, there is an integral whose format is similar to 0 1 H ( ( 1 τ ) Z n + τ Z n + 1 ) d τ in each method. If the gradient of the Hamiltonian function cannot be exactly integrated, then we need to use the quadrature rule to approximate it. One of the commonly used quadrature rules is the Gauss–Legendre’s quadrature rule because it has a high-order degree of precision. We can use the Gauss–Legendre’s quadrature rule to approximate 0 1 H ( ( 1 τ ) Z n + τ Z n + 1 ) d τ under the transformation σ = 2 τ 1 . Then, we obtain
0 1 H ( ( 1 τ ) Z n + τ Z n + 1 ) d τ = 1 1 1 2 H Z n + 1 + σ 2 ( Z n + 1 Z n ) d σ
1 2 i = 1 n ω i H Z n + 1 + x i 2 ( Z n + 1 Z n ) ,
where ω i are the weights of the Legendre polynomial of degree n and x i are the corresponding nodes. Let ( w i , c i ) , 1 i s be the pair of the ith weight and node of the s-point Gauss–Legendre’s quadrature rule on [ 0 , 1 ] . Then, the method Φ λ 1 ; h takes the following form:
Z n + 1 = Z n + h K 1 ( λ Z n + ( 1 λ ) Z n + 1 ) i = 1 s w i H ( Z n + c i ( Z n + 1 Z n ) ) .
The number of the points in the Gauss–Legendre’s quadrature rule can be chosen arbitrarily. In general, if we choose more points of the Gauss–Legendre’s quadrature, we will obtain a higher precision.

4. Two Adaptive Algorithms Based on Higher-Order Energy-Preserving Methods

As is shown in Reference [17], the quadrature error caused by using the fixed s-point Gauss–Legendre’s quadrature rule, the error from the nonlinear solver, and the round-off error of the machine are the main reasons causing a numerical drift of the Hamiltonian function (the energy of the system). More specifically, we take the method Φ λ 1 ; h as an example. Thus, the nonlinear solver takes the following form:
Z n + 1 = Z n + h K 1 ( λ Z n + ( 1 λ ) Z n + 1 ) i = 1 s w i H ( Z n + c i ( Z n + 1 Z n ) ) .
So there will be points Z n and Z n + 1 that exactly satisfy
Z n + 1 Z n = h K 1 ( λ Z n + ( 1 λ ) Z n + 1 ) i = 1 s w i H ( Z n + c i ( Z n + 1 Z n ) ) + e r r S , n
with e r r S , n being the error from the nonlinear solver. Then, we assume that the quadrature rule approximates the integral as
0 1 H ( ( 1 τ ) Z n + τ Z n + 1 ) d τ = i = 1 s w i H ( Z n + c i ( Z n + 1 Z n ) ) + e r r Q , n ,
where e r r Q , n is the error caused by the quadrature rule.
Let
E r r = 0 1 H ( ( 1 τ ) Z n + τ Z n + 1 ) d τ ( Z n + 1 Z n )
Then, we have
E r r = 0 1 H ( ( 1 τ ) Z n + τ Z n + 1 ) d τ ( Z n + 1 Z n ) = 0 1 d d τ H ( ( 1 τ ) Z n + τ Z n + 1 ) d τ = H ( Z n + 1 ) H ( Z n ) .
Furthermore, by substituting Equations (40) and (41), we have
H ( Z n + 1 ) H ( Z n ) = 0 1 H ( ( 1 τ ) Z n + τ Z n + 1 ) d τ ( Z n + 1 Z n ) = i = 1 s w i H ( Z n + c i ( Z n + 1 Z n ) ) + e r r Q , n ( h K 1 ( λ Z n + ( 1 λ ) Z n + 1 ) · i = 1 s w i H ( Z n + c i ( Z n + 1 Z n ) + e r r S , n ) .
Let G n = i = 1 s w i H ( Z n + c i ( Z n + 1 Z n ) ) ; then, we have
H ( Z n + 1 ) H ( Z n ) = h ( G n ) K 1 ( λ Z n + ( 1 λ ) Z n + 1 ) G n + ( G n ) e r r S , n + h ( e r r Q , n ) K 1 ( λ Z n + ( 1 λ ) Z n + 1 ) G n + ( e r r Q , n ) e r r S , n .
The first term on the right-hand side of the above equation ( G n ) K 1 ( λ Z n + ( 1 λ ) Z n + 1 ) G n vanishes because the matrix K 1 is skew-symmetric. Therefore, the difference in the Hamiltonian function between the adjacent time steps is
H ( Z n + 1 ) H ( Z n ) = ( G n ) e r r S , n + h ( e r r Q , n ) K 1 ( λ Z n + ( 1 λ ) Z n + 1 ) G n + ( e r r Q , n ) e r r S , n .
The three terms in the above equation depict the error from the nonlinear solver and the error from the quadrature rule for the Hamiltonian function H after one time step. The round-off error should also be considered in the implementation of the numerical method Φ λ 1 ; h . For only one time step, the quadrature error e r r Q , n and the error from the nonlinear solver e r r S , n together with the round-off error are all very small and can be neglected. But when the total number of time steps is very large, the three sources of errors may accumulate, and as a result, it may cause numerical drift in the Hamiltonian function.
It is pointed out in Reference [17] that second-order energy-preserving methods cause numerical drifts in the energy. Higher-order energy-preserving methods are composed of second-order energy-preserving methods. The higher-order methods need more composition time. Thus, energy drift will also occur in higher-order energy-preserving methods. To overcome the energy drift problem, we aim at constructing two adaptive algorithms for the higher-order energy-preserving methods. Taking the fourth-order energy-preserving methods Φ λ 1 ; h 4 or the sixth-order methods Φ λ 1 ; h 6 as examples, we construct two adaptive algorithms based on varying the number of points in Gauss–Legendre’s quadrature rule and varying the time stepsize. By varying the number of points used in Gauss-Legendre’s quadrature rule and choosing two different stepsizes, the energy errors may be bounded and do not show numerical drifts. This will be clearly shown in the numerical experiments part.

4.1. Algorithm 1

We give a detailed description of Algorithm 1. Algorithm 1 can be used to compute the value of Z n + 1 at each time step based on the method Φ λ 1 ; h 4 or Φ λ 1 ; h 6 . Here, Z 0 is the value at initial time step, and Z n + 1 is calculated based on Z n at its former time step. We set a tolerance error d e l to control the energy error. Firstly, we choose the number of points used in Gauss–Legendre’s quadrature rule to be k = 5 . We calculate Z n + 1 k based on the method Φ λ 1 ; h 4 or Φ λ 1 ; h 6 using the k-point Gauss–Legendre quadrature. Then, we compute the energy error between the n + 1 -th time step and the initial step t o l = H ( Z n + 1 k ) H ( Z 0 ) . If t o l is smaller than the tolerance error d e l , then we stop the algorithm. If t o l is larger than d e l , then we increase the number of points, and compute Z n + 1 k + 1 using the k + 1 -point Gaussian quadrature. The algorithm stops when the updated t o l is less than d e l . If k reaches 8 and the updated t o l is still larger than the tolerance error, then we store all the energy errors calculated by the five-point, six-point, and seven-point Gaussian quadrature rules and choose the one that has the smallest error. The value of Z n + 1 , which has the smallest energy error will be the final value of the algorithm. By using this adaptive algorithm, we can make sure that the energy error between the current time step and the initial step is less than the tolerance error or is the smallest among the three Gaussian quadratures we use. The tolerance error d e l is not fixed and is used as an input. The tolerance error d e l can sometimes be used to control the energy error. The Algorithm 1 is listed in the following table.
Algorithm 1 Compute Z n + 1 based on the method Φ λ 1 ; h 4 or Φ λ 1 ; h 6 .
1:
Set the initial value Z 0 , the total steps N, the time stepsize h. Set j = 1 and k = 5 and choose a tolerance error d e l .
2:
for   n = 0 , , N 1   do
3:
   Calculate Z n + 1 k based on the method Φ λ 1 ; h 4 or Φ λ 1 ; h 6 using the k-point Gauss-Legendre’s quadrature rule.
4:
   Calculate the energy error t o l = | H ( Z n + 1 k ) H ( Z 0 ) | and assign e r r o r ( j ) = t o l .
5:
   If t o l < d e l then stop and output Z n + 1 k . Else set k = k + 1 and j = j + 1 and go to 3.
6:
   If k = = 8 and t o l > d e l , set [ e r r , J ] = m i n ( e r r o r ) and output the value Z n + 1 J .
7:
end for

4.2. Algorithm 2

Here, we give a detailed description of Algorithm 2. Algorithm 2 can be used to compute the value of Z n + 1 at each time step based on the method Φ λ 1 ; h 4 or Φ λ 1 ; h 6 . In Algorithm 2, we fix the number of points used in the Gauss–Legendre quadrature rule to be s. Then, we use two different time stepsizes to control the energy error. Given the time stepsize h, we first calculate Z n + 1 1 based on the method Φ λ 1 ; h 4 or Φ λ 1 ; h 6 using the s-point Gauss-Legendre’s quadrature rule under the stepsize h. Then, we compute the energy error between the current time step and the initial step e r r 1 = | H ( Z n + 1 1 ) H ( Z 0 ) | . Then, we calculate Z n + 1 2 based on the method Φ λ 1 ; h 4 or Φ λ 1 ; h 6 using the s-point Gaussian quadrature under the stepsize 1.05 h . Meanwhile, we compute e r r 2 = | H ( Z n + 1 2 ) H ( Z 0 ) | . Then, we compare the two energy errors e r r 1 and e r r 2 and output the value of Z n + 1 that has the smaller energy error. By using this adaptive algorithm, we can make sure that the energy error is smaller than the ones under the two fixed time stepsizes h and 1.05 h . Algorithm 2 is listed in the following table.
Algorithm 2 Compute Z n + 1 based on the method Φ λ 1 ; h 4 or Φ λ 1 ; h 6
1:
Set the initial value Z 0 , the total steps N and the time stepsize h. Set the number of the points of the Gauss-Legendre’s quadrature rule to be s.
2:
for   n = 0 , , N 1   do
3:
   Calculate Z n + 1 1 based on the method Φ λ 1 ; h 4 or Φ λ 1 ; h 6 using the s-point Gauss-Legendre’s quadrature rule under the stepsize h. Calculate e r r 1 = | H ( Z n + 1 1 ) H ( Z 0 ) | .
4:
   Calculate Z n + 1 2 based on the method Φ λ 1 ; h 4 or Φ λ 1 ; h 6 using the s-point Gauss-Legendre’s quadrature rule under the stepsize 1.05 h . Calculate e r r 2 = | H ( Z n + 1 2 ) H ( Z 0 ) | .
5:
   If e r r 1 < e r r 2 , output the value Z n + 1 1 , else output Z n + 1 2 .
6:
end for

5. Numerical Experiments

5.1. Numerical Methods

The numerical methods used in the numerical experiments part are listed below.
EP2: The second-order energy-preserving method Φ λ 1 ; h 2 .
EP4: The fourth-order energy-preserving method Φ λ 1 ; h 4 . EP4-n5 means the method Φ λ 1 ; h 4 using the five-point Gauss–Legendre quadrature rule. The notation is similar for the EP6 method.
EP6: The sixth-order energy-preserving method Φ λ 1 ; h 6 .
Algorithm 1(2nd): The method used in Algorithm 1 is the second-order energy-preserving method, i.e., the EP2 method Φ λ 1 ; h 2 .
Algorithm 1(4th): The method used in Algorithm 1 is the fourth-order energy-preserving method, i.e., the EP4 method Φ λ 1 ; h 4 .
Algorithm 1(6th): The method used in Algorithm 1 is the sixth-order energy-preserving method, i.e., the EP6 method Φ λ 1 ; h 6 .
Algorithm 2(2nd): The method used in Algorithm 2 is the second-order energy-preserving method, i.e., the EP2 method Φ λ 1 ; h 2 .
Algorithm 2(4th): The method used in Algorithm 2 is the fourth-order energy-preserving EP4 method, i.e., the EP4 method Φ λ 1 ; h 4 .
Algorithm 2(6th): The method used in Algorithm 2 is the sixth-order energy-preserving EP6 method, i.e., the EP6 method Φ λ 1 ; h 6 .
RK2: The second-order Runge–Kutta method [44]. This method is compared with Algorithm 1(2nd). The RK2 method is displayed as follows:
Z n + 1 = Z n + h f ( W 2 ) , W 1 = Z n , W 2 = Z n + 1 2 h f ( W 1 ) ,
where f = K 1 ( Z ) H ( Z ) with the matrix K 1 and the Hamiltonian function H being defined in Section 2. The notations in the RK4 method and the RK6 method below are similar.
RK4: The fourth-order Runge–Kutta method [44,45]. This method is compared with Algorithm 1(4th) and Algorithm 2(4th). The RK4 method is displayed as follows:
Z n + 1 = Z n + 1 6 h f ( W 1 ) + 2 3 h f ( W 2 ) + 1 6 h f ( W 3 ) , W 1 = Z n , W 2 = Z n + 1 4 h f ( W 1 ) + 1 4 h f ( W 2 ) , W 3 = Z n + h f ( W 2 ) .
RK6: The sixth-order Runge–Kutta method [44,45]. This method is compared with Algorithm 1(6th) and Algorithm 2(6th). The RK6 method is displayed as follows:
Z n + 1 = Z n + 1 12 h f ( W 1 ) + 5 12 h f ( W 2 ) + 5 12 h f ( W 3 ) + 1 12 h f ( W 4 ) , W 1 = Z n , W 2 = Z n + 5 + 5 60 h f ( W 1 ) + 1 6 h f ( W 2 ) + 15 7 5 60 h f ( W 3 ) , W 3 = Z n + 5 5 60 h f ( W 1 ) + 15 + 7 5 60 h f ( W 2 ) + 1 6 h f ( W 3 ) , W 4 = Z n + 1 6 h f ( W 1 ) + 5 5 12 h f ( W 2 ) + 5 + 5 12 h f ( W 3 ) .

5.2. Numerical Results in Charged Particle System

Here, we report the numerical experiments for two examples of the charged particle system.

5.2.1. Example 1

We normalize the system according to natural units. The mass is set to be m = 1 and the charge is set to be q = 1 . In this example, the vector potential is
A ( X ) = M x 2 ( x 1 2 + x 2 2 + x 3 2 ) 3 / 2 , M x 1 ( x 1 2 + x 2 2 + x 3 2 ) 3 / 2 , 0 ,
correspondingly, the magnetic field B ( X ) is
B ( X ) = 3 M x 1 x 3 ( x 1 2 + x 2 2 + x 3 2 ) 5 / 2 , 3 M x 2 x 3 ( x 1 2 + x 2 2 + x 3 2 ) 5 / 2 , M ( 2 x 3 2 x 1 2 x 2 2 ) ( x 1 2 + x 2 2 + x 3 2 ) 5 / 2 .
The scalar potential is φ ( X ) = 10 2 x 1 2 + x 2 2 ; therefore, we derive that the electric field is
E ( X ) = 10 2 ( x 1 2 + x 2 2 ) 3 / 2 ( x 1 , x 2 , 0 ) .
The Hamiltonian function is H = 1 2 v 1 2 + 1 2 v 2 2 + 1 2 v 3 2 + φ ( X ) .
The initial condition is X 0 = ( 10 ; 10 ; 10 ) and V 0 = ( 0 ; 0 ; 0 ) . We choose the parameter M to be 400. Displayed in Figure 1 are the phase orbits obtained by Algorithm 1(2nd), Algorithm 1(4th), the RK2 method, and the RK4 method. As is shown in Figure 1, the phase orbit of Algorithm 1(2nd) is more accurate than the RK2 method. There is no much difference between the phase orbit of Algorithm 1(4th) and that of the RK4 method. Displayed in Figure 2 are the energy evolutions of Algorithms 1 and 2, the RK4 method, and the RK6 method. Figure 2a,b show that the energy error of Algorithm 1(4th) can be bounded by the machine precision over the long term, while the energy error of the RK4 method increases with time. The energy error of the Algorithm 1(4th) is about seven orders of magnitude smaller than that of the RK4 method. Figure 1 and Figure 2 show that the first adaptive algorithm has superior advantages in long-term phase orbit preservation and energy preservation compared with the Runge–Kutta method. Displayed in Figure 2c,d are the energy errors of Algorithm 2(4th), Algorithm 2(6th), the RK4 method, and the RK6 method. The energy error of the second adaptive algorithm oscillates with very small amplitude over the long time, and the energy errors of the RK4 method and the RK6 method increase without the bound. This clearly shows the advantage of the energy conservation of the second adaptive algorithm over the Runge–Kutta methods. As is shown in Figure 1 and Figure 2, Algorithms 1 and 2 do not show energy drift and the energy errors of both algorithms can be preserved within the accuracy of the machine precision.
We compare the energy errors of the two adaptive algorithms with the energy-preserving methods without adaptive strategies (the EP4 method and the EP6 method), and the numerical results are displayed in Figure 3. The energy errors of the EP4 method and the EP6 method increase with time and show energy drift. But the energy errors of Algorithms 1 and 2 can be bounded over a long time and do not show energy drift. As can be seen from Figure 3, the energy error of Algorithm 2(4th) is three orders of magnitude smaller than that of the EP4 method and the energy error of the Algorithm 1(6th) is three orders of magnitude smaller than that of the EP6 method. This clearly shows the advantage of the two adaptive energy-preserving methods in long-term energy conservation over the energy-preserving methods without using adaptive strategies. Table 1 shows the global error of variable X of the first adaptive algorithm (Algorithm 1) over the time interval [ 0 , 10,000 π ] . As can be seen from Table 1, at the stepsize π / 8 , the error of Algorithm 1 applied to the EP2 method is about three orders of magnitude larger than that of Algorithm 1 applied to the EP4 method. At stepsize π / 2 , the error of Algorithm 1 applied to the EP4 method is about two orders of magnitude larger than that of Algorithm 1 applied to the EP6 method. The error of the sixth-order adaptive algorithm is small and achieves an order of magnitude of 10 8 . This shows the necessity of constructing the higher-order energy-preserving method.

5.2.2. Example 2

We normalize the system according to natural units. The mass is set to be m = 1 and the charge is set to be q = 1 . In this example, the magnetic field B ( X ) is
B ( X ) = 0 , x 1 2 + x 3 2 2 , x 1 2 + x 2 2 .
The scalar potential is φ ( X ) = 10 2 x 1 2 + x 2 2 ; therefore, we derive that the electric field
E ( X ) = 10 2 ( x 1 2 + x 2 2 ) 3 / 2 ( x 1 , x 2 , 0 ) .
The Hamiltonian function is H = 1 2 v 1 2 + 1 2 v 2 2 + 1 2 v 3 2 + φ ( X ) .
The initial condition is X 0 = ( 0 ; 1 ; 0 ) and V 0 = ( 0.2 ; 0.1 ; 0 ) . Displayed in Figure 4 are the energy errors obtained by Algorithms 1 and 2, the RK4 method, and the RK6 method. The energy errors of the two adaptive energy-preserving methods can be bounded by the machine precision over long time. The energy errors of the two Runge–Kutta methods increase without bounds. We can also see from Figure 4 that the energy error of Algorithm 1(4th) is ten orders of magnitude smaller than that of the RK4 method, while the energy error of Algorithm 2(6th) is nine orders of magnitude smaller than that of the RK6 method. When we compare the sixth-order adaptive energy-preserving method with the sixth-order Runge–Kutta method, we use a larger stepsize and we can see that the energy of the Algorithm 2(6th) can also be preserved over long time, but that of the RK6 method increases linearly with time. Figure 5 shows the comparison results in the energy error among Algorithms 1 and 2 and the same energy-preserving methods without using any adaptive strategy. We can see from Figure 5 that the energy error of Algorithm 1(4th) or Algorithm 1(6th) is smaller than the energy errors of the EP4 method or the EP6 method using three different points of Gauss–Legendre’s quadrature rules, respectively. Meanwhile, the energy error of Algorithm 2(4th) or Algorithm 2(6th) is smaller than the EP4 method or the EP6 method under the fixed time stepsize.
Table 2 shows the global error in variable V of Algorithm 1 applied to the EP2, EP4, and EP6 methods over the time interval [ 0 , 1000 π ] . As can be seen from the table, under the stepsize π / 320 , the error of Algorithm 1(4th) is about four orders of magnitudes smaller than that of Algorithm 1(2nd). And under the stepsize π / 80 , the error of Algorithm 1(6th) is about three orders of magnitudes smaller than that of Algorithm 1(4th). Even under a very small stepsize of π / 320 , the error in V of Algorithm 1(2nd) is at the order of magnitude 10 3 , and the error is a bit large. But the sixth-order method can achieve the error at the order of magnitude 10 4 under a big time stepsize π / 20 . This demonstrates that it is of importance to construct higher-order energy-preserving methods to acquire higher accuracy.

5.3. Numerical Results in Guiding Center System

We set the vector potential as
A = B 0 r 2 2 x 2 + y 2 q e ζ l n x 2 + y 2 R 0 R 0 B 0 2 e z + B 0 R 0 z 2 x 2 + y 2 e R ,
where q, B 0 , and R 0 are constants. The toroidal coordinates are η = arctan x y and R = x 2 + y 2 . As a result, we can derive the magnetic field B ( X ) , the strength of the magnetic field B ( X ) , and the unit vector along the magnetic field b ( X ) as follows:
B ( x ) = B 0 r q x 2 + y 2 e θ + B 0 R 0 x 2 + y 2 e ζ = B 0 r 2 q x 2 + y 2 θ B 0 R 0 ζ , B ( x ) = B 0 q x 2 + y 2 r 2 + R 0 2 q 2 , b ( x ) = ( x z R 0 q y x 2 + y 2 r 2 + R 0 2 q 2 , y z + R 0 q x x 2 + y 2 r 2 + R 0 2 q 2 , x 2 + y 2 R 0 r 2 + R 0 2 q 2 ) .
where θ = arctan z x 2 + y 2 R 0 and r = ( x 2 + y 2 R 0 ) + z 2 are the poloidal coordinates.
Here, we report the numerical experiments for two different orbits of the guiding center system.

5.3.1. Banana Orbit

For the banana orbit, the initial value Z 0 is chosen to be [ 1.05 ; 0 ; 0 ; 0.0004306 ] and the magnetic moment μ is 2.25 × 10 6 . Displayed in Figure 6 are the banana orbits projected on the ( R , z ) plane obtained by Algorithm 1(2nd), Algorithm 1(4th), the RK2 method, and the RK4 method. Figure 6 shows that the shape of the banana orbit can be nearly preserved by the Algorithm 1(2nd). But the banana orbit obtained by the RK2 method spirals outwards and loses accuracy. This clearly shows the advantage of the second-order adaptive energy-preserving algorithm in orbit preservation over the second-order Runge–Kutta method. As is also shown in Figure 6, the phase orbit of Algorithm 1(4th) and that of the RK method are not much different. Figure 7 displays the energy evolutions of Algorithm 1(4th), Algorithm 2(6th), the RK4 method, and the RK6 method. As can be seen from Figure 6, the energy error of Algorithm 1(4th) is eight orders of magnitude smaller than that of the RK4 method. Meanwhile, the energy error of Algorithm 2(6th) is five orders of magnitude smaller than that of the RK6 method. The energy errors of the two adaptive energy-preserving methods can be bounded at the order of magnitude 10 15 over the long term. But the energy errors of both the RK4 and the RK6 methods increase with time and do not show any boundedness. This demonstrates the significant advantage of the two adaptive energy-preserving algorithms in long-term energy conservation over the two Runge–Kutta methods.
We compare the energy errors of the two adaptive algorithms with the energy-preserving methods without adaptive strategies (the EP4 method and the EP6 method), and the numerical results are displayed in Figure 8. Both the EP4 and the EP6 methods show energy drift over the long term. The energy drift problem cannot be eliminated by the method using more points of Gauss-Legendre’s quadrature rule or using different fixed time stepsizes. But by using two adaptive strategies, we can see from Figure 8 that the two adaptive algorithms can preserve the energy error over long time and do not show any energy drift. This clearly shows that the energy drift problem is eliminated by using adaptive strategies. Table 3 shows the global error of variable X of the first adaptive algorithm (Algorithm 1) over the time interval [ 0 , 10 5 ] . As can be seen from Table 3, at the stepsize 100 / 2 , the error of Algorithm 1 applied to the EP2 method is about three orders of magnitude larger than that of Algorithm 1 applied to the EP4 method. Meanwhile, the error of Algorithm 1 applied to the EP4 method is about two orders of magnitude larger than that of Algorithm 1 applied to the EP6 method. It is important to construct higher-order energy-preserving methods.

5.3.2. Transit Orbit

For the transit orbit, the initial value Z 0 is chosen to be [ 1.05 ; 0 ; 0 ; 0.000804 ] and the magnetic moment μ is 2.448 × 10 6 . Figure 9 shows the advantage of Algorithm 1(2nd) in tracing the transit orbit over the RK2 method. Figure 10 demonstrates the superior advantage of the two adaptive energy-preserving algorithms in long-term energy conservation over the two Runge–Kutta methods. The relative energy errors of the two adaptive energy-preserving algorithms approximates the accuracy of the machine precision, but the relative energy errors of the two Runge–Kutta methods increase with time. Figure 11 shows that the two adaptive energy-preserving algorithms do not show energy drift over long time. But the energy-preserving methods not using the adaptive strategy clearly show the energy drift even we use more points of the Gaussian qudrature or choose a different stepsize in one method. Table 4 shows the global error in variable u of Algorithm 1 applied to the EP2, EP4, and EP6 method over the time interval [ 0 , 10 5 ] . At a stepsize of 100 / 16 , the error of Algorithm 1(4th) is about four orders of magnitude smaller than that of Algorithm 1(2nd). At a stepsize of 100 / 2 , the error of Algorithm 1(6th) is about three orders of magnitude smaller than that of Algorithm 1(4th). As can also be seen from Table 4, the higher-order methods can achieve smaller errors at big time stepsizes.

6. Conclusions

We have developed two adaptive higher-order symmetric energy-preserving algorithms for both the charged particle system and the guiding center system. The two adaptive algorithms adopt two adpative strategies: controlling the energy error by increasing the number of points of Gauss–Legendre’s quadrature rule or using two different stepsizes. The numerical results in the charged particle system and the guiding center system show that the two adaptive algorithms have superior advantages in long-term phase orbit preservation and energy preservation compared to the Runge–Kutta methods. Meanwhile, the numerical results also show that the two adaptive algorithms overcome the energy drift problem that occurs in the energy-preserving methods based on the averaged vector field. It is found that the two adaptive strategies used in the two adaptive energy-preserving methods can bound the energy error of higher-order methods to the machine’s precision.

Author Contributions

Conceptualization, B.Z.; Formal Analysis, B.Z. and H.Z.; Funding acquisition, B.Z.; Software, H.Z.; Validation, B.Z. and H.Z.; Writing—original draft preparation, B.Z.; Writing—review and editing, B.Z. and H.Z. All authors have read and agreed to the published version of the manuscript.

Funding

This research is supported by the National Natural Science Foundation of China (Grant No. 11901564) and the Fundamental Research Funds for the Central Universities (FRF-TP-20-071A1).

Data Availability Statement

The data presented in this study are available on request from the corresponding author.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Feng, K. Collected Works of Feng Kang (II); National Defence Industry Press: Beijing, China, 1995; pp. 44–47. [Google Scholar]
  2. Hairer, E.; Lubich, C.; Wanner, G. Geometric Numerical Integration: Structure-Preserving Algorithms for Ordinary Differential Equations; Springer: Berlin/Heidelberg, Germany, 2002. [Google Scholar]
  3. Sanz-Serna, J.M.; Calvo, M.P. Numerical Hamiltonian Problems; Chapman and Hall: London, UK, 1994. [Google Scholar]
  4. Zajac, M.; Sardon, C.; Ragnisco, O. Time-dependent Hamiltonian mechanics on a locally conformal symplectic manifold. Symmetry 2023, 15, 843. [Google Scholar] [CrossRef]
  5. Yu, C.B.; Youn, J.R.; Song, Y.S. Encapsulated phase change material embedded by graphene powders for smart and flexible thermal response. Fibers Polym. 2019, 20, 545–554. [Google Scholar] [CrossRef]
  6. Yu, C.B.; Youn, J.R.; Song, Y.S. Tunable Electrical Resistivity of Carbon Nanotube Filled Phase Change Material Via Solid-solid Phase Transitions. Fibers Polym. 2020, 21, 24–32. [Google Scholar] [CrossRef]
  7. Feng, K. On Difference Schemes and Symplectic Geometry. In Proceedings of the 1984 Beijing Symposium on Differential Geometry and Differential Equations; Feng, K., Ed.; Science Press: Beijing, China, 1985; pp. 42–58. [Google Scholar]
  8. Feng, K.; Qin, M.Z. Symplectic Geometric Algorithms for Hamiltonian System; Springer: New York, NY, USA, 2009. [Google Scholar]
  9. Tang, Y.F.; Pérez-García, V.M.; Vázquez, L. Symplectic Methods for the Ablowitz-Ladik Model. Appl. Math. Comput. 1997, 82, 17–38. [Google Scholar] [CrossRef]
  10. Zhang, R.L.; Qin, H.; Tang, Y.F.; Liu, J.; He, Y.; Xiao, J.Y. Explicit symplectic algorithms based on generating functions for charged particle dynamics. Phys. Rev. E 2016, 94, 013205. [Google Scholar] [CrossRef] [PubMed]
  11. Zhang, R.L.; Wang, Y.L.; He, Y.; Xiao, J.Y.; Liu, J.; Qin, H.; Tang, Y.F. Explicit symplectic algorithms based on generating functions for relativistic charged particle dynamics in time-dependent electromagnetic field. Phys. Plasmas 2018, 25, 022117. [Google Scholar] [CrossRef]
  12. Bader, P.; Blanes, S.; Casas, F.; Kopylov, N. Symplectic propagators for the Kepler problem with time-dependent mass. Celest. Mech. Dyn. Astron. 2019, 131, 25. [Google Scholar] [CrossRef]
  13. Elenin, G.G.; Elenin, T.G. Adaptive symplectic conservative numerical methods for the Kepler problem. Diff. Equat. 2017, 53, 923–934. [Google Scholar] [CrossRef]
  14. Chen, Y.L.; Wu, X. Application of force gradient symplectic integrators to the circular restricted three-body problem. Acta Phys. Sin. 2013, 62, 140501. [Google Scholar] [CrossRef]
  15. Zhang, Y.Y.; Li, Y.J.; Li, N. Numerical algorithms for solving restricted three body problem. Appl. Mech. Mater. 2011, 40, 917–923. [Google Scholar] [CrossRef]
  16. Blanes, S.; Moan, C.P. Splitting methods for non-autonomous Hamiltonian equations. J. Comput. Phys. 2001, 170, 205–230. [Google Scholar] [CrossRef]
  17. Zhu, B.B.; Tang, Y.F.; Liu, J. Energy-preserving methods for guiding center system based on averaged vector field. Phys. Plasmas 2022, 29, 032501. [Google Scholar] [CrossRef]
  18. Zhu, B.B.; Liu, J.; Zhang, J.W.; Zhu, A.Q.; Tang, Y.F. Adaptive energy-preserving algorithms for guiding center system. Plasma Sci. Technol. 2023, 25, 045102. [Google Scholar] [CrossRef]
  19. Albosaily, S.; Mohammed, W.W.; Aiyashi, M.A.; Abdelrahman, M.A.E. Exact solutions of the (2+1)-dimensional stochastic chiral nonlinear Schrödinger equation. Symmetry 2020, 12, 1874. [Google Scholar] [CrossRef]
  20. Shah, N.A.; Agarwal, P.; Chung, J.D.; El-Zahar, E.R.; Hamed, Y.S. Analysis of optical solitons for nonlinear Schrödinger equation with detuning term by iterative transform method. Symmetry 2020, 12, 1850. [Google Scholar] [CrossRef]
  21. Qin, H.; Guan, X. Variational Symplectic Integrator for Long-Time Simulations of the Guiding-Center Motion of Charged Particles in General Magnetic Fields. Phys. Rev. Lett. 2008, 100, 035006. [Google Scholar] [CrossRef] [PubMed]
  22. He, Y.; Zhou, Z.Q.; Sun, Y.J.; Liu, J.; Qin, H. Explicit K-symplectic algorithms for charged particle dynamics. Phys. Lett. A 2017, 381, 568–573. [Google Scholar] [CrossRef]
  23. Lu, Y.L.; Yuan, J.B.; Tian, H.Y.; Qin, Z.W.; Chen, S.Y.; Zhou, H.J. Explicit K-symplectic and symplectic-like methods for charged particle system in general magnetic field. Symmetry 2023, 15, 1146. [Google Scholar] [CrossRef]
  24. Zhu, B.B.; Tang, Y.F.; Zhang, R.L.; Zhang, Y.H. Symplectic simulation of dark solitons motion for nonlinear Schrödinger equation. Numer. Algorithms 2019, 81, 1485–1503. [Google Scholar] [CrossRef]
  25. Zhu, B.B.; Zhang, R.L.; Tang, Y.F.; Tu, X.B.; Zhao, Y. Splitting K-symplectic methods for non-canonical separable Hamiltonian problems. J. Comput. Phys. 2016, 322, 387–399. [Google Scholar] [CrossRef]
  26. Brugnano, L.; Zhang, C.J.; Li, D.F. A class of energy-conserving Hamiltonian boundary value methods for nonlinear Schrödinger equation with wave operator. Commun. Nonlin. Sci. Numer. Simulat. 2018, 60, 33–49. [Google Scholar] [CrossRef]
  27. Brugnano, L.; Iavernaro, F. Line Integral Methods for Conservative Problems; Chapman and Hall/CRC: Boca Raton, FL, USA, 2016. [Google Scholar]
  28. Wu, X.Y.; Wang, B.; Shi, W. Efficient energy-preserving integrators for oscillatory Hamiltonian systems. J. Comput. Phys. 2013, 235, 587–605. [Google Scholar] [CrossRef]
  29. He, Y.; Sun, Y.J.; Zhang, R.L.; Wang, Y.L.; Liu, J.; Qin, H. High order volume-preserving algorithms for relativistic charged particles in general electromagnetic fields. Phys. Plasmas 2016, 23, 092109. [Google Scholar] [CrossRef]
  30. Shang, Z.J. Construction of volume-preserving difference schemes for source-free systems via generating functions. J. Comput. Math. 1994, 12, 265–272. [Google Scholar]
  31. Shang, Z.J. Generating functions for volume-preserving mappings and Hamilton-Jacobi equations for source-free dynamical systems. Sci. China Ser. A 1994, 37, 1172–1188. [Google Scholar]
  32. Quispel, G.R.W.; Turner, G.S. Discrete gradient methods for solving ODEs numerically while preserving a first integral. J. Phys. A Math. Gen. 1996, 29, L341–L349. [Google Scholar] [CrossRef]
  33. Celledoni, E.; Grimm, V.; McLachlan, R.I.; McLaren, D.I.; O’Neale, D.; Owren, B.; Quispel, G.R.W. Preserving energy resp. dissipation in numerical PDEs using the “Average Vector Field” method. J. Comput. Phys. 2012, 231, 6770. [Google Scholar] [CrossRef]
  34. Li, H.C.; Wang, Y.S. An averaged vector field Legendre spectral element method for the nonlinear Schrödinger equation. Int. J. Comput. Math. 2016, 94, 1196–1218. [Google Scholar] [CrossRef]
  35. Brugnano, L.; Montijano, J.I.; Randez, L. High-order energy-conserving line integral methods for charged particle dynamics. J. Comput. Phys. 2019, 396, 209–227. [Google Scholar] [CrossRef]
  36. Li, H.C.; Wang, Y.S. A discrete line integral method of order two for Lorentz force system. Appl. Math. Comput. 2016, 291, 207–212. [Google Scholar] [CrossRef]
  37. Tang, R.; Li, D. On Symmetric Methods for Charged Particle Dynamics. Symmetry 2021, 13, 1626. [Google Scholar] [CrossRef]
  38. Li, T.; Wang, B. Efficient energy-preserving methods for charged-particle dynamics. Appl. Math. Comput. 2019, 361, 703–714. [Google Scholar] [CrossRef]
  39. Li, T.; Wang, B. Arbitrary-order energy-preserving methods for charged-particle dynamics. Appl. Math. Lett. 2020, 100, 106050. [Google Scholar] [CrossRef]
  40. Zhang, R.L.; Liu, J.; Hong, Q.; Tang, Y.F. Energy-preserving algorithm for gyrocenter dynamics of charged particles. Numer. Algorithms 2019, 81, 1521–1530. [Google Scholar] [CrossRef]
  41. Gonzalez, O. Time integration and discrete Hamiltonian systems. J. Nonlinear Sci. 1996, 6, 449–467. [Google Scholar] [CrossRef]
  42. Littlejohn, R. A guiding center Hamiltonian: A new approac. J. Math. Phys. 1979, 20, 2445–2458. [Google Scholar] [CrossRef]
  43. Yoshida, H. Construction of higher order symplectic integrators. Phys. Lett. A 1990, 150, 262. [Google Scholar] [CrossRef]
  44. Hairer, E.; Nørsett, S.P.; Wanner, G. Solving Ordinary Differential Equation I: Nonstiff Problems; Springer: Berlin/Heidelberg, Germany, 1987. [Google Scholar]
  45. Butcher, J.C. Implicit Runge-Kutta Processes. Math. Comput. 1964, 18, 50–64. [Google Scholar] [CrossRef]
Figure 1. The phase orbit and the energy evolution obtained by Algorithm 1 and the Runge–Kutta methods. Subfigure (a) is the phase orbit obtained by the Algorithm 1 applied to the EP2 method with λ = 0.6 . Subfigure (b) is the orbit obtained by the RK2 method. In both subfigures (a,b), the stepsize is h = π 2 and the time interval is [ 0 , 10 5 π ] . Subfigure (c) is the orbit obtained by the Algorithm 1 applied to the EP4 method with λ = 0.6 . Subfigure (d) is the orbit obtained by the RK4 method. In both subfigures (c,d), the stepsize is h = π 2 and the time interval is [ 0 , 2 × 10 5 π ] .
Figure 1. The phase orbit and the energy evolution obtained by Algorithm 1 and the Runge–Kutta methods. Subfigure (a) is the phase orbit obtained by the Algorithm 1 applied to the EP2 method with λ = 0.6 . Subfigure (b) is the orbit obtained by the RK2 method. In both subfigures (a,b), the stepsize is h = π 2 and the time interval is [ 0 , 10 5 π ] . Subfigure (c) is the orbit obtained by the Algorithm 1 applied to the EP4 method with λ = 0.6 . Subfigure (d) is the orbit obtained by the RK4 method. In both subfigures (c,d), the stepsize is h = π 2 and the time interval is [ 0 , 2 × 10 5 π ] .
Symmetry 15 01969 g001
Figure 2. The energy evolution obtained by the two algorithms and the Runge–Kutta methods. Displayed in subfigure (a) is the energy error of Algorithm 1(4th) with λ = 0.5 . Subfigure (b) is the energy error of the RK4 method. In both subfigures (a,b), the time stepsize is h = π 2 and the time interval [ 0 , 2 × 10 5 π ] . Subfigure (c) is the comparison of the energy error between the Algorithm 2(4th) ( λ = 0.3 ) and the RK4 method with the time stepsize being h = π 2 and the time interval being [ 0 , 2 × 10 5 π ] . Subfigure (d) is the comparison of the energy error between the Algorithm 2(6th) ( λ = 0.6 ) and the RK6 method, with the time stepsize being h = π 2 and the time interval being [ 0 , 10 5 π ] .
Figure 2. The energy evolution obtained by the two algorithms and the Runge–Kutta methods. Displayed in subfigure (a) is the energy error of Algorithm 1(4th) with λ = 0.5 . Subfigure (b) is the energy error of the RK4 method. In both subfigures (a,b), the time stepsize is h = π 2 and the time interval [ 0 , 2 × 10 5 π ] . Subfigure (c) is the comparison of the energy error between the Algorithm 2(4th) ( λ = 0.3 ) and the RK4 method with the time stepsize being h = π 2 and the time interval being [ 0 , 2 × 10 5 π ] . Subfigure (d) is the comparison of the energy error between the Algorithm 2(6th) ( λ = 0.6 ) and the RK6 method, with the time stepsize being h = π 2 and the time interval being [ 0 , 10 5 π ] .
Symmetry 15 01969 g002
Figure 3. The energy evolution obtained by the two algorithms and the energy-preserving methods EP4 and EP6. Subfigure (a) is the result for the Algorithm 2(4th) ( λ = 0.6 ), subfigure (b) is the result for the EP4 method using the six-point Gauss–Legendre quadrature rule. In subfigures (a,b), the stepsize is h = π 2 , and the total steps is N = 4 × 10 5 . Subfigure (c) shows the results for Algorithm 1(6th) ( λ = 0.2 ), subfigure (d) shows the results for the EP6 method using the five-point Gauss–Legendre’s quadrature rule. In subfigures (c,d), the stepsize is h = π 2 and the total number of steps is N = 4 × 10 5 .
Figure 3. The energy evolution obtained by the two algorithms and the energy-preserving methods EP4 and EP6. Subfigure (a) is the result for the Algorithm 2(4th) ( λ = 0.6 ), subfigure (b) is the result for the EP4 method using the six-point Gauss–Legendre quadrature rule. In subfigures (a,b), the stepsize is h = π 2 , and the total steps is N = 4 × 10 5 . Subfigure (c) shows the results for Algorithm 1(6th) ( λ = 0.2 ), subfigure (d) shows the results for the EP6 method using the five-point Gauss–Legendre’s quadrature rule. In subfigures (c,d), the stepsize is h = π 2 and the total number of steps is N = 4 × 10 5 .
Symmetry 15 01969 g003
Figure 4. The energy errors obtained by the two algorithms and the Runge–Kutta methods. Subfigure (a) displays the energy error obtained by using Algorithm 1(4th) with λ = 0.1 . Subfigure (b) displays th energy error obtained by the RK4 method. In subfigures (a,b), the time stepsize is h = π 50 and the time interval is [ 0 , 10 4 π ] . Subfigure (c) displays the energy error obtained by using Algorithm 2(6th) with λ = 0.7 . Subfigure (d) displays the energy error obtained by the RK6 method. In subfigures (c,d), the time stepsize is h = π 20 and the time interval is [ 0 , 10 4 π ] .
Figure 4. The energy errors obtained by the two algorithms and the Runge–Kutta methods. Subfigure (a) displays the energy error obtained by using Algorithm 1(4th) with λ = 0.1 . Subfigure (b) displays th energy error obtained by the RK4 method. In subfigures (a,b), the time stepsize is h = π 50 and the time interval is [ 0 , 10 4 π ] . Subfigure (c) displays the energy error obtained by using Algorithm 2(6th) with λ = 0.7 . Subfigure (d) displays the energy error obtained by the RK6 method. In subfigures (c,d), the time stepsize is h = π 20 and the time interval is [ 0 , 10 4 π ] .
Symmetry 15 01969 g004
Figure 5. The energy evolution obtained by the two algorithms and the Runge–Kutta methods. Subfigure (a) displays the comparison among the energy errors obtained by using Algorithm 1(4th) and the EP4-n5, EP4-n6, and EP4-n7 methods. Subfigure (b) displays the comparison among the energy errors obtained by using Algorithm 1(6th) and the EP6-n5, EP6-n6, and EP6-n7 methods. Subfigure (c) displays Algorithm 2(4th) and the EP4 method under the stepsizes h and 1.05 h . Subfigure (d) displays Algorithm 2(6th) and the EP6 method under the stepsizes h and 1.05 h . In subfigures (a,c), the stepsize is h = π 50 and the time interval is [ 0 , 2 × 10 4 π ] , and in subfigures (b,d), h = π 20 and the time interval is [ 0 , 10 4 π ] .
Figure 5. The energy evolution obtained by the two algorithms and the Runge–Kutta methods. Subfigure (a) displays the comparison among the energy errors obtained by using Algorithm 1(4th) and the EP4-n5, EP4-n6, and EP4-n7 methods. Subfigure (b) displays the comparison among the energy errors obtained by using Algorithm 1(6th) and the EP6-n5, EP6-n6, and EP6-n7 methods. Subfigure (c) displays Algorithm 2(4th) and the EP4 method under the stepsizes h and 1.05 h . Subfigure (d) displays Algorithm 2(6th) and the EP6 method under the stepsizes h and 1.05 h . In subfigures (a,c), the stepsize is h = π 50 and the time interval is [ 0 , 2 × 10 4 π ] , and in subfigures (b,d), h = π 20 and the time interval is [ 0 , 10 4 π ] .
Symmetry 15 01969 g005
Figure 6. The banana orbit obtained by using Algorithm 1 applied to the EP4 and EP6 methods with λ = 0.5 and the Runge–Kutta methods. Subfigure (a) is the banana orbit obtained by the Algorithm 1 applied to the EP2 method. Subfigure (b) is the orbit obtained by the RK2 method. Subfigure (c) is the orbit obtained by the Algorithm 1 applied to the EP4 method. Subfigure (d) is the orbit obtained by the RK4 method. The time stepsize h = 100 and the time interval is [ 0 , 5 × 10 6 ] .
Figure 6. The banana orbit obtained by using Algorithm 1 applied to the EP4 and EP6 methods with λ = 0.5 and the Runge–Kutta methods. Subfigure (a) is the banana orbit obtained by the Algorithm 1 applied to the EP2 method. Subfigure (b) is the orbit obtained by the RK2 method. Subfigure (c) is the orbit obtained by the Algorithm 1 applied to the EP4 method. Subfigure (d) is the orbit obtained by the RK4 method. The time stepsize h = 100 and the time interval is [ 0 , 5 × 10 6 ] .
Symmetry 15 01969 g006
Figure 7. The energy errors obtained by the two algorithms and the Runge–Kutta methods. Subfigure (a) displays the energy evolution obtained by using Algorithm 1(4th) with λ = 0.8 . Subfigure (b) displays the energy evolution obtained by the RK4 method. In subfigures (a,b), the time stepsize is h = 100 and the time interval is [ 0 , 5 × 10 6 ] . Subfigure (c) displays the energy evolution obtained by using Algorithm 2(6th) with λ = 0.1 . Subfigure (d) displays the energy evolution obtained by the RK6 method. In subfigures (c,d), the time stepsize is h = 200 and the time interval is [ 0 , 2 × 10 6 ] .
Figure 7. The energy errors obtained by the two algorithms and the Runge–Kutta methods. Subfigure (a) displays the energy evolution obtained by using Algorithm 1(4th) with λ = 0.8 . Subfigure (b) displays the energy evolution obtained by the RK4 method. In subfigures (a,b), the time stepsize is h = 100 and the time interval is [ 0 , 5 × 10 6 ] . Subfigure (c) displays the energy evolution obtained by using Algorithm 2(6th) with λ = 0.1 . Subfigure (d) displays the energy evolution obtained by the RK6 method. In subfigures (c,d), the time stepsize is h = 200 and the time interval is [ 0 , 2 × 10 6 ] .
Symmetry 15 01969 g007
Figure 8. The energy evolution obtained by the two algorithms and the EP4 and EP6 methods. Subfigure (a) displays Algorithm 2(4th) with λ = 0.3 and the EP4-n5 method under the stepsize h and 1.05 h . Subfigure (b) displays Algorithm 1(6th) with λ = 0.4 and the EP6-n5, EP6-n6, and EP6-n7 methods. The time stepsize is h = 100 .
Figure 8. The energy evolution obtained by the two algorithms and the EP4 and EP6 methods. Subfigure (a) displays Algorithm 2(4th) with λ = 0.3 and the EP4-n5 method under the stepsize h and 1.05 h . Subfigure (b) displays Algorithm 1(6th) with λ = 0.4 and the EP6-n5, EP6-n6, and EP6-n7 methods. The time stepsize is h = 100 .
Symmetry 15 01969 g008
Figure 9. The transit orbit obtained by using Algorithm 1 applied to the EP4 and EP6 methods with λ = 0.4 and the Runge–Kutta methods. Subfigure (a) is the transit orbit obtained by the Algorithm 1 applied to the EP2 method. Subfigure (b) is the orbit obtained by the RK2 method. Subfigure (c) is the orbit obtained by the Algorithm 1 applied to the EP4 method. Subfigure (d) is the orbit obtained by the RK4 method. The time stepsize is h = 100 and the time interval is [ 0 , 2 × 10 6 ] .
Figure 9. The transit orbit obtained by using Algorithm 1 applied to the EP4 and EP6 methods with λ = 0.4 and the Runge–Kutta methods. Subfigure (a) is the transit orbit obtained by the Algorithm 1 applied to the EP2 method. Subfigure (b) is the orbit obtained by the RK2 method. Subfigure (c) is the orbit obtained by the Algorithm 1 applied to the EP4 method. Subfigure (d) is the orbit obtained by the RK4 method. The time stepsize is h = 100 and the time interval is [ 0 , 2 × 10 6 ] .
Symmetry 15 01969 g009
Figure 10. The energy errors obtained by the two algorithms and the Runge–Kutta methods. Subfigure (a) displays the energy evolution obtained by using Algorithm 1(4th) with λ = 0.5 . Subfigure (b) displays the energy evolution obtained by the RK4 method. In subfigures (a,b), the time stepsize is h = 100 and the time interval is [ 0 , 2 × 10 6 ] . Subfigure (c) displays the energy evolution obtained by using Algorithm 2(6th) with λ = 0.1 . Subfigure (d) displays th energy evolution obtained by the RK6 method. In subfigures (c,d), the time stepsize is h = 100 and the time interval is [ 0 , 2 × 10 6 ] .
Figure 10. The energy errors obtained by the two algorithms and the Runge–Kutta methods. Subfigure (a) displays the energy evolution obtained by using Algorithm 1(4th) with λ = 0.5 . Subfigure (b) displays the energy evolution obtained by the RK4 method. In subfigures (a,b), the time stepsize is h = 100 and the time interval is [ 0 , 2 × 10 6 ] . Subfigure (c) displays the energy evolution obtained by using Algorithm 2(6th) with λ = 0.1 . Subfigure (d) displays th energy evolution obtained by the RK6 method. In subfigures (c,d), the time stepsize is h = 100 and the time interval is [ 0 , 2 × 10 6 ] .
Symmetry 15 01969 g010
Figure 11. The energy evolution obtained by the two algorithms and the EP4, EP6 methods. Subfigure (a) displays the comparison results between Algorithm 1(4th) and the EP4-n5, EP4-n6, and EP4-n7 methods. Subfigure (b) displays the comparison results between Algorithm 1(6th) and the EP6-n5, EP6-n6, and EP6-n7 methods. Displayed in subfigure (c) are the results obtained by Algorithm 2(4th) and the EP4-n5 method under the stepsize h and 1.05 h . Displayed in subfigure (d) are the results obtained by Algorithm 2(6th) and the EP6-n5 method under the stepsize h and 1.05 h . The time stepsize is h = 100 .
Figure 11. The energy evolution obtained by the two algorithms and the EP4, EP6 methods. Subfigure (a) displays the comparison results between Algorithm 1(4th) and the EP4-n5, EP4-n6, and EP4-n7 methods. Subfigure (b) displays the comparison results between Algorithm 1(6th) and the EP6-n5, EP6-n6, and EP6-n7 methods. Displayed in subfigure (c) are the results obtained by Algorithm 2(4th) and the EP4-n5 method under the stepsize h and 1.05 h . Displayed in subfigure (d) are the results obtained by Algorithm 2(6th) and the EP6-n5 method under the stepsize h and 1.05 h . The time stepsize is h = 100 .
Symmetry 15 01969 g011
Table 1. The global error of variable X in Example 1. The time interval is [ 0 , 10,000 π ] . The “***” means that we don’t calculate the values.
Table 1. The global error of variable X in Example 1. The time interval is [ 0 , 10,000 π ] . The “***” means that we don’t calculate the values.
hAlgorithm 1(2nd)OrderAlgorithm 1(4th)OrderAlgorithm 1(6th)Order
2 π ****** 1.00749 × 10 3 *** 1.41925 × 10 4 ***
π 3.37452 × 10 3 *** 6.67869 × 10 5 3.91507 2.60793 × 10 6 5.76608
π /2 9.83293 × 10 4 1.77899 4.24294 × 10 6 3.97643 6.14455 × 10 8 5.40745
π / 4 2.46957 × 10 4 1.99336 2.76951 × 10 7 3.93736******
π / 8 6.16717 × 10 5 2.00158 4.53288 × 10 8 2.61113******
Table 2. The global error of variable V in Example 2. The time interval is [ 0 , 1000 π ] . The “***” means that we don’t calculate the values.
Table 2. The global error of variable V in Example 2. The time interval is [ 0 , 1000 π ] . The “***” means that we don’t calculate the values.
hAlgorithm 1(2nd)OrderAlgorithm 1(4th)OrderAlgorithm 1(6th)Order
π / 10 ****** 1.82879 × 10 1 *** 1.57842 × 10 2 ***
π / 20 ****** 1.20875 × 10 2 3.91930 2.72253 × 10 4 5.85739
π / 40 2.96856 × 10 1 *** 7.61940 × 10 4 3.98769 4.33842 × 10 6 5.97163
π / 80 8.04522 × 10 2 1.88356 4.76892 × 10 5 3.99794 3.69632 × 10 8 6.87494
π / 160 2.01712 × 10 2 1.99583 2.94191 × 10 6 4.01884******
π / 320 5.04104 × 10 3 2.00050 1.41323 × 10 7 4.37968******
Table 3. The global error of variable X for the banana orbit. The time interval is [ 0 , 10 5 ] . The “***” means that we don’t calculate the values.
Table 3. The global error of variable X for the banana orbit. The time interval is [ 0 , 10 5 ] . The “***” means that we don’t calculate the values.
hAlgorithm 1(2nd)OrderAlgorithm 1(4th)OrderAlgorithm 1(6th)Order
400 1.54750 × 10 1 *** 1.65831 × 10 2 *** 4.74577 × 10 3 ***
200 3.87522 × 10 2 1.99759 1.14773 × 10 3 3.85286 7.28696 × 10 5 6.02518
100 9.69199 × 10 3 1.99941 7.34576 × 10 5 3.96573 1.13343 × 10 6 6.00655
100/2 2.42326 × 10 3 1.99984 4.61575 × 10 6 3.99227 1.53947 × 10 8 6.20212
100/4 6.05824 × 10 4 1.99998 2.86555 × 10 7 4.00968******
Table 4. The global error of variable u for the transit orbit. The time interval is [ 0 , 10 5 ] . The “***” means that we don’t calculate the values.
Table 4. The global error of variable u for the transit orbit. The time interval is [ 0 , 10 5 ] . The “***” means that we don’t calculate the values.
hAlgorithm 1(2nd)OrderAlgorithm 1(4th)OrderAlgorithm 1(6th)Order
400****** 3.23592 × 10 4 *** 6.24629 × 10 5 ***
200****** 2.79239 × 10 5 3.53460 1.14288 × 10 6 5.77225
100****** 1.80063 × 10 6 3.95493 1.84300 × 10 8 5.95447
100/2 4.43129 × 10 5 *** 1.13086 × 10 7 3.99301 2.90420 × 10 10 5.98777
100/4 1.13082 × 10 5 1.97036 7.07539 × 10 9 3.99847 4.78180 × 10 12 5.92444
100/8 2.84131 × 10 6 1.99274 4.42564 × 10 10 3.99885******
100/16 7.11216 × 10 7 1.99820 2.79043 × 10 11 3.98733******
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Zhu, B.; Zhou, H. Symmetric Adaptive Higher-Order Energy-Preserving Methods for a Charged Particle System and Guiding Center System. Symmetry 2023, 15, 1969. https://doi.org/10.3390/sym15111969

AMA Style

Zhu B, Zhou H. Symmetric Adaptive Higher-Order Energy-Preserving Methods for a Charged Particle System and Guiding Center System. Symmetry. 2023; 15(11):1969. https://doi.org/10.3390/sym15111969

Chicago/Turabian Style

Zhu, Beibei, and Hongji Zhou. 2023. "Symmetric Adaptive Higher-Order Energy-Preserving Methods for a Charged Particle System and Guiding Center System" Symmetry 15, no. 11: 1969. https://doi.org/10.3390/sym15111969

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