1 Introduction

Oscillation have been identified extensively in a variety of chemical reactions. Typical examples include Belousov–Zhabotinskii reaction [1, 2, 36], the Bray–Liebhafsky reaction [4, 5], the Goodwin enzymatic oscillator [14] and so on. The concentrations of substances may vary in different patterns: damped oscillation with a stable steady-state as in many enzymatic reactions, dissipative oscillation with a limit cycle [10], sustained oscillation in a closed orbit as in the Lotka–Volterra system [17] and relaxation oscillation [9, 26]. An N-species chemical reaction system involving M reactions can be described by the following reaction formula:

$$\begin{aligned} R_j:\quad m_{1,j}S_1+\cdots +m_{N,j}S_N\rightarrow m'_{1,j}S_1+\cdots +m'_{N,j}S_N,\quad j=1,\ldots ,M. \end{aligned}$$
(1)

The dynamics of a chemical reaction system can be modelled by a system of ordinary differential equations (called the reaction rate equations (RREs)) in the form

$$\begin{aligned} \frac{\mathrm{d}[S_i]}{\mathrm{d}t}=\sum \limits _{j=1}^{M}v_{ij}, \quad i=1,\ldots ,N. \end{aligned}$$
(2)

where \([S_i](t)\) is the concentration of the species \(S_i\) at time t, \(v_{ij}\) represents the contribution of reaction \(R_j\) to the reaction rate of species \(S_i\). By the law of mass action, the reaction rate \(v_{ij}\) takes the form

$$\begin{aligned} v_{ij}=r_{ij} k_{j}[S_1]^{m_{1,j}}\ldots [S_N]^{m_{N,j}}, \quad i=1,\ldots ,N, \end{aligned}$$
(3)

where \(k_{j}\) are the reaction rate constant which are reaction-dependent,

