In a previous post, I was asking how to force a fine spatial meshing in NDSolve using the FiniteElement method. The solution was
NDSolveValue[{op == 0, ics}, u, {t, 0, 2}, {x} \[Element] reg,
Method -> {"FiniteElement", "MeshOptions" -> {"MaxCellMeasure" -> 0.005}}]
giving the correct result below
instead of the incorrect one obtained (without any error or warning message) when using simply
NDSolveValue[{op == 0, ics}, u, {t, 0, 2}, {x} \[Element] reg]
But this solution is not satisfactory because in the general case, (1) it is not so obvious to detect that a solution is False and (2) it is long and boring to run two subsequent NDSolve integrations with two different meshings in order to check whether it gives twice the same result, and (3) the user can be tempted to use a too fine meshing and consequently too much time in order to be sure to get a correct result. One could expect NDSolve to have an optional algorithm that automatically refine the spatial meshing if needed.
1) Does such an option exist?
2) Is it compatible with the FiniteElement method?
Thanks for your help.
Denis