- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I found an interesting book in the library Solving Ordinary Differential equations II about stiff equations. Hairer provides his Fortran code on his Uni website, although this highlights the problem of code on individual websites, when the site goes the code goes.
He mentions a algorithm DOP853 - teh book then takes a while to discuss the difficulty of solving the van der pols equations.
It is a nice book to read, quite humourous for a interesting field.
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
This has nothing to do with typing. Instead, it's passing a scalar to a dummy declared as an array. See the section on Sequence Association at Doctor Fortran in "I've Come Here For An Argument" - Doctor Fortran (stevelionel.com)
One workaround is to turn these scalars into array constructors, such as [RTOL]. This works as long as the subroutine doesn't write into the argument.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Ernst Hairer(and Wanner)'s book is superb, both in content and typeset quality.
Hairer's son Martin, also a mathematician, won the 2014 Fields Medal.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I got the problem running in IFORT. Changed all to Implicit None and then fixed the RPAR(*) issues, appears to run and solve.
Was fun.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Interestingly they have a Fortran program that takes the output and creates ps files and they can load into LATEX. Brilliant.
If in their second volume you look at the van der Pol's equation, the DOP853 can solve the problem until μ gets to about 50 and then the system becomes stiff and the book uses DEABM as the solver, the same plot as Figure 1.5 in the book for the mu of 31 is - they plot mu of 500 - DOP583 will not solve this.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hairer solves a beam problem for large displacements in Section IV.1 of his second book. The book develops an alternative Fortran code on page 46, which I have downloaded and updated slightly for IFORT -- his use of RPAR(*) causes some interesting moments.
He provides a solution, which matches - but I am stumped on how he generates his Figure 3.4 and 3.5 from the data, unfortunately in equations 1.19 he defines t from 0 to 5 obviously time and he defines X and Y, but in going from the program to the subroutine he swaps the variables t for X and the printout has X from 0 to 5.
I enclose the code for IFORT. Any thoughts welcome. I will write to E Hairer tonight.
I had a look at his son's thesis -- 130 pages of dense math, but interestingly he uses Brownian motion or white noise as the driving function. Thermal noise is really a great device for studying things instead of hitting them with a large hammer or such.

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page