# Variable Step Block Hybrid Method for Stiff Chemical Kinetics Problems
## 4 Implementation of the 3-Point VSHBM and Selection of Step Size  
### Implementation of the 3-Point VSHBM  
Throughout this section, the Newton-type scheme to find the approximation solutions of \(y_{n+1}\), \(y_{n+2}\), and \(y_{n+3}\) with one off-step point \(y_{n+\frac{5}{2}}\) instantaneously at every step is derived. The general forms of the 3-point VSBHM as in Equation (18)  
\[ \begin{split}& y_{n+1}=\sigma_{2,1}y_{n+2}+\sigma_{\frac{5}{2},1}y_{n +\frac{5}{2}}+\sigma_{3,1}y_{n+3}+\alpha_{1,1}hf_{n+1}+\psi_{1}\\ & y_{n+2}=\sigma_{1,2}y_{n+1}+\sigma_{\frac{5}{2},2}y_{n+\frac{5}{ 2}}+\sigma_{3,2}y_{n+3}+\alpha_{2,2}hf_{n+2}+\psi_{2}\\ & y_{n+\frac{5}{2}}=\sigma_{1,\frac{5}{2}}y_{n+1}+\sigma_{2,\frac {5}{2}}y_{n+2}+\sigma_{3,\frac{5}{2}}y_{n+3}+\alpha_{\frac{5}{2},\frac{5}{2}} hf_{n+\frac{5}{2}}+\psi_{\frac{5}{2}}\\ & y_{n+3}=\sigma_{1,3}y_{n+1}+\sigma_{2,3}y_{n+2}+\sigma_{\frac{5 }{2},3}y_{n+\frac{5}{2}}+\alpha_{3,3}hf_{n+3}+\psi_{3}\end{split}  \tag{18}\]  
with \(\psi_{1}\), \(\psi_{2}\), \(\psi_{\frac{5}{2}}\), and \(\psi_{3}\) are back values. Writing Equation (18) in the matrix-vector form as  
\[(I-A)Y_{n+1,n+2,n+\frac{5}{2},n+3}=hBF+\zeta_{n+1,n+2,n+\frac{5}{2},n+3} \tag{19}\]  
\[\text{with }I=\left[ \begin{array}{cccc}1&0&0&0\\ 0&1&0&0\\ 0&0&1&0\\ 0&0&0&1\end{array} \right]Y_{n+1,n+2,n+\frac{5}{2},n+3}=\left[ \begin{array}{ c}y_{n+1}\\ y_{n+2}\\ y_{n+5/2}\\ y_{n+3}\end{array} \right],\]  
\[A=\left[ \begin{array}{cccc}0&\sigma_{2,1}&\sigma_{\frac{5}{2},1}&\sigma_{3, 1}\\ \sigma_{1,2}&0&\sigma_{\frac{5}{2},2}&\sigma_{3,2}\\ \sigma_{1,\frac{5}{2}}&\sigma_{2,\frac{5}{2}}&0&\sigma_{3,\frac{5}{2}}\\ \sigma_{1,3}&\sigma_{2,3}&\sigma_{\frac{5}{2},3}&0\end{array} \right],B= \left[ \begin{array}{cccc}\alpha_{1,1}&0&0&0\\ 0&\alpha_{2,2}&0&0\\ 0&0&\alpha_{\frac{5}{2},\frac{5}{2}}&0\\ 0&0&0&\alpha_{3,3}\end{array} \right],\]  
\[F_{n+1,n+2,n+\frac{5}{2},n+3}=\left[ \begin{array}{c}f_{n+1}\\ f_{n+2}\\ f_{n+5/2}\\ f_{n+3}\end{array} \right]\text{and }\zeta_{n+1,n+2,n+\frac{5}{2},n+3}=\left[ \begin{array}{c}\psi_{1}\\ \psi_{2}\\ \psi_{5/2}\\ \psi_{3}\end{array} \right].\]  
By letting Equation (19)  
\[\hat{F}_{n+1,n+2,n+\frac{5}{2},n+3}=(I-A)Y_{n+1,n+2,n+\frac{5}{2},n+3}-hBF_{n+1,n+2,n+\frac{5}{2},n+3}-\zeta_{n+1,n+2,n+\frac{5}{2},n+3}=0 \tag{20}\]  
the generalized Newton iteration formula is then defined as  
\[Y_{n+1,n+2,n+\frac{5}{2},n+3}^{(i+1)}=Y_{n+1,n+2,n+\frac{5}{2},n+3}^{(i)}- \frac{\hat{F}_{n+1,n+2,n+\frac{5}{2},n+3}}{\hat{F}_{n+1,n+2,n+\frac{5}{2},n+3} ^{\prime}}. \tag{21}\]By applying [PERSON]'s iteration of Equation (21) to the Equation (20) to approximate the solution,  
\[Y_{n+1,n+2,n+\frac{5}{2},n+3}^{(i+1)}-Y_{n+1,n+2,n+\frac{5}{2},n+3}^{(i)}\]  
\[ \begin{split} Y_{n+1,n+2,n+\frac{5}{2},n+3}^{(i)}&- Y_{n+1,n+2,n+\frac{5}{2},n+3}^{(i)}\\ &=-\bigg{[}(I-A)-hB\frac{\partial F}{\partial Y}\bigg{(}Y_{n+1,n +2,n+\frac{5}{2},n+3}^{(i)}\bigg{)}\bigg{]}^{-1}\\ &\qquad\bigg{[}(I-A)Y_{n+1,n+2,n+\frac{5}{2},n+3}^{(i)}-hBF\bigg{(} Y_{n+1,n+2,n+\frac{5}{2},n+3}^{(i)}\bigg{)}-\zeta_{n+1,n+2,n+\frac{5}{2},n+3} \bigg{]}\end{split}  \tag{22}\]  
\((i)\) and \((i+1)\) represent the previous and current iterations. The term \(\frac{\partial F}{\partial Y}\bigg{(}Y_{n+1,n+2,n+\frac{5}{2},n+3}^{(i)}\bigg{)}\) is the Jacobian matrix of \(F\) for Y. Equation (22) is separated into three different matrices denoted as,  
\[E_{1,2,\frac{5}{2},3}^{(i+1)}=Y_{n+1,n+2,n+\frac{5}{2},n+3}^{(i+1)}-Y_{n+1,n+2,n+\frac{5}{2},n+3}^{(i)} \tag{23}\]  
\[\hat{A}=(I-A)-hB\frac{\partial F}{\partial Y}\bigg{(}Y_{n+1,n+2,n+\frac{5}{2},n+3}^{(i)}\bigg{)}, \tag{24}\]  
\[\hat{B}=-\bigg{[}(I-A)Y_{n+1,n+2,n+\frac{5}{2},n+3}^{(i)}-hBF\bigg{(}Y_{n+1,n +2,n+\frac{5}{2},n+3}^{(i)}\bigg{)}-\zeta_{n+1,n+2,n+\frac{5}{2},n+3}\bigg{]} \tag{25}\]  
An approximate solution to Equation (1) is obtained using a two-stage Newton-type iteration. Thus, the corresponding linear system to be solved is \(\hat{A}E_{1,2,\frac{5}{2},3}^{(i+1)}=\hat{B}\), where \(E_{1,2,\frac{5}{2},3}^{(i)}\) is the increment, \(\hat{A}\) and \(\hat{B}\) are defined as  
\[\hat{A}=