# Thread: IMSL Daspg error message

1. ## IMSL Daspg error message

Dear all,

When I execute routine DASPG (IMSL 6.0) finds an approximation to the solution of a system of differential-algebraic equations g(t, y, yʹ) = 0, with given initial data for y and yʹ , sometimes will occur :

*** TERMINAL ERROR 5 from DD3SPG. At T = 5.136200000003068D-01 and stepsize
*** H = 1.490116119377984D-16, the error test failed repeatedly or
*** with abs(H)=hmin.
Here is a traceback of subprogram calls in reverse order:
Routine name Error type Error code
------------ ---------- ----------
DD3SPG 5 5 (Called internally)
DD2SPG 0 0 (Called internally)
DDASPG 0 0
USER 0 0

2. There are a number of issues that could be causing this error message. Without seeing the code it is hard to diagnose. Candidates:

- Initial conditions are not consistent
- Jacobian is not computed correctly
- Problem has index > 1

But there are others possible. Either get in touch with post-sales support or post a code snip that yields this error message.

You are using IMSL Fortran V. 6. The release V. 7 has an improved version of a DAE solver that you may find useful. But the error you are seeing is not going to be fixed by this upgrade.
__________________
Dickie T. Bird

3. ## IMSL Daspg error message

Dear Mr. Hanson,

Thanks for your reply of possible diagnoses.

I would like to further explain my problem. In my study, I try to deal with structural dynamics interaction between two structure bodies. There is a pair of constraint forces between them. One of the constraint force suddenly vanished when the two structure bodies were moving on a certain phase. An error message occurred as follows:

*** TERMINAL ERROR 5 from DD3SPG. At T = 5.136200000003068D-01 and stepsize
*** H = 1.490116119377984D-16, the error test failed repeatedly or
*** with abs(H)=hmin.
Here is a traceback of subprogram calls in reverse order:
Routine name Error type Error code
------------ ---------- ----------
DD3SPG 5 5 (Called internally)
DD2SPG 0 0 (Called internally)
DDASPG 0 0
USER 0 0

I supposed it's a discontinuity problem in DAE.
How can I solve this problem when using IMSL Daspg
subroutine?

4. I understand the problem better, perhaps. Let me try this: You have a system of DAEs $g(t,y,y^\')=0$. At some $t=t_0$ there is a discontinuity in $y^\'$. A working assumption of DASPG() is $C^1$ continuity of $g$ in its three variables. The continuity assumption appears to abruptly stop being true at this $t_0$.

The ideal organization for this type of model change - called g-stops in the ODE community - is to provide the function information describing g-stops and have the code gracefully continue with the new model and integrate beyond $t_0$.

But DASPG() does not have this g-stop feature, so you will have to do things yourself if you wish to use it. In other words discover $t_0$ before the code stops on this message. Then restart integration with the modified $C^1$ model for $g$. You can also turn off printing and stopping when encountering this terminal error and see if this allows you to recover the value of $t_0$. This has not been tried but you can experiment.

5. Nice post. I like it. Thanks for sharing these information. Keep it up.

#### Posting Permissions

• You may not post new threads
• You may not post replies
• You may not post attachments
• You may not edit your posts
•