Skip to content

Conversation

@asartori86
Copy link
Contributor

No description provided.

@asartori86
Copy link
Contributor Author

@luca-heltai @ESeNonFossiIo @nicola-giuliani

ogni quanto sarebbe da fare un checkpoint?

io lo genererei quando chiamo output_step, voi avete suggerimenti migliori?

bool resume_computation;

/**
* folder used for read and store snapshots
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

for -> to

folder -> Folder

@luca-heltai
Copy link
Contributor

per ora fallo ad ogni generazione di output.

@asartori86
Copy link
Contributor Author

I've found the bug! now it works!

@asartori86
Copy link
Contributor Author

una domanda di design. Sto risolvendo per nell'intervallo temporale [0,1]. la mia simulazione si interrompe a 0.55. la domanda è questa. così come è ora, carica la soluzione e mesh che avevo a 0.55 ma poi riparte sempre da t=0 perché gli stepper lo leggono da file di parametri.

secondo voi quale sarebbe la scelta più giusta?

  1. fare in ida e imex delle funzioni set_initial_time(const double &t)
  2. cambiare nel file di parametri in modo che initial time = 0.55?
  3. altro :)

@luca-heltai
Copy link
Contributor

Sia 1. che 2. Nel file di parametri dovrebbe essere possibile specificare di girare la simulazione tra [1, T], per esempio, non solo tra [0, T]. Il tempo corrente (e il numero di output) devono essere salvati nel checkpoint, e al momento del restart, la simulazione deve essere esattamente come se non fosse stata mai interrotta, independentemente da cosa c'e' nel file di parametri come tempo iniziale.

Expected Behaviour:

set Initial time = 1.0
set Final time = 10.00
set Restore from last chekcpoint = true

In questo caso la simulazione deve ignorare Initial time dato da file di parametri, deve leggere initial time nei file di checkpoint restart (e il numero di output file da cui partire), e andare avanti da li', tirando una eccezione se il tempo letto dal checkpoint è < di initial time (questo non è possibile, perché vorrebbe dire che un file di parametri diverso è stato usato per far partire la simulazione che aveva salvato la soluzione).

Ai fini dell'utente finale, non deve essere possibile distinguere se la simulazione sia stata interrotta in passato. I file di output devono essere numerati giusti, il tempo deve essere quello giusto.

Devo poter far partire una simulazione, salta la corrente, e riprendo da dove sono arrivato con l'ultimo check point, senza che vengano sovrascritti files, etc.

@luca-heltai
Copy link
Contributor

Soprattutto, devo poter ripartire se ulisse mi ha buttato fuori perché non ho stimato bene il walltime...

*/
template <class Archive>
void serialize (Archive &ar, const unsigned int /*version*/)
{
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please move the implementation in the cc file.

@asartori86
Copy link
Contributor Author

superseded by #193

@asartori86 asartori86 closed this May 31, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants