It is already formulated in the title. NDSolve takes sometimes a considerable piece of time. It would be very practical to have some information on how long it is still to wait. So, any ideas?
To be specific, here is the equation along with the boundary and initial conditions:
Clear[s, bc1, bc2, ic, Lx, Ly, eq];
Lx = 90;
Ly = 90;
bc1 = z[t, x, -Ly] == z[t, x, Ly] == 0;
bc2 = z[t, -Lx, y] == z[t, Lx, y] == 0;
ic = z[0, x, y] == 0.5*Exp[-(x^2 + y^2)/10];
U[x_, y_] := -((
y (-2 x + Sqrt[x^2 + y^2]) Sqrt[x + Sqrt[x^2 + y^2]])/(
2 Sqrt[2] (x^2 + y^2 + 0.00001)^(3/2)));
mol = "MethodOfLines";
eq = D[z[t, x, y], t] ==
D[z[t, x, y], {x, 2}] +
D[z[t, x, y], {y, 2}] - (0.03 - U[x, y])*z[t, x, y] - z[t, x, y]^3;
s = NDSolve[{eq, bc1, bc2, ic},
z, {t, 0, 100}, {x, -Lx, Lx}, {y, -Ly, Ly}, Method -> mol][[1, 1]]
This equation solves nicely and rather fast. However, the maximum time is here chosen to be 100. It may, however, be necessary to solve it with the max time 10 to 30 fold greater. In this case I would like to have a visual indication of how far is the progress.
StepMonitor
? Are you prepared to explicitly provideMethod
options? $\endgroup$Methos
do you mean the method used inNDSolve
? If yes, it is the MethodOfLines. $\endgroup$StepMonitor
to find out how much of the evaluation is left to do. I suspect that to use it one will need to know what is being done internally and for that that one will need to specify aMethod
forNDSolve
. $\endgroup$