$$\begin{aligned} r_{ij}=\mathrm{sgn}(m'_{ij}-m_{ij})=\left\{ \begin{array}{ll} 1,&{}\quad \mathrm{if}\ m'_{ij}>m_{ij},\\ 0,&{}\quad \mathrm{if}\ m'_{ij}=m_{ij},\\ -1,&{}\quad \mathrm{if}\ m'_{ij}<m_{ij}. \end{array}\right. \end{aligned}$$

On the other hand, an enzymatic reaction \(S\rightarrow P\) follows the Michaelis-Menten kinetics where the rate of a product P is determined by its substrate S in the following way:

$$\begin{aligned} \frac{\mathrm{d} [P]}{\mathrm{d} t} = V_{\max } \frac{ {[S]}}{K_\mathrm{M} + [S]} \end{aligned}$$
(4)

where \(V_{\max }\) represents the maximum rate the system can achieve, at maximum saturation of the substrate concentration, \(K_\mathrm{M}\), the Michaelis constant, is the substrate concentration at which the reaction rate is half of \(V_{\max }\) (see Murray [27]). Often the binding of a ligand to a macromolecule is enhanced or weakened if there are already other ligands present on the same macromolecule. This effect of cooperative binding, activation or repression, is modeled by Hill coefficient. Then the reaction rate equation takes the form of the Hill function

$$\begin{aligned} \frac{\mathrm{d} [P]}{\mathrm{d} t} =V_{\max } \left( \frac{1+(-1)^{co}}{2}+(-1)^{1-co}\frac{{[S]^{n_0}}}{K_\mathrm{M}^{n_0} + [S]^{n_0}} \right) , \end{aligned}$$
(5)

where the exponent co takes value 1 if S is an activator for the production of P and 0 if S is a inhibitor, \(n_0\) is the Hill coefficient.

The approaches to treating chemical reaction systems cast broadly into two categories: qualitative and numerical. A systematic study from the dynamical point of view with emphasis in chemical oscillation is carried out by Epstein [8]. Murray [27] presented mathematical modelling of enzymatic reaction kinetics and chemical oscillators with qualitative analysis while Goldbeter [12, 13] and Gérard and Goldbeter [11] concentrated on periodic and chaotic behaviour of biochemical reaction systems in cells. A comprehensive presentation of oscillators and waves in nonlinear dynamical systems is given by Landa [22].

Due to the complexity (usually nonlinearity) of the system (2), it is usually not possible to obtain their analytical solution. To reveal the dynamics of the system, one has to turn to numerical solution. Among the the most known approaches are the standard Runge–Kutta (RK) methods which are available in most scientific computation softwares. However, the general purpose RK methods fail to take into account the special structure of the system and can not produce satisfactory numerical results. Szamosi and Kristyan [29] developed a computational procedure from the power series method investigate the limit cycle behavior of a two-dimensional chemical oscillator. Recently You [34] developed a new family of phase-fitted and amplification fitted methods of RK type which have been proved very effective for genetic regulatory systems with a stable limit-cycle structure. Chen et al. [7] continued to construct exponentially fitted two-derive RK methods for oscillatory chemical reactions in cells.

Splitting methods form a very effective family of structure-preserving integrators. Recently, regarding the additively separable structure of the system, You et al. [35] took a splitting approach and showed that the new splitting methods constructed in this paper are remarkably more effective and more suitable for long-term computation with large steps than the traditional RK methods when applied to the simulation of a one-gene network, a two-gene network, and a p53-mdm2 network. Splitting methods have a long history and have been applied to a variety of fields such as Hamiltonian systems, molecular dynamics, parabolic and reaction-diffusion partial differential equations, quantum statistical mechanics and chemical physics. For theoretical foundation and applications of splitting methods, see Hairer et al. [15], Blanes [3], McLachlan [24], McLachlan and Quispel [25], Lubich [23], Hundsdorfer and Verwer [19] and Holden et al. [18].

In this paper we will investigate the splitting methods for solving chemical reaction systems for which the chemical species are partitioned into two groups \(S_1,\ldots , S_D\) and \(S_{D+1},\ldots ,S_{N}\) in an appropriate way. The RRE then takes a partitioned form

$$\begin{aligned} \begin{array}{l} \frac{\mathrm{d} q}{\mathrm{d} t}=f(q,p),\quad \frac{\mathrm{d} p}{\mathrm{d} t}=g(q,p), \end{array} \end{aligned}$$
(6)

where \(q=([S_1],\ldots ,[S_D])^T, p=([S_{D+1}],\ldots ,[S_{N}])^T\), \(f: \mathbb {R}^N\rightarrow \mathbb {R}^D\) and \(g: \mathbb {R}^N\rightarrow \mathbb R^{N-D}\) are continuous functions. It is assumed that for given \(q_0\) and \(p_0\), the equations \(\frac{\mathrm{d} q}{\mathrm{d} t}=f(q(t),p_0)\) and \(\frac{\mathrm{d} p}{\mathrm{d} t}=g(q_0,p(t))\) have exact solution \(\big (q(t),p(t)\big )^T=\varphi ^{[1]}_t(q_0,p_0)\) and \(\big (q(t),p(t)\big )^T=\varphi ^{[2]}_t(q_0,p_0)\), respectively. This is the case for many chemical reaction systems where the reaction rates take the form (3), (4) or (5). The purpose of this paper is to adapt by phase-fitting the traditional splitting methods to chemical oscillators in the form (6).

The remainder of this paper is organized as follows. In Sect. 2 we present the scheme and order conditions of traditional splitting methods for initial-value problems of systems of first order differential equations. In Sect. 3 we analyze the phase properties of the traditional splitting methods. In Sect. 4 we present the order conditions for modified splitting methods with variable coefficients and construct four practical phase-fitted symmetric splitting methods (PFSSP) of order two and four. In Sect. 5 the new PFSSP methods and their prototype methods are used to solve the Lotka–Volterra reaction system to show the effectiveness of the new PFSSP methods. Section 6 is devoted to some conclusive remarks.

2 Splitting methods for systems of ordinary differential equations

We begin with the general initial value problem (IVP) of ordinary differential equations

$$\begin{aligned} \frac{\mathrm{d}y}{\mathrm{d}t}=F(y), \quad t>0, \quad y(0)=y_0. \end{aligned}$$
(7)

A numerical method solving the IVP (7) is a mapping \(\Psi _h: y_n\rightarrow y_{n+1}, n=0,1,\ldots , \) where \(y_n\) are approximations to the exact solution at \(t_n=nh, n=1,2,\ldots \), \(h>0\) is the step size. The method \(\Psi _h\) is said to be of order r if under the local assumption \(y_n=y(t_n)\) its local truncation error \({\textit{LTE}}=y_{n+1}-y(t_n+h)=\mathcal O(h^{r+1})\) as \(h\rightarrow 0\). When the system takes the partitioned form (6), then the method is of order p if the local truncation errors in q and p satisfy \({\textit{LTE}}_q=q_{n+1}-q(t_n+h)=\mathcal O(h^{r+1})\) and \({\textit{LTE}}_p=p_{n+1}-p(t_n+h)=\mathcal O(h^{r+1})\).

The adjoint of the method \(\Psi _h\) is the inverse mapping of \(\Psi _h\) with backward step: \(\Psi ^*_h=\Psi _{-h}^{-1}.\) The method \(\Psi _h\) is called symmetric if \(\Psi _h^*= \Psi _h\).

2.1 Splitting methods with order conditions

Suppose the vector field F in (7) is decomposed into two subfields

$$\begin{aligned} \frac{\mathrm{d}y}{\mathrm{d}t}=F^{[1]}(y)+F^{[2]}(y), \end{aligned}$$
(8)

and assume that each subfield \(F^{[i]}(y),\ i=1,2\) happens to have the exact flow \(\varphi _t^{[i]}\).

An \((s+\frac{1}{2})\)-stage splitting method is the following scheme with the arbitrary coefficients \(a_i,\ b_i,\ i=1,\ldots ,s\) and \(a_{s+1}\):

$$\begin{aligned} \Psi _h=\varphi ^{[1]}_{a_{s+1}h}\circ \varphi ^{[2]}_{b_{s}h}\circ \varphi ^{[1]}_{a_{s}h}\circ \cdots \circ \varphi ^{[2]}_{b_{1}h}\circ \varphi ^{[1]}_{a_{1}h}. \end{aligned}$$
(9)

When \(a_{s+1}=0\), the scheme (9) is an s-stage splitting method.

The following theorem gives the first to fourth order conditions for the scheme (9).

Theorem 2.1

For the method (9) with \(\sum _{i=1}^{s+1}a_i=1\), the first to fourth order conditions are given as follow

$$\begin{aligned} \begin{array}{ll} \mathrm{Order\ one\ requires}&{}\sum \limits _{i=1}^{s}b_i=1;\\ \mathrm{Order\ two\ requires\ in\ addition}&{}\sum \limits _{i=1}^{s}\left( d_i^2-(d_i-b_i)^2\right) =0;\\ \mathrm{Order\ three\ requires\ in\ addition} &{} \sum \limits _{i=1}^{s}\left( d_i^3-(d_i-b_i)^3\right) =0,\\ &{} \sum \limits _{i=1}^{s}\big (d_{i}^2-(d_{i}-b_{i})^2\big )c_{i}=0;\\ \mathrm{Order\ four\ requires\ in\ addition} &{} \sum \limits _{i=1}^{s}\left( d_i^4-(d_i-b_i)^4\right) =0,\\ &{} \sum \limits _{i=1}^{s}\left( d_i^3-(d_i-b_i)^3\right) c_i=0,\\ &{}\sum \limits _{i=1}^{s}\left( d_i^2-(d_i-b_i)^2\right) c_i^2=0, \end{array} \end{aligned}$$
(10)

where \(d_{i}=\sum \limits _{l=1}^{i}(b_{l}-a_{l})\) and \(c_{i}=\sum \limits _{l=1}^{i}a_{l}, i=1,\ldots ,s\).

For \(s=1\) in the scheme (9), taking the coefficients

$$\begin{aligned} a_1=1,\ b_1=1, a_2=0 \end{aligned}$$

recovers the Lie-Trotter splitting

$$\begin{aligned} \Psi ^{SP1}_h=\varphi _h^{[1]}\circ \varphi _h^{[2]}. \end{aligned}$$
(11)

This is the simplest splitting method which is of order one and we denoted it as SP1.

2.2 Symmetric splitting methods

For the decomposition (8) of the autonomous system (7), the exact flows \(\varphi ^{[i]}_h, i=1,2\) are symmetric. Then the splitting method (9) is symmetric if and only if its coefficients satisfy

$$\begin{aligned} a_i=a_{s+2-i},\quad b_i=b_{s+1-i},\quad i=1,\ldots ,s. \end{aligned}$$
(12)

In the sequel we present four examples of symmetric splitting methods of order two to four.

(i) A \((1+\frac{1}{2})\)-stage symmetric splitting method:

$$\begin{aligned} a_1=1/2,\ b_1=1, a_2=1/2. \end{aligned}$$
(13)

The method is known as the Strang splitting. It is of order two and we denoted it as SSP1h. The Strang splitting can also be obtained by compositing \( \Phi ^{[SP1]}_h\) with its adjoint \( {\Psi ^{SP1}_h}^*:={\Psi ^{SP1}_{-h}}^{-1}=\varphi ^{[2]}_h\circ \varphi ^{[1]}_h\).

(ii) A \((2+\frac{1}{2})\)-stage symmetric splitting method is obtained by solving the first to third order conditions in (10) for \(s=2\):

$$\begin{aligned} a_1=a_3=1/4,\quad a_2=1/2, \quad b_1=b_2=1/2. \end{aligned}$$
(14)

This method is of order four and is denoted as SSP2h.

(iii) A \((3+\frac{1}{2})\)-stage symmetric splitting method is obtained by solving the first to third order conditions in (10) for \(s=3\):

$$\begin{aligned} \begin{array}{l}a_1=a_4= (4 + 2 \root 3 \of {2} + \root 3 \of {4} )/12,\quad a_2=a_3=(4 - 2 \root 3 \of {2} - \root 3 \of {4} )/12, \\ b_1=b_3=(4 + 2 \root 3 \of {2} + \root 3 \of {4} )/6, \quad b_2=-(1 + 2 \root 3 \of {2} +\root 3 \of {4} )/3. \end{array} \end{aligned}$$
(15)

This method can be generated by a composite of the Strang splitting

$$\begin{aligned} \Psi _h=\Psi ^{SSP1h}_{r_1h}\circ \Psi ^{SSP1h}_{r_2h}\circ \Psi ^{SSP1h}_{r_1h} \end{aligned}$$

with \(r_1=(4 + 2 \root 3 \of {2} + \root 3 \of {4} )/6\) and \(r_2=-(1 + 2 \root 3 \of {2} +\root 3 \of {4} )/3\). This method is of order four and is denoted as SSP3h.

(iv) For \(s=4\), solve the equations (10) with \(a_5=a_1,a_2=a_4,b_1=b_4\) and \(b_2=b_3\) yields a \((4+\frac{1}{2})\)-stage fourth order symmetric splitting method:

$$\begin{aligned} \begin{array}{l} a_1=a_5=\frac{11-\sqrt{5}}{48},\ a_2=a_4=-\frac{1}{24},\ a_3=\frac{15+\sqrt{5}}{24},\\ b_1=b_4=\frac{1+\sqrt{5}}{4},\ b_2=b_3=\frac{1-\sqrt{5}}{4}. \end{array} \end{aligned}$$
(16)

This method is referred to as SSP4h.

3 Analysis of phase properties of splitting methods

Phase properties of splitting methods can be analyzed by considering the scalar test system of the form

$$\begin{aligned} \dot{q}=\omega p,\quad \dot{p}=-\omega q. \end{aligned}$$
(17)

The exact solutions of (17) satisfy the following recursion:

$$\begin{aligned} \left( \begin{array}{c} q(t_n+h) \\ p(t_n+h) \\ \end{array} \right) =R_0(\nu ) \left( \begin{array}{c} q(t_n) \\ p(t_n) \\ \end{array} \right) , \end{aligned}$$

where

$$\begin{aligned} R_0(\nu )= \left( \begin{array}{cc} \cos \nu &{}\quad \sin \nu \\ -\sin \nu &{}\quad \cos \nu \\ \end{array} \right) ,\qquad \nu =h\omega . \end{aligned}$$

After time h, the increment in phase is

$$\begin{aligned} \arccos \frac{\mathrm{tr}(R_0(\nu ))}{2\sqrt{\det (R_0(\nu ))}}=\nu , \end{aligned}$$

and the amplification factor is

$$\begin{aligned} \sqrt{\det (R_0(\nu ))}=1. \end{aligned}$$

A standard decomposition of the system (17) is

$$\begin{aligned} \left( \begin{array}{c} \dot{q}\\ \dot{p}\\ \end{array} \right) =F^{[1]}\left( \begin{array}{c} q\\ p\\ \end{array} \right) +F^{[2]}\left( \begin{array}{c} q\\ p \\ \end{array} \right) \end{aligned}$$
(18)

with

$$\begin{aligned} F^{[1]}\left( \begin{array}{c} q\\ p\\ \end{array} \right) =\left( \begin{array}{c} \omega p \\ 0 \\ \end{array} \right) , \quad F^{[2]}\left( \begin{array}{c} q\\ p\\ \end{array} \right) =\left( \begin{array}{c} 0 \\ -\omega q \\ \end{array} \right) . \end{aligned}$$
(19)

Applying a splitting method to the test system (18)–(19) yields the recursion

$$\begin{aligned} (q_{n+1}, p_{n+1})^T =R(\nu ) (q_{n}, p_{n})^T. \end{aligned}$$
(20)

We can define the phase-lag and dissipation of the splitting method \(\Phi _h\).

Definition 3.1

The quantities

$$\begin{aligned} PL(\nu ):=\nu -\arccos \frac{\mathrm{tr}(R(\nu ))}{2\sqrt{\det (R(\nu ))}},\quad D(\nu ):=1-\sqrt{\det (R(\nu ))} \end{aligned}$$
(21)

are called the phase lag (or dispersion) and the dissipation (or amplification factor error) of the splitting method, respectively. If \(P(\nu )=0\) and \(D(\nu )=0\), the method is phase-fitted (or zero-dispersive) and zero-dissipative (or amplification fitted), respectively.

For convenience, we introduce the notion of pseudo-phase lag.

Definition 3.2

The quantity

$$\begin{aligned} {\textit{PPL}}(\nu ):=\cos (\nu )-\frac{\mathrm{tr}(R(\nu ))}{2\sqrt{\det (R(\nu ))}} \end{aligned}$$
(22)

is called the pseudo-phase lag of the method \(\Phi _h\).

The following theorem gives the relation between the phase lag and the pseudo-phase lag.

Theorem 3.1

For a given method \(\Phi _h\) and for small h, the dispersion

$$\begin{aligned} PL(\nu )=c_{r+1}\nu ^{r+1}+\mathcal {O}(\nu ^{r+2}), c_{r+1}\ne 0, p\ge 1 \end{aligned}$$

if and only if the pseudo-dispersion

$$\begin{aligned} {\textit{PPL}}(\nu )=-c_{r+1}\nu ^{r+2}+\mathcal {O}(\nu ^{r+3}). \end{aligned}$$

Consequently, \(PL(\nu )=0\) if and only if \({\textit{PPL}}(\nu )=0\).

The following lemma gives the local truncation errors, phase lags and dissipations of the the splitting methods presented in the previous section.

Lemma 3.1

For the decomposed test system (18)–(19), the local truncation errors, phase lags and dissipations of the the splitting methods SP1, SSP1h, SSP2h, SSP3h, SSP4h are are given by

(i)

$$\begin{aligned} {\textit{LTE}}_q^\mathrm{SP1}= & {} q_{n+1}-q(t_{n+1})=\big (1-\cos (\nu )\big )q_n+\big (\nu -\sin (\nu )\big )p_n\\= & {} -\frac{\omega ^2q_n}{2}h^2+\frac{\omega ^3p_n}{6}h^3+\mathcal {O}(h^4),\\ {\textit{LTE}}_p^\mathrm{SP1}= & {} p_{n+1}-p(t_{n+1})=\big (\sin (\nu )-\nu \big )q_n+\big (1-\nu ^2-\cos (\nu )\big )p_n\\= & {} \frac{\omega ^2p_n}{2}h^2-\frac{\omega ^3q_n}{6}h^3+\mathcal {O}(h^4),\\ {\textit{PPL}}^\mathrm{SP1}(\nu )= & {} \frac{\nu ^4}{24}+\mathcal {O}(\nu ^{6}),\quad D^\mathrm{SP1}(\nu )=0. \end{aligned}$$

(ii)

$$\begin{aligned} {\textit{LTE}}_q^\mathrm{SSP1h}= & {} -\frac{\omega ^3p_n}{12}h^3-\frac{\omega ^4q_n}{24}h^4+\mathcal {O}(h^5),\\ {\textit{LTE}}_p^\mathrm{SSP1h}= & {} -\frac{\omega ^3q_n}{6}h^3-\frac{\omega ^4p_n}{24}h^4+\mathcal {O}(h^5),\\ {\textit{PPL}}^\mathrm{SSP1h}(\nu )= & {} \frac{\nu ^4}{24}+\mathcal {O}(\nu ^{6}),\quad D^\mathrm{SSP1h}(\nu )=0. \end{aligned}$$

(iii)

$$\begin{aligned} {\textit{LTE}}_q^\mathrm{SSP2h}= & {} -\frac{\omega ^3p_n}{48}h^3-\frac{\omega ^4q_n}{96}h^4+\mathcal {O}(h^5),\\ {\textit{LTE}}_p^\mathrm{SSP2h}= & {} -\frac{\omega ^3q_n}{24}h^3-\frac{\omega ^4p_n}{96}h^4+\mathcal {O}(h^5),\\ {\textit{PPL}}^\mathrm{SSP2h}(\nu )= & {} \frac{\nu ^4}{96}+\mathcal {O}(\nu ^{6}),\quad D^\mathrm{SSP2h}(\nu )=0. \end{aligned}$$

(iv)

$$\begin{aligned} {\textit{LTE}}_q^\mathrm{SSP3h}= & {} -\frac{\left( 6 + 5 \cdot 2^{1/3} + 5\cdot 2^{2/3}\right) \omega ^5 p_n}{720}h^5\\&+\,\frac{\left( 32 + 25 \cdot 2^{1/3} + 20\cdot 2^{2/3} \right) \omega ^6 q_n}{1440}h^6+\mathcal {O}(h^7),\\ {\textit{LTE}}_p^\mathrm{SSP3h}= & {} \frac{\left( 26 + 20 \cdot 2^{1/3} + 15\cdot 2^{2/3} \right) \omega ^5 q_n}{720}h^5\\&+\,\frac{\left( 32 + 25 \cdot 2^{1/3}+ 20\cdot 2^{2/3} \right) \omega ^6 p_n}{1440}h^6+\mathcal {O}(h^7),\\ {\textit{PPL}}^\mathrm{SSP3h}(\nu )= & {} -\frac{\left( 32 + 25 \cdot 2^{1/3}+ 20\cdot 2^{2/3}\right) \nu ^6}{1440}\\&+\,\mathcal {O}(\nu ^{8}),\quad D^\mathrm{SSP3h}(\nu )=0. \end{aligned}$$

(v)

$$\begin{aligned} {\textit{LTE}}_q^\mathrm{SSP4h}= & {} \frac{\left( 278 + 35 \cdot \sqrt{5}\right) \omega ^5p_n}{138240}h^5+\frac{\left( 4-5 \cdot \sqrt{5}\right) \omega ^6p_n}{276480}h^6+\mathcal {O}(h^7),\\ {\textit{LTE}}_p^\mathrm{SSP4h}= & {} \frac{\left( 47 + 5 \cdot \sqrt{5}\right) \omega ^5q_n}{23040}h^5+\frac{\left( 4 -5 \cdot \sqrt{5}\right) \omega ^6p_n}{276480}h^6+\mathcal {O}(h^7),\\ {\textit{PPL}}^\mathrm{SSP4h}(\nu )= & {} \frac{\left( -4 + 5 \cdot \sqrt{5}\right) \nu ^6}{276480}+\mathcal {O}(\nu ^{8}),\quad D^\mathrm{SSP2h}(\nu )=0. \end{aligned}$$

Therefore the method SP1 has algebraic order one and phase lag order 2, the methods SSP1h and SSP2h have algebraic order two and phase lag order two, and the methods SSP3h and SSP4h have algebraic order two and phase lag order two. All these splitting methods are zero-dissipative.

4 Construction of phase-fitted symmetric splitting methods for oscillatory systems

Regarding the oscillatory character of solution of the system, we consider the modified splitting methods, that is, the coefficients \(a_i,b_i\) in the scheme (9) are chosen to be even functions of \(\nu =h\omega \), where \(\omega \) is the fitting frequency, so that the methods have zero phase-lag. Consequently, the fourth-order conditions become

$$\begin{aligned} \begin{array}{ll} &{}\sum \limits _{i=1}^{s}b_i=1+\mathcal {O}(\nu ^4);\\ &{}\sum \limits _{i=1}^{s}\left( d_i^2-(d_i-b_i)^2\right) =\mathcal {O}(\nu ^3);\\ \end{array} \end{aligned}$$
$$\begin{aligned} \begin{array}{ll} &{} \sum \limits _{i=1}^{s}\left( d_i^3-(d_i-b_i)^3\right) =\mathcal {O}(\nu ^2),\\ &{} \sum \limits _{i=1}^{s}(2b_id_i-b_i^2)c_i=\mathcal {O}(\nu ^2);\\ &{} \sum \limits _{i=1}^{s}\left( d_i^4-(d_i-b_i)^4\right) =\mathcal {O}(\nu ),\\ &{} \sum \limits _{i=1}^{s}\left( d_i^3-(d_i-b_i)^3\right) c_i=\mathcal {O}(\nu ),\\ &{}\sum \limits _{i=1}^{s}\left( d_i^2-(d_i-b_i)^2\right) c_i^2=\mathcal {O}(\nu ). \end{array} \end{aligned}$$
(23)

In the sequel we impose zero-phase lag condition on the modified splitting methods and obtain some phase-fitted symmetric splitting methods of algebraic order one, two and four.

4.1 A 1-stage phase-fitted phase fitting

For \(s=1\) and \(a_2=0\) and for the linear test system (17) decomposed as (18)–(19), \(\varphi _{a_1h}^{[1]}\) and \(\varphi _{b_1h}^{[2]}\) are linear mappings with the matrices

$$\begin{aligned} \varphi _{a_1h}^{[1]}= \left( \begin{array}{cc} 1 &{}\quad a_1\nu \\ 0 &{}\quad 1 \\ \end{array} \right) \quad {\text{ and }} \quad \varphi _{b_1h}^{[2]}= \left( \begin{array}{cc} 1 &{}\quad 0 \\ -b_1\nu &{}\quad 1 \\ \end{array} \right) ,\qquad \nu =h\omega . \end{aligned}$$

Then the stability matrix of the method \(\Psi _h=\varphi _{b_1h}^{[2]}\circ \varphi _{a_1h}^{[1]}\) is given by

$$\begin{aligned} R(\nu )=\varphi _{b_1h}^{[2]}\varphi _{a_1h}^{[1]}= \left( \begin{array}{cc} 1 &{}\quad a_1\nu \\ -b_1\nu &{}\quad 1-a_1b_1\nu ^2 \\ \end{array} \right) . \end{aligned}$$

Thus the pseudo-phase lag is

$$\begin{aligned} {\textit{PPL}}(\nu )=\cos (\nu )-\frac{1}{2}\mathrm{Tr}(R(\nu ))=\cos (\nu )-1+\frac{1}{2}a_1b_1\nu ^2 \end{aligned}$$

and the zero-phase lag condition is \({\textit{PPL}}(\nu )=0\), that is, \(\mathrm{Tr}(R(\nu ))=2\cos (\nu )\) which implies that

$$\begin{aligned} a_1b_1=\frac{2(1-\cos (\nu ))}{\nu ^2}. \end{aligned}$$
(24)

Taking \(a_1=b_1=\frac{2\sin (\nu /2)}{\nu }\) we obtain the phase-fitted Lie-Trotter splitting. It is easy to check that

$$\begin{aligned} b_1=1+\mathcal {O}(\nu ^2) \end{aligned}$$

but

$$\begin{aligned} d_1^2-(d_1-b_1)^2=1. \end{aligned}$$

Thus the method is of order one and we denote it as PFSP1.

4.2 A \((1+\frac{1}{2})\)-stage phase-fitted symmetric splitting

For \(s=1\), the stability matrix of the method (9) is given by

$$\begin{aligned} R(\nu )=\varphi _{a_2h}^{[1]}\varphi _{b_1h}^{[2]}\varphi _{a_1h}^{[1]}= \left( \begin{array}{cc} 1 - a_2 b_1 v^2 &{}\quad \nu (a_1 + a_2 - a_1 a_2 b_1 \nu ^2) \\ -b_1\nu &{}\quad 1-a_1b_1\nu ^2 \\ \end{array} \right) . \end{aligned}$$

Requiring

$$\begin{aligned}R(\nu )=\left( \begin{array}{cc} \cos (\nu )&{}\quad \sin (\nu ) \\ -\sin (\nu ) &{} \quad \cos (\nu ) \\ \end{array} \right) \end{aligned}$$

and obtain the coefficients of a \((1+\frac{1}{2})\)-stage symmetric splitting

$$\begin{aligned} a_1=a_2=\frac{\tan (\nu /2)}{\nu },\quad b_1=\frac{\sin (\nu )}{\nu }. \end{aligned}$$
(25)

It is easily checked that

$$\begin{aligned} b_1=1-\frac{\nu ^2}{6}+\mathcal {O}(\nu ^4),\quad d_1^2-(d_1-b_1)^2=-\frac{\nu ^2}{4}+\mathcal {O}(\nu ^4), \end{aligned}$$

but

$$\begin{aligned} d_1^3-(d_1-b_1)^3=\frac{1}{4}-\frac{1}{8}\nu ^2+\mathcal {O}(\nu ^4). \end{aligned}$$

Thus the method is phase-fitted and is of order two. We denote this method as PFSSP1h.

4.3 A \((2+\frac{1}{2})\)-stage phase-fitted symmetric splitting

A \((2+\frac{1}{2})\)-stage symmetric splitting is defined by the coefficients

$$\begin{aligned} \begin{array}{l} a_1=a_3 = -\frac{2 (-1 + \cos (\nu /2))}{\nu \sin (\nu )},\\ a_2 = \frac{8 \sin (\nu /4)- 3 \sin (3\nu /4)+ \sin (5\nu /4))}{2\nu \cos (\nu /4) },\\ b_1 =b_2= \frac{\sin (\nu )}{\nu (3 - 2 \cos (\nu /2)+ \cos (\nu ))}. \end{array} \end{aligned}$$
(26)

