Development Update March 2019

Hi all,
It has been a while since the last development update, but in my opinion we had some significant improvements in the last months that might be missed in the many items of the newsletter, so I would like to emphasize them a bit:

  1. As discussed in the online user meetings last year, we now show all available ASPECT intput parameters online at (there is a link from to this site). The web-view is more interactive and easier to browse than the Chapter in the manual, and should make it simpler to see which options are available. You can click on subsections to expand them, and on parameters to show their documentation. The parameters will be updated periodically in sync with the manual we link to from the website. If you have suggestions for improvements (or know something about web development and want to improve design or functionality) let us know or write a pull request to the www branch of the ASPECT repository.

  2. We recently merged some pull requests that increase the output resolution of the dynamic topography, geoid, and heat flux visualization output (the one in the vtk, hdf5, or gnuplot files). If you are interested in the visualization output of any of these quantities you should consider updating your ASPECT version. The heat flux option is disabled by default, but can be safely enabled as long as you have no prescribed heat flux boundary and no material flow through the boundary you are interested in. The old output was not wrong, but it was cell-wise constant, which is a poorer approximation to the real values.

  3. Ludovic Jeanniot contributed a nonlinear solver scheme called no Advection, no Stokes that does not solve the equations, but just outputs the initial condition. This is very helpful if you are stuck with a model setup where the solver does not converge, and you do not why. Having an output of the initial condition can show you if there is a problem with one of your settings (e.g. if density becomes 0, or your viscosity variation is bigger than expected, or you prescribe inflow on all boundaries).

  4. Jon Robey implemented an alternative method to advect compositional fields. It is called Volume-of-fluid method and is relatively cheap and extremely effective at advecting sharp boundaries between compositions without numerical diffusion. There is currently little documentation, and it is limited to 2D box models, but there are a few test cases in the tests folder that might act as starting point if your problem is suitable for this method.

  5. There is an open pull request that I would like to bring up for a discussion with the broader community, because I would like feedback on it. For a while we had the option to increase the visualization resolution compared to the grid ASPECT computes on. The reasoning for that is that internally ASPECT uses quadratic polynomials to approximate most variables (except pressure), and Paraview only visualizes them as linear functions. This means the actual solution is more accurate than what you see in Paraview. Using this method evaluates the variable at the mid-points of each cell and face and splits all cells into smaller output cells. The result is a more accurate output that resolves smaller features for essentially no additional cost. However, it might be confusing to have a different number of cells in the output than in the computation. I would welcome opinions on this, and if you did not know about the setting, I encourage you to test it, it is in the subsection Visualization and the parameter is called Interpolate output. The pull request is here:

That is it for today, let us know below if you have comments or questions about the features, and thanks for reading.

Can you link to the open pull request?

deal.II has also recently learned the ability to output data as higher
order polynomials. It is apparently a bit of a pain to get this to show
in Paraview, but it might be interesting to see whether this could be
enabled in deal.II!


I added it in the post above. I also saw the deal.II option for higher order output, but my understanding was that one needs a relatively new paraview option to be able to use it, and I thought this is something we can not require for a while. Also see issue I agree this would likely be the cleaner solution, I just do not know if it is practical.

I know that it’s not in current Paraview, but in a year or two everyone is going to have a sufficiently new one. I’m not arguing against your change, but wonder whether it’s worth the change now if we could as well do it right (higher order output) in a year or so.

I do appreciate that the subdivided output is substantially more accurate in places where there is a lot of curvature in the data. I suspect that these are exactly the places one cares most about and zooms in closest to see what’s going on. So your change does make some sense!

I agree that using the higher order output is a nice supplementary option. They can also be nicely combined if using the higher order output for new Paraview versions and using the interpolated output for older versions or hdf5 output. In a few years we could then remove the interpolate option and simply always use the higher order output, which removes the confusion about the difference between solution mesh and output mesh.

From the replies on github and here I gather having both options (interpolated output and higher order cell output) as input parameters is the way to go, with the interpolated output on by default, and the higher order output off until Paraview versions >=5.5 are common. Did I summarize this correctly?

That seems like a reasonable course of action.