next up previous contents
Next: pp2 : A 2D Up: AUTO Demos : Periodic Previous: lrz : The Lorenz   Contents


abc : The A $ \to $ B $ \to $ C Reaction.

This demo illustrates the computation of stationary solutions, Hopf bifurcations and periodic solutions in the A $ \to $ B $ \to $ C reaction (DoHe:83 DoHe:83).

\begin{displaymath}\begin{array}{cl} u_1 ' &= -u_1 + p_1 (1-u_1) e^{u_3}, \\ u_2...
..._3 u_3 + p_1 p_4 e^{u_3} ( 1-u_1 + p_2 p_5 u_2 ),\\ \end{array}\end{displaymath} (14.2)

with $ p_2=1$, $ p_3=1.55$, $ p_4=8$, and $ p_5=0.04$. The free parameter is $ p_1$.

The equations, as programmed in the equations-file abc.f, appear in Table 14.2. The starting point, an equilibrium of the equations, is also defined in the equations-file abc.f, as shown in Table 14.3. (The equations-file abc.f also contains the skeletons of some other routines, which must be supplied, but which are not used in this application.)

In the constants-file (c.abc.1) for the first run, as shown in Table 14.4, we note the following:

-
IPS=1 : a family of stationary solutions is computed.

-
IRS=0 : the starting point defined in STPNT is to be used (see Table 14.3).

-
ICP(1)=1 : the continuation parameter is PAR(1)

-
NUZR=1 : there is one user output point, namely at PAR(1)=0.4. Moreover, since the index ("-1") in the last line of the constants-file c.abc.1 is negative, the calculation will terminate when the calculation reaches the value PAR(1)=0.4..

In the constants-file (c.abc.2) for the second run, as shown in Table 14.5, we note that:

-
IPS=2 : a family of periodic solutions is computed.

-
IRS=2 : the starting point is the solution with label 2, (a Hopf bifurcation point), to be read from the solutions-file (here s.abc).

-
NICP=2 : there are two continuation parameters (namely PAR(1), and the period, PAR(11)).

-
NUZR=1 : there is one user output point, now at PAR(1)=0.25, where the calculation is to terminate, since the index ("-1") is negative.


Table 14.2: The equations for demo abc, as defined in the equations-file abc.f.
\begin{table}{\small
\begin{center}
\begin{boxedverbatim}SUBROUTINE FUNC(NDIM...
...*(X1C + ALPHA*S*X2)
C
RETURN
END\end{boxedverbatim}
\end{center}}\end{table}



Table 14.3: The starting solution for demo abc, as defined in the equations-file abc.f.
\begin{table}{\small
\begin{center}
\begin{boxedverbatim}SUBROUTINE STPNT(NDI...
....
U(2)=0.
U(3)=0.
C
RETURN
END\end{boxedverbatim}
\end{center}}\end{table}



Table 14.4: The constants-file c.abc.1 for Run 1 (stationary solutions) of demo abc.
\begin{table}{\small
\begin{center}
\begin{boxedverbatim}3 1 0 1 NDIM,IPS,IRS,...
... NUZR,((I,UZR(I)),I=1,NUZR)
-1 0.4\end{boxedverbatim}
\end{center}}\end{table}



Table 14.5: The constants-file c.abc.2 for Run 2 (periodic orbits) of demo abc.
\begin{table}{\small
\begin{center}
\begin{boxedverbatim}3 2 2 1 NDIM,IPS,IRS,...
...NUZR,((I,UZR(I)),I=1,NUZR)
-1 0.25\end{boxedverbatim}
\end{center}}\end{table}



Table 14.6: Unix Commands for running demo abc.
COMMAND ACTION
mkdir abc create an empty work directory
cd abc change directory
@dm abc copy the demo files to the work directory
@R abc 1 compute the stationary solution family with four Hopf bifurcations
@sv abc save output-files as b.abc, s.abc, d.abc
@R abc 2 compute a family of periodic solutions from the first Hopf point
@ap abc append the output-files to b.abc, s.abc, d.abc
@R abc 3 compute a family of periodic solutions from the second Hopf point
@ap abc append the output-files to b.abc, s.abc, d.abc
@R abc 4 compute a family of periodic solutions from the third Hopf point
@ap abc append the output-files to b.abc, s.abc, d.abc
@R abc 5 compute a family of periodic solutions from the fourth Hopf point
@ap abc append the output-files to b.abc, s.abc, d.abc



Table 14.7: Python Commands for running demo abc.
\begin{table}{\small
\begin{center}
\begin{boxedverbatim}ld(e='abc',c='abc.1')...
...c='abc.5',s='abc')
run()
ap('abc')\end{boxedverbatim}
\end{center}}\end{table}



Table 14.8: Python Program for running demo abc.
\begin{table}{\small
\begin{center}
\begin{boxedverbatim}ld(e='abc',c='abc.1')...
...tion[''Label''])
run()
ap('abc')\end{boxedverbatim}
\end{center}}\end{table}



next up previous contents
Next: pp2 : A 2D Up: AUTO Demos : Periodic Previous: lrz : The Lorenz   Contents
Gabriel Lord 2007-11-19