By simple computation, we have the stability matrix

$$\begin{aligned} \begin{array}{rl} R(\nu )&{}=\varphi _{a_3h}^{[1]}\varphi _{b_2h}^{[2]}\varphi _{a_2h}^{[1]}\varphi _{b_1h}^{[2]}\varphi _{a_1h}^{[1]}\\ &{}= \left( \begin{array}{cc} 1 - a_2 b_1 \nu ^2 + a_1 b_1 \nu ^2 (-2 + a_2 b_1 \nu ^2)&{}\quad \nu (-1 + a_1 b_1 \nu ^2) \left( -a_2 + a_1 (-2 + a_2 b_1 \nu ^2)\right) \\ b_1 \nu (-2 + a_2 b_1 \nu ^2)&{}\quad 1 - a_2 b_1 \nu ^2 + a_1 b_1 \nu ^2 (-2 + a_2 b_1 \nu ^2) \end{array} \right) \\ &{}=\left( \begin{array}{cc} \cos (\nu )&{}\quad \sin (\nu ) \\ -\sin (\nu ) &{}\quad \cos (\nu ) \\ \end{array} \right) \end{array} \end{aligned}$$

and

$$\begin{aligned}&b_1+b_2=1-\frac{\nu ^2}{24}+\mathcal {O}(\nu ^4),\\&\left( d_1^2-(d_1-b_1)^2\right) +\left( d_2^2-(d_2-b_2)^2\right) =-\frac{\nu ^2}{16}+\mathcal {O}(\nu ^4), \end{aligned}$$

