Computer Programs

NAME OR DESIGNATION OF PROGRAM, COMPUTER, DESCRIPTION OF PROGRAM OR FUNCTION, METHOD OF SOLUTION, RESTRICTIONS ON THE COMPLEXITY OF THE PROBLEM, TYPICAL RUNNING TIME, UNUSUAL FEATURES OF THE PROGRAM, RELATED AND AUXILIARY PROGRAMS, STATUS, REFERENCES, MACHINE REQUIREMENTS, LANGUAGE, OPERATING SYSTEM UNDER WHICH PROGRAM IS EXECUTED, OTHER PROGRAMMING OR OPERATING INFORMATION OR RESTRICTIONS, NAME AND ESTABLISHMENT OF AUTHORS, MATERIAL, CATEGORIES

[ top ]

[ top ]

To submit a request, click below on the link of the version you wish to order. Rules for end-users are
available here.

Program name | Package id | Status | Status date |
---|---|---|---|

DDASAC | ESTS0848/01 | Tested | 07-APR-1997 |

Machines used:

Package ID | Orig. computer | Test computer |
---|---|---|

ESTS0848/01 | Many Computers | DEC VAX 6000 |

[ top ]

3. DESCRIPTION OF PROGRAM OR FUNCTION

DDASAC solves nonlinear initial-value problems involving stiff implicit systems of ordinary differential and algebraic equations. Purely algebraic nonlinear systems can also be solved, given an initial guess within the region of attraction of a solution. Options include automatic reconciliation of inconsistent initial states and derivatives, automatic initial step selection, direct concurrent parametric sensitivity analysis, and stopping at a prescribed value of any user-defined functional of the current solution vector. Local error control (in the max-norm or the 2-norm) is provided for the state vector and can include the sensitivities on request.

DDASAC solves nonlinear initial-value problems involving stiff implicit systems of ordinary differential and algebraic equations. Purely algebraic nonlinear systems can also be solved, given an initial guess within the region of attraction of a solution. Options include automatic reconciliation of inconsistent initial states and derivatives, automatic initial step selection, direct concurrent parametric sensitivity analysis, and stopping at a prescribed value of any user-defined functional of the current solution vector. Local error control (in the max-norm or the 2-norm) is provided for the state vector and can include the sensitivities on request.

[ top ]

4. METHOD OF SOLUTION

Reconciliation of initial conditions is done with a damped Newton algorithm adapted from Bain and Stewart (1991). Initial step selection is done by the first-order algorithm of Shampine (1987), extended here to differential-algebraic equation systems. The solution is continued with the DASSL predictor- corrector algorithm (Petzold 1983, Brenan et al. 1989) with the initial acceleration phase detected and with row scaling of the Jacobian added. The backward-difference formulas for the predictor and corrector are expressed in divide-difference form, and the fixed-leading-coefficient form of the corrector (Jackson and Sacks-Davis 1980, Brenan et al. 1989) is used. Weights for error tests are updated in each step with the user's tolerances at the predicted state. Sensitivity analysis is performed directly on the corrector equations as given by Catacotsios and Stewart (1985) and is extended here to the initialization when needed.

Reconciliation of initial conditions is done with a damped Newton algorithm adapted from Bain and Stewart (1991). Initial step selection is done by the first-order algorithm of Shampine (1987), extended here to differential-algebraic equation systems. The solution is continued with the DASSL predictor- corrector algorithm (Petzold 1983, Brenan et al. 1989) with the initial acceleration phase detected and with row scaling of the Jacobian added. The backward-difference formulas for the predictor and corrector are expressed in divide-difference form, and the fixed-leading-coefficient form of the corrector (Jackson and Sacks-Davis 1980, Brenan et al. 1989) is used. Weights for error tests are updated in each step with the user's tolerances at the predicted state. Sensitivity analysis is performed directly on the corrector equations as given by Catacotsios and Stewart (1985) and is extended here to the initialization when needed.

[ top ]

5. RESTRICTIONS ON THE COMPLEXITY OF THE PROBLEM

This algorithm, like DASSL, performs well on differential-algebraic systems of index 0 and 1 but not on higher-index systems; see Brenan et al. (1989). The user assigns the work array lengths and the output unit. The machine number range and precision are determined at run time by a call to the LAPACK subroutine DLAMCH.

This algorithm, like DASSL, performs well on differential-algebraic systems of index 0 and 1 but not on higher-index systems; see Brenan et al. (1989). The user assigns the work array lengths and the output unit. The machine number range and precision are determined at run time by a call to the LAPACK subroutine DLAMCH.

