gfxgfx
 
Please login or register.

Login with username, password and session length
 
gfx gfx
gfx
1617 Posts in 535 Topics by 779 Members - Latest Member: rhoronjeff@comcast.net December 02, 2022, 09:56:05 PM
*
gfx* Home | Help | Search | Login | Register | gfx
gfx
Absoft User Forum  |  Support  |  Macintosh  |  Has anyone experience with IVOAM in IMSL Math Library?
gfx
gfxgfx
 

Author Topic: Has anyone experience with IVOAM in IMSL Math Library?  (Read 2829 times)

Orbital Mechanic

  • Newbie
  • *
  • Posts: 16
Has anyone experience with IVOAM in IMSL Math Library?
« on: February 13, 2014, 07:49:48 PM »
I'm attempting to use IVOAM, a variable Adams Method, for a three dimensional 2nd order differential equation. I'm running IMSL Fortran Library ver. 7.0.0. on a MacBook Pro running Mac OS X ver. 10.9.1 using Absoft's Pro Fortran 2014.

The call statement I'm using in my program was fashioned after the example shown in the IMSL Math Library pdf file, pages 1112 to 1117:


call IVOAM( ido, forces, t, tstop, xstate, hidrvs, neqs, korder, eqnerr, hinc, hdec, hmin, hmax )


The error message I get from IVOAM is


*** TERMINAL ERROR 17 from d_ivoam. The step length, H =
*** 2.225073858507203-308, is so small that when Tn + H is formed,
*** the result will be the same as Tn, where Tn is the base value
*** of the independent variable. If this problem is not due to a
*** nonintegrable singularity, it can probably be corrected by
*** translating t so that it is closer to 0. Reducing the error
*** tolerance for the equations through argument EQNERR may also
*** help with this problem.[/INDENT]
The parameter ido is set to one (1) before the first call to IVOAM. I get this error message regardless of the values for eqnerr. The magnitude of the step length leads me to believe that I must be missing an argument for the step length. However, the documentation for IVOAM shows no such parameter.

Please advise.

Orbital Mechanic.
 
« Last Edit: February 13, 2014, 07:57:45 PM by Orbital Mechanic »

forumadmin

  • Administrator
  • Sr. Member
  • *****
  • Posts: 333
Re: Has anyone experience with IVOAM in IMSL Math Library?
« Reply #1 on: February 14, 2014, 07:11:32 AM »
We would need to see the declarations of all of the arguments and their values at the point of the call to diagnose this. If you can provide a short example to support@absoft.com, we may be able to provide assistance.

Mike Linacre

  • Sr. Member
  • ****
  • Posts: 259
Re: Has anyone experience with IVOAM in IMSL Math Library?
« Reply #2 on: February 15, 2014, 05:31:28 AM »
O.M., this may have a helpful example: http://www.roguewave.com/portals/0/products/imsl-numerical-libraries/fortran-library/docs/7.0/math/math.htm?turl=docs%2Fivoam.htm

Suggestion: code their example exactly as they have it in order to verify that the ABSOFT-IMSL installation is functioning correctly.

Joan

  • Newbie
  • *
  • Posts: 4
Re: Has anyone experience with IVOAM in IMSL Math Library?
« Reply #3 on: April 29, 2014, 04:25:20 AM »
Strangely I get the same error as O.M., but only when the value of T is nonzero.

I have coded the program in Example 1 given in the online manual as Mike suggested.  If I use an initial T value of 0.0, i.e.
:
!                                 Initialize
      IDO  = 1
      T    = 0.0
      Y(1) = 1.0
:
as given in the manual, then I get exactly the same output as shown in the manual:
           T                Y1/Y2         Y1P/Y2P       Y1PP/Y2PP
         6.2832         1.0000         0.0000        -1.0000
                            0.0000         1.0000         0.0000
        12.5664         1.0000         0.0000        -1.0000
                             0.0000         1.0000         0.0000
        18.8496         1.0000         0.0000        -1.0000
                             0.0000         1.0000         0.0000
        20.0000         0.4081        -0.9129        -0.4081
                             0.9129         0.4081        -0.9129
But here is the strange bit.  The differential equation that is solved in the example is independent of time.  I should be able to use any initial value of T and get the same sequence of values for Y1 and Y2.  When I use an initial value of  T = 1.0, for example,
:
!                                 Initialize
      IDO  = 1
      T    = 1.0
      Y(1) = 1.0
:
the program terminates with the error O.M. got, i.e.
           T            Y1/Y2         Y1P/Y2P       Y1PP/Y2PP

 *** TERMINAL ERROR 17 from s_ivoam.  The step length, H = 1.175494E-38, is
 ***          so small that when Tn + H is formed, the result will be the
 ***          same as Tn, where Tn is the base value of the independent
 ***          variable. If this problem is not due to a nonintegrable
 ***          singularity, it can probably be corrected by translating t so
 ***          that it is closer to 0. Reducing the error tolerance for the
 ***          equations through argument EQNERR may also help with this
 ***          problem.

Am I missing something?

forumadmin

  • Administrator
  • Sr. Member
  • *****
  • Posts: 333
Re: Has anyone experience with IVOAM in IMSL Math Library?
« Reply #4 on: April 29, 2014, 08:05:03 AM »
The problem above was unrelated to the IMSL routine IVOAM. The customer submitted their code to support@absoft.com and it was determined that the static storage option (-s) was all that was required.

Joan

  • Newbie
  • *
  • Posts: 4
Re: Has anyone experience with IVOAM in IMSL Math Library?
« Reply #5 on: April 30, 2014, 02:23:00 AM »
Thanks for that.  I have tried the static switch (-s) but still get the same error when the initial value of T is nonzero.  The differential equation in the example should have a solution for a nonzero initial value of T, but the program terminates with an error.  Could the problem be my installation or incorrect compiler options?

Orbital Mechanic

  • Newbie
  • *
  • Posts: 16
Re: Has anyone experience with IVOAM in IMSL Math Library?
« Reply #6 on: June 30, 2014, 12:11:45 AM »

Absoft User Forum  |  Support  |  Macintosh  |  Has anyone experience with IVOAM in IMSL Math Library?
 

gfxgfx
gfx gfx
Powered by MySQL Powered by PHP Valid XHTML 1.0! Valid CSS!