but

$$\begin{aligned} \left( d_1^3-(d_1-b_1)^3\right) +\left( d_2^3-(d_2-b_2)^3\right) =\frac{1}{6}-\frac{\nu ^2}{128}+\mathcal {O}(\nu ^4). \end{aligned}$$

Thus the method is phase-fitted and is of order two. We denote it as PFSSP2h.

4.4 A \((3+\frac{1}{2})\)-stage phase-fitted symmetric splitting

A \((3+\frac{1}{2})\)-stage symmetric splitting is defined

$$\begin{aligned} \Psi _h=\Psi ^{[3]}_{h} \circ \Psi ^{[2]}_{h} \circ \Psi ^{[1]}_{h} \end{aligned}$$
(27)

where

$$\begin{aligned} \Psi ^{[i]}_h= & {} \varphi _{\bar{a}_i(\nu )h/2}^{[1]}\circ \varphi _{\bar{b}_i(\nu )h}^{[2]} \circ \varphi _{\bar{a}_i(\nu )h/2}^{[1]},\\ \bar{a}_i= & {} \frac{ \tan (r_i\nu /2) }{\nu },\quad \bar{b}_i= \frac{\sin (r_i \nu )}{\nu },\quad i=1,2,3,\\ r_{3}=r_{1}= & {} (4 + 2 \root 3 \of {2} + \root 3 \of {4} )/6,\quad r_2=-(1 + 2 \root 3 \of {2} +\root 3 \of {4} )/3. \end{aligned}$$