[ top ]

[ top ]

7. UNUSUAL FEATURES OF THE PROGRAM

Parametric sensitivity analysis; automatic reconciliation of initial states and derivatives; row scaling of the Jacobian to improve numerical stability; flexible error control (see Method of Solution), and accurate stopping on a designated value of a functional of the state vector. The latter feature allows repeated stopping on a value of a solution component or derivative, to obtain a Poincari map of the solution.

Parametric sensitivity analysis; automatic reconciliation of initial states and derivatives; row scaling of the Jacobian to improve numerical stability; flexible error control (see Method of Solution), and accurate stopping on a designated value of a functional of the state vector. The latter feature allows repeated stopping on a value of a solution component or derivative, to obtain a Poincari map of the solution.

[ top ]

8. RELATED AND AUXILIARY PROGRAMS

This code is an extension and revision of DASSL (Petzold 1983). An earlier version of DDASAC has been distributed by Sandia Livermore Laboratories for use in their package SENKIN. The new DDASAC is different in many respects, including the error controls, the initialization options, the calling sequence for DDASAC, the tasks of the user's subroutines, and the adoption of LAPACK in place of LINPACK for the linear algebra computations. The LAPACK and BLAS codes used by DDASAC are collected in a separate file LAPACK.FOR on the same diskette.

This code is an extension and revision of DASSL (Petzold 1983). An earlier version of DDASAC has been distributed by Sandia Livermore Laboratories for use in their package SENKIN. The new DDASAC is different in many respects, including the error controls, the initialization options, the calling sequence for DDASAC, the tasks of the user's subroutines, and the adoption of LAPACK in place of LINPACK for the linear algebra computations. The LAPACK and BLAS codes used by DDASAC are collected in a separate file LAPACK.FOR on the same diskette.

[ top ]

ESTS0848/01, included references:

- W.E. Stewart, M. Caracotsios and J.P. Sorensen:Appendix A. DDASAC Software Package Documentation

(April 7, 1995)

- Compiling and Linking Instructions

[ top ]

ESTS0848/01

NEA-DB installed the program on a DEC VAXStation 3100 M38.[ top ]

13. OPERATING SYSTEM UNDER WHICH PROGRAM IS EXECUTED

DDASAC is in use on a wide variety of machines and operating systems.

DDASAC is in use on a wide variety of machines and operating systems.

ESTS0848/01

NEA-DB installed the program under OpenVMS 6.1. The source code was compiled with the VAX Fortran compiler Version 6.2-108.[ top ]

14. OTHER PROGRAMMING OR OPERATING INFORMATION OR RESTRICTIONS

The

notation Filename.FOR on the diskette denotes a Fortran source file, and Filename.DAT denotes the output data file. The .FOR files, when compiled and linked, suffice for execution of the four test problems given in the users' manual, Appendix A. The .DAT files correspond to the printed outputs of the four examples, given in Appendix A. These results were computed on a VAXstation 3200.

The

notation Filename.FOR on the diskette denotes a Fortran source file, and Filename.DAT denotes the output data file. The .FOR files, when compiled and linked, suffice for execution of the four test problems given in the users' manual, Appendix A. The .DAT files correspond to the printed outputs of the four examples, given in Appendix A. These results were computed on a VAXstation 3200.

[ top ]

[ top ]

ESTS0848/01

File name | File description | Records |
---|---|---|

ESTS0848_01.001 | Information file | 131 |

ESTS0848_01.002 | Fortran source file for DDASAC | 3134 |

ESTS0848_01.003 | Fortran source file for LAPACK | 6451 |

ESTS0848_01.004 | Fortran source file for test #1 | 116 |

ESTS0848_01.005 | Fortran source file for test #2 | 152 |

ESTS0848_01.006 | Fortran source file for test #3 | 213 |

ESTS0848_01.007 | Fortran source file for test #4 | 135 |

ESTS0848_01.008 | Input data for test #1 | 18 |

ESTS0848_01.009 | Input data for test #2 | 46 |

ESTS0848_01.010 | Input data for test #3 | 40 |

ESTS0848_01.011 | Input data for test #4 | 85 |

ESTS0848_01.012 | Output from test #1 | 18 |

ESTS0848_01.013 | Output from test #2 | 46 |

ESTS0848_01.014 | Output from test #3 | 40 |

ESTS0848_01.015 | Output from test #4 | 85 |

Keywords: differential equations, sensitivity analysis.