hi,
here are some details of the inifinite loop in TBLSimTrack. i fixed
in in version '-r 1.11.2.16'. the runga kutta is divided into major
steps of 10cm. during each major step, the step-size is decreased in an
inner loop until the precision is sufficient, and at the end of this
loop, the major step is registered and minor steps are reset.
however, two different tests are used to determine when to reset, and
when to register the old step:
while(totalLen < step-.000001) {
// need to prevent h from decaying to zero
h2 = h/2.0;
h4 = h/4.0;
....
totalLen += h;
if (totalLen > step-.0000001) { //&& iflag == 0
fXx[++fStepN] = x1; // increment fStep by 1
... }
this gives the possibility of reseting the step without moving on to
the next one. if anyone sees a reason for doing it this way, i would
appreciate hearing from you.
--thanks, chris
This archive was generated by hypermail 2.1.2 : Mon Feb 24 2014 - 14:07:29 EST