Or, equivalently,

$$\begin{aligned} \Psi _h=\varphi _{{a}_4h}^{[1]}\circ \varphi _{{b}_3h}^{[2]}\circ \varphi _{{a}_{3}h}^{[1]}\circ \varphi _{{b}_2h}^{[2]}\circ \varphi _{a_2h}^{[1]}\circ \varphi _{{b}_1h}^{[2]}\circ \varphi _{{a}_1h}^{[1]} \end{aligned}$$

with \(a_1=a_4=\frac{\tan (r_1\nu /2)}{\nu }\), \(a_2=a_3=\frac{\tan (r_1\nu /2)+\tan (r_2\nu /2)}{\nu }\), \(b_1=b_3= \frac{\sin (r_1 \nu )}{\nu }, b_2= \frac{\sin (r_2\nu )}{\nu }\). It is easily checked that

$$\begin{aligned} \begin{array}{l} \sum \limits _{i=1}^{3}b_i=1 + \frac{-32 - 25\cdot {2}^{1/3} - 20 \cdot 2^{2/3}}{2160}\nu ^4+\mathcal {O}(\nu ^6),\\ \sum \limits _{i=1}^{3}\left( d_i^2-(d_i-b_i)^2\right) =\frac{300 + 238\cdot 2^{1/3} + 189 \cdot 2^{2/3}}{34560}\nu ^6+\mathcal {O}(\nu ^8),\\ \sum \limits _{i=1}^{3}\left( d_i^3-(d_i-b_i)^3\right) =\frac{32 + 25\cdot 2^{1/3} + 20\cdot 2^{2/3}}{144}\nu ^2+\mathcal {O}(\nu ^4),\\ \end{array} \end{aligned}$$
$$\begin{aligned} \begin{array}{l} \sum \limits _{i=1}^{3}\left( d_i^2-(d_i-b_i)^2\right) c_i=-\frac{14 + 11\cdot 2^{1/3} +9\cdot 2^{2/3}}{144}\nu ^2+\mathcal {O}(\nu ^4),\\ \sum \limits _{i=1}^{3}\left( d_i^4-(d_i-b_i)^4\right) =\frac{14285 + 11338\cdot 2^{1/3} + 8999\cdot 2^{2/3}}{1244160}\nu ^8+\mathcal {O}(\nu ^{10}), \\ \sum \limits _{i=1}^{3}\left( d_i^3-(d_i-b_i)^3\right) c_i=\frac{32 + 25\cdot 2^{1/3} + 20\cdot 2^{2/3}}{288}\nu ^2+\mathcal {O}(\nu ^4),\\ \sum \limits _{i=1}^{3}\left( d_i^2-(d_i-b_i)^2\right) c_i^2=-\frac{14 + 11\cdot 2^{1/3} +9\cdot 2^{2/3}}{144}\nu ^2+\mathcal {O}(\nu ^4),\\ \sum \limits _{i=1}^{3}\left( d_i^5-(d_i-b_i)^5\right) =-\frac{102 +79\cdot 2^{1/3} + 64\cdot 2^{2/3}}{115} +\mathcal {O}(\nu ^2), \end{array} \end{aligned}$$

