[aspect-devel] "Not converge" problem with variable viscosity.
Wolfgang Bangerth
bangerth at tamu.edu
Tue Sep 1 06:25:21 PDT 2015
Shangxin,
> Yes. Now I can get the result of the simple four-layer viscosity with 3 global
> refinement of tolerance 10^-5. But for the steinberger radial viscosity
> profile, even 10^-4 cannot converge. I've tried running the case with 500 and
> 600 CPUs and 24 hours wall time limit, it still cannot finish. I even tried
> 250 CPUs with 6 days but still failed.
That's a lot of CPU time wasted :-(
> Because the depth-dependent viscosity profile is a basic part for mantle
> convection, I suppose it's worth for us to think about solving this
> long-standing problem. If this works, then we can add other things such as
> ocean/continent differentia for scaling parameter to improve the model.
There are a number of things that can go wrong. I don't think there is a bug
per se that makes this converge so slowly (though you never know) but more a
question of how one sets this up.
So let me ask a few questions:
1/ Are you using material model averaging?
2/ Are you limiting the viscosity from above and below? If not, what
are the maximal and minimal values you encounter for the viscosity
in your model? If they are too far apart, would it make a difference
if you limited values? For example, if you have parts of your model
with a viscosity of 10^18 and others where the viscosity varies between
10^23 and 10^26, then there is likely going to be no harm in simply
cutting it off at 10^23: yes, the original models would have places
where the velocity is going to be on the order of 10^-5 to 10^-8 of
the maximal velocity, but you're still getting the essentially same
answer if in all of these places the velocity is just 10^-5 of the max.
On the other hand, you just improved the conditioning of the system
matrix substantially.
3/ Rather than trying to get the large model to converge right away, look
at a *sequence* of smaller models first. For example, consider 2 and 3
global refinements and look at how the number of iterations change. If,
for example, the number of iterations grows from 100 to 1000 for these
two refinement levels, then you can expect it to become even larger on
refinement level 4. There may then not even be a point in trying to
run at level 4 because it's going to be prohibitively expensive -- no
need to try. In your case, I'd be interested in seeing the
output/statistics file from your runs on coarser meshes. That may give
us an indication whether it's the outer solver, or one of the inner
solvers that is running into trouble in your case.
I don't think that there's a magic bullet for difficult cases like yours.
There are just many small steps one can do to improve the condition number of
the various matrices involved.
Best
W.
--
------------------------------------------------------------------------
Wolfgang Bangerth email: bangerth at math.tamu.edu
www: http://www.math.tamu.edu/~bangerth/
More information about the Aspect-devel
mailing list