Capítulo IV. El papel de los actores internos y externos en las reformas de 1993 y 2004 Su participación en la orientación de la política curricular de la SEP
4.2. ACTORES INTERNOS
The ordinary differential equations describing particle motion, contact and non- contact, were solved numerically. The routines used to calculate solutions to the
equations were taken from the NAG routine library. The routines used were those for initial value solutions to ordinary differential equations which are described in Chapter D02 (NAG, 1991). Routines based on three different methods of solving an initial value problem for a system of ordinary differential equations are available, these are based on the Runge-Kutta-Merson, Adams and backwards differentiation methods, of these the backward differentiation method is recommended for solution of stiff systems of equations. The routines available and the selection of an appropriate routine are described in Gladwell (1979) and NAG (1991).
For all of these methods the library consists of base routines which can be called from a number of different driver routines. The driver routine used in all the calculations described here integrates a system of equations until a function of the solution became zero. The interface to the driver routines are similar for each of the methods to enable the results of using the different methods to be tested for an
application. In addition a routine to check whether a system of equations to be solved was stiff was available based on the Runge-Kutta -Merson method.
An initial calculation was made using the routine D02BDF to check whether a system of equations is stiff. The results of this calculation indicated that the system of equations was not stiff and that it was not necessary to use a backward difference scheme. The Runge-Kutta-Merson routine, D02CHF, and the Adams routine,
D02EJF, were therefore investigated. The routines used both had a similar subroutine call, this varied only in the size of array passed to the subroutine as working space. In addition to these user supplied routines a variable, TOL, had to be set by the user to control the accuracy of the solution. The value of TOL is equivalent to the number of decimal places of accuracy required in the solution. The NAG documentation
suggested that the accuracy of the solution calculated with this value of TOL can be checked by increasing the value of TOL by one and comparing the results of the different calculations. The value of TOL is also used as an indicator about the calculated results of a call to a routine. In normal use the value of TOL is returned
unchanged. If, however, the integration length, rather than TOL, controls the step length within a solution then at the end of a calculation the variable in TOL is returned with its value set to negative. For these conditions the accuracy of the solution could not be guaranteed and a call to the routine with a larger value of TOL was
recommended.
The routines were called at each iteration to integrate particle movement over a timestep determined as described in Section 4.3.4. The integration of the solution required the derivatives to be calculated at a number of steps within the interval specified by the timestep. The derivatives of the equations describing the particle motion, contact and non-contact, were calculated from analytical expressions. The number of steps required for the solution at an iteration was determined within the chosen NAG routine, based on the specified required accuracy of the solution. The normal condition at the end of iteration, for both contact and non-contact motion, was for a particle to continue in the same type of motion. However the duration of an iteration was truncated if a particle either lost contact, when rolling, or came into contact, when in non-contact motion. The occurrence of these conditions during a particular iteration could not be predicted in advance, due to the stochastic elements in flow and bed. These conditions were therefore checked for during each iteration. The conditions determining when integration was truncated were set so that a function became zero when a moving particle lost contact with the bed, for contact motion, and for non-contact motion the function became zero when a moving particle came into contact with a bed particle. If the NAG routines were used in their simplest form hard error checking was in operation and the presence of any error conditions caused execution of the program to cease. The routines used here set an error condition if the integration proceeded to the end of the specified time interval, over which integration was to be performed, without the user specified function becoming zero. The
functions used did not return a zero value during every iteration, since the normal condition was for a particle to continue in the type of motion that it started an
iteration. The routines therefore had to be called with soft error checking, this allowed the program to continue executing after an error condition had occurred. The flags for error conditions were trapped and checked on return from the subroutine. With the exception of cases where the value of the user specified function did not become zero, that is where particle movement continued as normal, errors were trapped and program execution stopped.
The differential equation routines were tested at three different transport stages, the values used are high though suitable for examination of saltation. The values of the stage used were some of those shown in Figure 2.4, from data of Abbott & Francis (1977). Each of the routines was used to calculate particle trajectories using the same random number sequence. The calculations performed and the durations of the calculations are shown in Table 5.1. The routines were initially called with a value of TOL equal to 6, that is an accuracy of 6 decimal places. For this condition the
Runge-Kutta-Merson routine gave the fastest calculation times. However the variable TOL was returned with a negative sign. As noted above, this indicated that the accuracy of the solution could not be guaranteed. The calculations for the Runge- Kutta-Merson method were therefore performed with increasing values of TOL until it ceased to be returned with a negative value, this happened when the value of TOL was set to 11. The calculation times for the Runge-Kutta-Merson method were then slower than those for the Adams routine with a value of TOL equal to 6, for which the
variable was returned with a positive value. The routine used in further calculations was therefore the Adams routine, with a value of TOL equal to 6, for which the value
of TOL controlled the accuracy of the solution.
As described above the accuracy of the solution calculated with a value of TOL can be checked by performing a calculation with the value of TOL increased by one and comparing the results. A calculation performed with the value of TOL increased by one from, 6 to 7, gave calculated particle positions at each timestep that agreed for
the first 7 decimal places. This behaviour continued until at least the first impact. The effect of the difference in the values in the calculated decimals below the 7th decimal
Transport stage Runge-Kutta-Merson routine D02BHF Adams routine D02CHF 1.521 12 .1 seconds TOL = 6 67.2 seconds TOL = 11 32.2 seconds TOL = 6 1.900 9.6 seconds TOL = 6 31.4 seconds TOL =11 32.2 seconds TOL = 6 2.506 10.9 seconds TOL = 6 58.3 seconds TOL = 11 32.5 seconds TOL = 6
Compiled with FORTRAN 77 compiler on Sequent Symmetry, using compilation flags, nfpa -03.
Calculations were peformed for 5,000 iterations for a particle initially at rest.
Table 5.1 Comparison of calculation times using different methods of solution
place was then to give slightly different end conditions, position of impact and particle velocity at impact and hence slightly different initial conditions at the start of the next particle trajectory. The result was that the particles followed slightly different
diverging trajectories until the next impact, which again differed in position and conditions. After a few impacts the initially similar trajectories had diverged completely, showing a sensitive dependence on initial conditions, a feature of non linear dynamic systems. An increase in the number of decimal places required in the solution would only slow down, not eliminate, this effect, especially since even using double precision variables only 15 significant figures can be guaranteed in a
calculation.