and the stability matrix

$$\begin{aligned} R(\nu )=\varphi _{\bar{a}_3h/2}^{[1]}\varphi _{\bar{b}_3h}^{[2]}\varphi _{(\bar{a}_3+\bar{a}_2)h/2}^{[1]}\varphi _{\bar{b}_2h}^{[2]}\varphi _{(\bar{a}_1+\bar{a}_2)h/2}^{[1]}\varphi _{\bar{b}_1h}^{[2]}\varphi _{\bar{a}_1h/2}^{[1]}= \left( \begin{array}{cc} \cos (\nu ) &{}\quad \sin (\nu ) \\ -\sin (\nu )&{}\quad \cos (\nu ) \\ \end{array} \right) . \end{aligned}$$

Therefore, the method is phase-fitted and of order four. We denote it as PFSSP3h.

4.5 A \((4+\frac{1}{2})\)-stage phase-fitted symmetric splitting

A \((4+\frac{1}{2})\)-stage phase-fitted symmetric splitting is defined by the coefficients

$$\begin{aligned} \begin{array}{l} a_1=a_5= \frac{2\tan ( (11-\sqrt{5}) \nu /96)}{ \nu },\quad b_1=b_4=\frac{\sin ((1+\sqrt{5})\nu /4)}{\nu },\\ b_2=b_3=\frac{1}{2}-b_1,\quad a_2=a_4= \frac{-2 + a_1 \nu ^2 + (2 - a_1 \nu ^2) \cos (\nu ) + \nu \sin (\nu )}{(-1 + 2 b_1) \nu ^2 (1 - a_1 b_1 \nu ^2 + (-1 + a_1 b_1 \nu ^2) \cos (\nu ) b_1 \nu \sin (\nu )},\\ a_3 = -\frac{ 4 \big ((-1 + 2 b_1) \nu + 2 b_1 \nu (-1 + a_1 b_1 \nu ^2) \cos (\nu ) + \left( 1 - 2 a_1 b_1 \nu ^2 - b_1^2 \nu ^2 + a_1^2 b_1^2 \nu ^4\right) \sin (\nu )\big ) }{(1 - 2 b_1)^2 \nu ^3}. \end{array}\nonumber \\ \end{aligned}$$
(28)

It is easily checked that

$$\begin{aligned} \begin{array}{ll} &{}\sum \limits _{i=1}^{4}b_i=1;\\ &{}\sum \limits _{i=1}^{4}\left( d_i^2-(d_i-b_i)^2\right) =-\frac{881 + 1181 \sqrt{5}}{2488320}\nu ^4 +\mathcal {O}(\nu ^6),\\ &{} \sum \limits _{i=1}^{4}\left( d_i^3-(d_i-b_i)^3\right) =-\frac{809 + 1091 \sqrt{5}}{829440}\nu ^2+\mathcal {O}(\nu ^4),\\ &{} \sum \limits _{i=1}^{4}(2b_id_i-b_i^2)c_i=\frac{1788771 + 479150 \sqrt{5}}{257989017600}\nu ^6 +\mathcal {O}(\nu ^8),\\ &{} \sum \limits _{i=1}^{4}\left( d_i^4-(d_i-b_i)^4\right) =\frac{3347 + 821 \sqrt{5}}{1244160}\nu ^2+\mathcal {O}(\nu ^4),\\ \end{array} \end{aligned}$$
$$\begin{aligned} \begin{array}{ll} &{} \sum \limits _{i=1}^{4}\left( d_i^3-(d_i-b_i)^3\right) c_i=-\frac{809 + 1091 \sqrt{5}}{1658880}\nu ^2+\mathcal {O}(\nu ^4),\\ &{}\sum \limits _{i=1}^{4}\left( d_i^2-(d_i-b_i)^2\right) c_i^2=\frac{3347 + 821 \sqrt{5}}{1244160}\nu ^2+\mathcal {O}(\nu ^4),\\ &{}\sum \limits _{i=1}^{4}\left( d_i^5-(d_i-b_i)^5\right) = -\frac{7 (2307 + 260 \sqrt{5})}{331776}+\mathcal {O}(\nu ^2), \end{array} \end{aligned}$$

and the stability matrix

$$\begin{aligned} R(\nu )=\varphi _{{a}_5h}^{[1]}\varphi _{{b}_4h}^{[2]}\varphi _{{a}_4h}^{[1]}\varphi _{{b}_3h}^{[2]}\varphi _{{a}_3h}^{[1]}\varphi _{{b}_2h}^{[2]}\varphi _{a_2h}^{[1]}\varphi _{{b}_1h}^{[2]}\varphi _{a_1h}^{[1]}= \left( \begin{array}{cc} \cos (\nu ) &{}\quad \sin (\nu ) \\ -\sin (\nu )&{}\quad \cos (\nu ) \\ \end{array} \right) . \end{aligned}$$

Therefore, the method is phase-fitted and of order four. We denote it as PFSSP4h.

Remark

It should be noted that as \(\nu \rightarrow 0\), the phase-fitted symmetric splitting methods PFSSP1h, PFSSP2h, PFSSP3h and PFSSP4h derived in this section reduce to the symmetric splitting methods SSP1h, SSP2h, SSP3h and SSP4h, respectively. The latter are called the prototype methods of the former.

5 Numerical illustration with the Lotka–Volterra system

In this section we consider a two-species reaction system. The system involves two species \(S_1\) and \(S_2\) with the following reactions (see Wilkinson [33])

$$\begin{aligned} S_1\rightarrow 2S_1,\quad S_1+S_2\rightarrow 2S_2,\quad S_2\rightarrow \emptyset . \end{aligned}$$
(29)

The reaction rate equation is given by

$$\begin{aligned} \begin{array}{l} \frac{\mathrm{d}[S_1]}{\mathrm{d}t}=m_1[S_1]-k[S_1][S_2],\\ \frac{\mathrm{d}[S_2]}{\mathrm{d}t}=k[S_1][S_2]-\mu _2[S_2]. \end{array} \end{aligned}$$
(30)

A key feature of this system, and of most chemical systems that exhibit oscillations, is autocatalysis, that is, the rate of growth of the chemical species \(S_1\) increases with the population or concentration of itself (see Holden et al. [18]). This system has a unique steady state \(([S_1]^*,[S_2]^*)=(\mu _{2}/k,m_1/k)\). The Jacobian evaluated at the the steady state is

$$\begin{aligned} J=\left( \begin{array}{cc} m_1-k[S_2]&{}\quad -k[S_1]\\ k[S_2]&{}\quad k[S_1]-\mu _{2} \end{array}\right) \Bigg |_{([S_1]^*,[S_2]^*)}=\left( \begin{array}{cc} 0&{}\quad -\mu _{2}\\ m_1&{}\quad 0 \end{array}\right) \end{aligned}$$

with the eigenvalues \(\lambda _{1,2}=\pm \mathrm{i}\sqrt{m_1\mu _2}\) (\(\mathrm{i}^2=-1\)). Hence the steady state \(([S_1]^*,[S_2]^*)\) is a centre and the trajectories of the system are closed curves around \(([S_1]^*,[S_2]^*)\). That is, for any initial value \(([S_1]_0,[S_2]_0)\), the system has a periodic solution. For the parameter values are taken as \(m_1=2,\ k=1, \mu _{2}=1\) and the initial state \(([S_1]_0,[S_2]_0)=(2,2)\), the period of the solution is \(T\dot{=}4.61487051945103.\) A algorithm for estimating the period can be found in Butcher [6].

The problem is integrated on the time interval [0, 200] with step sizes \(h=1/2^j, j=2,\ldots ,6\) with the new phase-fitted symmetric splitting methods PFSSP1h, PFSSP2h, PFSSP3h and PFSSP4h derived in this paper as well as their prototype methods SSP1h, SSP2h, SSP3h and SSP4h. The classical Runge–Kutta method of order four, denoted by RK4 (see Hairer et al. [16]), is also utilized for comparison. For this problem the values of the fitting frequency \(\omega \) for PFSSP1h, PFSSP2h, PFSSP3h and PFSSP4h are chosen to be 1.27, 1.2, 1.5 and 1.6, respectively. In Fig. 1 we plot the maximal global error produced by each method in decimal logarithmic scale versus the step size in logarithm to base 2. From Fig. 1 we can see that the four new phase-fitted symmetric splitting methods are more accurate than their respective prototype methods. Among all the splitting methods we use, the method PFSSP4h is the most accurate. Besides, the slopes the error lines also verify that the methods SSP1h, PFSSP1h, SSP2h and PFSSP2h are of order two while the methods RK4, SSP3h, PFSSP3h, SSP4h and PFSSP4h are of order four.

Fig. 1
figure 1

Accuracy comparison of new splitting methods

Fig. 2
figure 2

Invariant preservation comparison of new splitting methods

The system has an invariant (or first integral) \(I([S_1],[S_2])=k([S_1]+[S_2])-\log ([S_1]^{\mu _2}[S_2]^{m_1})\), that is, for prescribed initial state \(([S_1]_0,[S_2]_0)\) the value of \(I([S_1](t),[S_2](t))\) remains constant along the solution. In order to test the ability of the new methods to preserve the invariant we solve the system with a fixed step size \(h=1/4\) on time interval [0, 10000]. In Fig. 2 we plot the maximal global error of the invariant \(I([S_1],[S_2])\) produced by each method in decimal logarithmic scale versus the length of integration time interval. From Fig. 2 we can see that the new phase-fitted splitting methods PFSSP1h, PFSSP2h, PFSSP3h and PFSSP4h as well as their prototype methods SSP1h, SSP2h, SSP3h and SSP4h can preserve the invariant \(I([S_1],[S_2])\) in high accuracy for long time integration. For all the splitting methods (phase-fitted or not), the error of the invariant remain constant, while the error of the invariant produced by the method RK4 increases in time. Moreover, even the second order splitting methods can give much smaller error than the fourth order method RK4.

6 Conclusions and discussion

In this paper, we investigate the splitting methods for the effective integration of chemical oscillators with a special structure (the exact flows of the subfields in the decomposed system (6) are available). Order conditions for splitting methods adapted to oscillatory differential equations have been given in new forms. By analysis, the traditional splitting methods with constant coefficients have some order of phase lag but are zero-dissipative when applied to the harmonic oscillator.

The new phase-fitted symmetric splitting methods PFSSP1h, PFSSP2h, PFSSP3h and PFSSP4h developed in this paper can integrate the harmonic oscillator without truncation error. When \(\nu \rightarrow 0\) a PFSSP method reduces to a traditional symmetric splitting method.

It should be noted that when a phase-fitted splitting method is to applied to oscillatory differential equations, a fitting frequency value has to be prescribed. Usually an accurate estimate of the the principal frequency, if available, provides a candidate. However, sometimes this principal frequency is not suitable for fitting. In the illustrative example in the preceding section, a very accurate approximation to the frequency of the exact solution is known to be \(w=2\pi /4.61487051945103=1.361508471515472\), but it can not serve as the fitting frequency for our new phase-fitted symmetric splitting methods. In fact, as indicated in Chen et al. [7], each method has its own “best fitting frequency” which may depend on the differential equation, initial data and the integration interval. In that paper a new approach to determining the fitting frequency by minimizing the global error is proposed. The problem of choosing an appropriate fitting frequency is crucial to the effectiveness of simulation and remains a challenge. For other practical techniques of determining the fitting frequency, we refer to, for example, Ixaru and Vanden Berghe [20], Vanden Berghe et al. [31], Ixaru et al. [21], Van de Vyver [30], Ramos and Vigo-Aguiar [28], Vigo-Aguiar and Ramos[32].

Finally, higher order of phase-fitted symmetric splitting methods with more stages can be constructed following the lines of this paper. More effective splitting methods for the chemical reaction system (2) are possible based on other forms of decomposition of the vector field.