Restarting Advection Reaction Solver for Age Equation

Extension of Elmer in computational glaciology
Post Reply
Reinhard
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: http://elmerice.elmerfem.org/wiki/doku. ... 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
Attachments
first_iteration_after_restart.jpg
Spurious Lineations after Restart
(62.33 KiB) Not downloaded yet
last_iteration_restart_file.jpg
Age field as saved to Restart file
(49.4 KiB) Not downloaded yet
tzwinger
Site Admin
Posts: 99
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,

Thomas
Post Reply