Restarting Advection Reaction Solver for Age Equation

Extension of Elmer in computational glaciology
Post Reply
Posts: 4
Joined: 24 Apr 2013, 14:44
Antispam: Yes

Restarting Advection Reaction Solver for Age Equation

Post by Reinhard »

Hi Elmers,

I have a small problem with solving the Age Equation: I implemented the Advection-Reaction Solver as in the Example described here: ... ers:dating and it works fine. Using the same solver in combination with a Restart File from a previous run gives me trouble:

For restarting, I save the "DGAge" variable to the output file by replacing <Variable = -nooutput "DGAge" > with <Variable = String "DGAge"> in the Advection-Reaction solver (otherwise the Age-field is not initialized at all and starts from zero). I can see the "DGAge" variable in the output file and it has the dimensions of the DG-mesh (number_of_elements * nodes_per_element). However, when I look at the first iteration of the restarted run, the "Age" field (the exported variable) has some spurious lineations as shown in the attached image. The example is for a parallel run with 5 partions, in a serial run I only get the lineations once at the left side of the domain. All other variables (Depth, Temperature,..) are ok. I supppose it has something to do on how-to initialize DG Variables as discussed here: viewtopic.php?f=7&t=3066, but I did not find an example using a Restart File. Is there an easy way to use restart files in combination with the Advection-Reaction Solver or do I need to adapt the InitializeDGVariable.f90 Solver?

Greetings, Reinhard
Spurious Lineations after Restart
(62.33 KiB) Not downloaded yet
Age field as saved to Restart file
(49.4 KiB) Not downloaded yet
Site Admin
Posts: 97
Joined: 24 Aug 2009, 12:20
Antispam: Yes

Re: Restarting Advection Reaction Solver for Age Equation

Post by tzwinger »

Dear Reinhard,
there seems to be an issue with rereading a DG solution into a parallel setup - I presume your wiggles of the reread age profile coincide with domain boundaries, right? - but the DG stuff anyhow comes with a big warning attached to it.

As I understand it, your idea of using Olivier's solution actually might help you. If you write out your previous solution using a standard permutation, then reload it and use Olivier's solver to distribute it to a DG variable which you then further use to continue your computation might make your day. This works of course only well if you have no jumps in your DG solution.

Alternatively, I think Carlos Martín has a very well working Semi-Lagrangian solver for age/depth horizons that works on the basis of a regular (one value/node) and hence correctly re-readable variable.

Best wishes,

Post Reply