Thank you. I found the example quite helpful. In particular, I see that when an event occurs and dsolve stops, it returns the values of all the variables at the stopping time. (The messages about stopping are not part of the return.)Secondly, one can use eventstop as you indicate to see which event occurred. That is all I need to do what I wanted.
The folks who answer questions on Mapleprimes do a great service to the community and I am very grateful to all of you. However, I have a couple of questions for the Maple people.
1) To find out about using "events" one must look up dsolve.numeric.Events; in particular, dsolve.numeric.events does not fetch anything. Why?
2) Eventstop, eventdisable, etc. do not turn up anything in the documentation for Maple 16; one must search the examples carefully to find an explanation of them. Why?
3) What would be wrong about changing the example given by Preben Alsholm to
P:=proc(p) local res,q,eq,sol;
Warning, cannot evaluate the solution further right of 4.8443260, event #1 triggered a halt
[1.4, 4.84432605406979, 1.20000000000000, 0.695372548793804, 1]
Why is this approach deprecated?
Thanks for any answers.