Re: Aspect question


Hi Anthony,

oh, sorry that you run into this. Let me also copy my reply to the
ASPECT forum, as it might be of interest to other users. You can reply
to this mail or via the forum at

Before looking into the convergence issues, make sure your viscosity
profile is set up correctly. You can do this by switching off the Stokes
solver and prescribe a velocity solution. This way you can check the
output files for viscosity. You can do this by adding the following to
the input file:

set Nonlinear solver scheme = single Advection, no Stokes

subsection Prescribed Stokes solution
set Model name = function

You also need to comment out all velocity boundary conditions (they are
not needed if you prescribe velocity everywhere).

If the viscosity looks correct, try the following: In general we have
seen that convergence got much better with higher resolutions, but for
that we of course need a good refinement strategy (to only resolve areas
of interest, viscosity is always a good refinement strategy for this
type of problems). Another solution we found during this year’s
hackathon was to set the following solver properties:

subsection Solver parameters
subsection Stokes solver parameters
set GMRES solver restart length = 200 # The default is 50

This seemed to help with the kind of convergence problem you are
encountering, but will need a bit more memory. If it works, it will
likely also resolve your point 2. Give it a try and let me know how it
goes, we were thinking of writing a recommendation for this setting.
Unfortunately we can not make it the default setting, as the increased
memory consumption limits ASPECT’s usability for other problems.




I just noticed that the original message was removed when forwarding this to the forum. This was the original question:

Hi Rene,

How are you doing?

I have couple questions just in case someone has inquire before or if you have experience it yourself and if you can give me suggestions to circumvent it.

1). The first bottle neck I am experiencing is that when I used the S40RTS plugin with depth dependent viscosity, my solution never converges. Seems there is an exponential increase in the stokes solver iteration solution. Its even worst with depth dependent vs to density scaling and depth dependent viscosity combined. (e.g. Iterative method reported convergence failure in step 1000. The residual in the last step was 1.86594e+16.)

2). So you can image using temperature dependent viscosity will not get anywhere with the above complexities. I did try using the averaging material properties here (Harmonic average) but still could not get a solution. In cases where I lowered the complexities, tolerance level and resolution to have a convergence, the output is far from what is expected. Also, what I am interested is the output viscosity which is severely altered by the material averaged technique.

I hope you can help me out on this. I have spent almost 2 months but there seems not be a break through.

Best regards,



Hi Rene,

Thank you for the help.

I have tried your suggestions and the first case seems to work very fine. I am able to get somehow the required viscosity structure for both radial and laterally varying cases. I have attached their cross sections here for you to see.

However, including the stoke solution with your second suggestions does not solve the problem. There is still the convergence problem.
subsection Solver parameters
subsection Stokes solver parameters
set GMRES solver restart length = 200 # The default is 50
I am using a global refinement of 6 with memory allocation of 2T but can not get a solution or you think I will need a much high resolution to have a convergence?




Hmm, a refinement of 6 should easily be able to handle these viscosity variations. For most of the models we ran we had similar variations and only used a refinement of 5 (in the boundary layers and upper mantle) to 3 (in the lower mantle). See for example the application model files we used in the ASPECT 2 paper (

Maybe comparing your model with our setup will help you figure out what is going on.