geodynamics / aspect

A parallel, extensible finite element code to simulate convection in both 2D and 3D models.
https://aspect.geodynamics.org/
Other
224 stars 235 forks source link

Implement a binary output based on a checkpoint-like file. #832

Open egpuckett opened 8 years ago

egpuckett commented 8 years ago

I'm making public an email discussion that @hlokavarapu and @egpuckett have been having with @bangerth, @tjhei, and @gassmoeller concerning outputting the state of an ASPECT computation at each time step (or predefined time steps) by using parts of the code / routines / structure in ASPECT that currently outputs the checkpoint files. Currently @hlokavarapu and @egpuckett are principally interested in outputting just enough information so that we can read in the velocity field and time step at each time step in a later reduced computation that does not include a Stokes solve or a temperature solve. Currently @tjhei has recommended that we

Take the part inside checkpointing that saves the solution+mesh (Triangulation::save()) and put it into a postprocessor.

bangerth commented 8 years ago

I think it depends on what exactly you want to achieve. In principle, you could just output the solution vector in a binary form, and load it back in every time step. Ideally (at least if you had the same number of processors), you should then get the same mesh history if you did not solve the Stokes equation the second time around. Would that work?

tjhei commented 8 years ago

The reason I proposed using Triangulation::save() is a) it allows changing the number of processors when "playing back" and b) you don't have to invent a way to write out vectors to disk (at least I think there is currently no good way implemented for Trilinos vectors).

hlokavarapu commented 8 years ago

872

Work in Progress - (missing label)