Button operation that indicates start and finish of simulation
- To: mathgroup at smc.vnet.net
- Subject: [mg126629] Button operation that indicates start and finish of simulation
- From: Hugh Goyder <h.g.d.goyder at cranfield.ac.uk>
- Date: Sun, 27 May 2012 04:40:53 -0400 (EDT)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
In a notebook with many dynamic modules I have a long simulation which I start with a button. I would like to give an indication that the simulation is starting and also when it is finished. Below, in a toy example, I attempt to use a simple message and also an EvaluationMonitor. Both only give results when the simulation is finished. What don't I understand and how do I fix this? Many thanks.
ClearAll[LongSimulation]
LongSimulation[] :=
TimeConstrained[NDSolve[{Derivative[2][x][t] + x[t] == 0,
x[0] == 1, Derivative[1][x][0] == 0}, x, {t, 0, 100000*Pi},
MaxSteps -> Infinity, Method -> {"Projection", "Invariants" ->
{x[t]^2 + Derivative[1][x][t]^2}},
EvaluationMonitor :> k++], 3]
k=0;
DynamicModule[{message = " "},
Column[{Button["Start Simulation", message = "Starting Simulation";
LongSimulation[]; message = "Simulation Finished"],
Dynamic[message],
Dynamic[k]}]]