UF423
[ Name  Synopsis  Arguments  Description  Diagnostics  Common Blocks  Dependencies  See Also  Reported Bugs  Examples ]
Name

Subroutine UF423  Runge Kutta step
Synopsis
REAL*8 scale, rc, pb, palt INTEGER*4 ifail CALL UF423 (scale, rc, pb, palt, ifail)
Arguments

scale
 Scale factor [in]

rc
 Radius of curvature [in/out]

pb
 Magnetic field intensity at the reached point [out]

palt
 Altitude of the reached point [out]

ifail
 Error flag (see diagnostics) [out]
Description

The subroutine UF423 carries out a RungeKutta step along a magnetic
field line. The initial conditions and results of the RungeKutta step
are stored in the common block UC170. The index
kgp
of this common block defines the starting point.
The step size is proportional to the radius of curvature rc
and to the scale factor scale
, with a possible correction to
comply with a minimum and maximum value. The arguments
prop
, stpmin
and stepx
of the
common block UC190 define the factor of
proportionality, the minimum and the maximum of the step size,
respectively.
Note that the argument rc
is reevaluated for the next step.
The subroutine uses the Gill's method to apply a fourthorder RungeKutta
step. When the subroutine returns the error flag ifail
equal
to 42305 or 42306, it has correctly applied the RungeKutta step,
but possible causes of uncertainties have been detected.
The table below indicates in which way the arguments of the common block
UC170 are used. Note that when the subroutines
succeeds, the index kgp
is increased by 1.
mele(kgp).beg.coord  input  geographic location of the starting point 
mele(kgp).beg.b  input  magnetic vector at the starting point 
mele(kgp).arcl  input  arc length to the starting point 
mele(kgp).beg.rcurv  output  Radius of curvature at the starting point 
mele(kgp).rkstp  output  intermediate points of RungeKutta step 
mele(kgp+1).beg.coord 
output  geographic location of the next point 
mele(kgp+1).beg.b  output  magnetic vector at the next point 
mele(kgp+1).arcl  output  arc length to the next point 
References
 Davis, P.J. and Polonsky, I.,Numerical interpolation, differentiation and integration, in Handbook of Mathematical Functions, edited by Abramowitz, M. and Stegun, I.A., 875
 Gill, S., A process for the stepbystep integration of differential equations in an automatic digital computing machine, Proceedings of the Cambridge philosophical society 47 (1951) 96108
History

The error codes 42304 to 42306 are not generated in version 2.02
ans earlier.
Diagnostics

42301,
no more place in the common block UC170
42302, too small value of the
scale
argument 42303, too large value of the
scale
argument 42304, uncertainties on the magnetic field vector evaluation (see error flag 53004 of subroutine UM530)
42305, uncertainties on the magnetic field vector evaluation (see error flag 53002 or 53003 of subroutine UM530)
42306, uncertainties on the validity of the Runge Kunta step
Common Blocks
Dependencies
Called by

UD328,
evaluate the second derivative of B
UF422, follow a field line until a boundary condition is reached
UF424, search the lowest B value
UF426, interpolating an extremum of B
UF427, interpolating a value of B
UF428, interpolating an altitude
UT998, evaluate the magnetic field vector and the normal to the field line
Calls
See also

None
Reported Bugs

None
Examples

None