Temperature issues in 3D spherical geometries

Hi all,
I’ve been experiencing issues in the temperature field while using 3D spherical geometries (both the 3D chunk and 3D spherical shell). I’m using a temperature dependent viscosity from the simple material model in a fairly simple mantle convection set up. The two issues are that even though I have the outer and inner boundaries set to prescribed temps (273 and 2000K respectively) the min and max temperatures will exceed those bounds reaching negative temps and some several hundred degrees higher, and I am seeing oscillations in both the temperature and viscosity in visualizations.

The oscillations were somewhat near the boundaries so Rene suggested trying discontinuous temperature discretization, and testing on the 90 degree opening of the 3D spherical shell. The discontinuous temperature discretization case had the same issues and the temperature would exceed the prescribed global temperature minimum and maximums, especially along the boundaries

I tested the 90 degree opening with both an isoviscous (simpler material model) and temperature dependent viscosity (simple material model) case and it also had issues with the temperatures running out of control in both cases.

This is the header with the Aspect and deal.ii version as well.

Hi Erin,

Thanks for posting this to the forum!

Just to be sure, when you say your are using the discontinuous temperature discretization does the input file look something like this?:

subsection Discretization
  set Use discontinuous temperature discretization = true
  subsection Stabilization parameters
    set Use limiter for discontinuous temperature solution = true
    set Global temperature maximum = 2000
    set Global temperature minimum = 273

I was not aware that the DG + limiter worked in spherical geometries yet, but even if it does run there clearly still seems to be issues.

You could also try switching the temperature stabilization method from entropy viscosity to SUPG, but my recollection is that SUPG will tend to give larger over/under shoots. However, I have not tried SUPG and I may well be wrong about this.

subsection Discretization
  subsection Stabilization parameters
    set Stabilization method = SUPG

A more general series of questions to try and understand the origin of the temperature overshoots/undershoots:

  1. Does the magnitude of over/undershoots decrease if the CFL value is reduced? Likewise does decreasing or increasing the resolution have any effect?
  2. Do you see the same issue if you run the equivalent setup in a cartesian geometry?

This may be a good topic to discuss at one of the bi-weekly ASPECT user meetings if you can join.


Hi John,
Yes, that is what I have for the discontinuous temperature discretization, I didn’t know that it might not work in spherical. I have tried SUPG and it did have the same temperature issues as entropy viscosity. I haven’t tried changing the CFL on these models but I’ll do some runs with that. I haven’t seen this issue in a box model or a 2D cylindrical but I ran a 2D chunk model, which is a technically a cylindrical section in a cartesian coordinate system and saw the same oscillations and temperature issues as well.

Can you attach a simple prm that illustrates the problem with a 2D chunk geometry? Or another model that would be relatively inexpensive to run?


Hey Bob, here is the parameter file for the 2D chunk that had issues. The temperature field on visualization looks pretty good, in the min/max temperature output you can see the temperature is going out of bounds, and the viscosity will show oscillation issues even with a dense finite mesh. The best example of that was at visualization output 348.
2D_chunk_test.prm (5.2 KB)

Hi Erin,

John and I think the biggest problem in your simulations is the temperature field. At the moment, all your prms have a step change in temperature on the order of 1000-2000 K at the boundaries. That results in a step change in density for the simple(r) material model. The 2D visco plastic model you uploaded generates temperature oscillations that propagate rapidly through the model.

We think that smoothing the initial temperature field near to the boundaries would go a long way to stabilising your simulations. Let us know if that doesn’t solve the problem.

Best wishes,

Hi Erin,

To follow on Bob’s message above and my original response, a few more thoughts and comments:

DG + Spherical Shell

There is indeed a test for DG + a spheric shell in the ASPECT test directory: aspect/discontinuous_temperature_spherical_shell_3d.prm at master · geodynamics/aspect · GitHub.

However, I did not see a test that also includes the limiter, and I do not recall seeing a study using these features. The original paper on DG can be found here:

It may be a good to do a few very basic tests (i.e., model with constant viscosity) to make sure these features are working as expected? Adding more documentation and tests could be a good Hackathon project as well for someone. A link to the original paper on DG:

Temperature Fluctuations and Non-Linear Rheology:
As long as you are not using compositional fields to track quantities like strain or elastic stresses, you can use a non-linear solver scheme that also does advection (temperature, composition) iterations. This may help reduce propagation of feedbacks between temperature over/under shoots and the non-linear viscosity. Happy to discuss this further.

Please let us know how things go with the suggested tests!


Just to summarize my previous discussion with Erin (to avoid duplication): I could imagine that the Chunk issues are related to Residual velocities in Chunk Geometry model · Issue #1671 · geodynamics/aspect · GitHub. We thought we had fixed all remaining issues with the chunk manifold, but maybe there is still more.

The concerning part to me are the oscillations for the spherical shell, because that is certainly something else. @eheilman do you happen to have the input file for that? We should probably focus on that first, because it may fix both issues.

Yes, these are the two parameter files I used, one for the isoviscous case and one for the simple temperature dependent case.
3D_sphere_90_simple.prm (4.0 KB)
3D_sphere_90_isoviscous.prm (3.5 KB)
I also just ran the shell_simple_3d cookbook file as a test and it also had min and max temperatures exceeding the fixed temperature boundary indicators, so maybe that’s just something that happens?