ryujin
2.5.0 revision c64172211cf21344cb9b9b0f3a1266aa6400d392
Loading...
Searching...
No Matches
include
ryujin
driver
checkpointing.h
Go to the documentation of this file.
1
//
2
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
3
// Copyright (C) 2026 by the ryujin authors
4
//
5
6
#pragma once
7
8
#include <ryujin/base/compile_time_options.h>
9
#include <
ryujin/interface/simulation.h
>
10
#include <
ryujin/interface/task.h
>
11
12
#include <deal.II/base/parameter_acceptor.h>
13
14
#include <string>
15
16
namespace
ryujin
17
{
30
template
<
int
dim,
typename
Number =
double
>
31
class
Checkpointing
final :
public
dealii::ParameterAcceptor,
32
public
Interface::Task
<Number>
33
{
34
public
:
38
Checkpointing
(
Interface::Simulation<dim, Number>
&simulation,
39
const
std::string &subsection =
"/Checkpointing"
);
40
45
51
void
start
(
TaskContext<Number>
&context)
override
;
52
56
void
execute
(
TaskContext<Number>
&context)
override
;
57
61
void
finalize
(
TaskContext<Number>
&context)
override
;
62
64
65
private
:
70
71
bool
resume_;
72
bool
resume_at_time_zero_;
73
75
79
80
Trigger<Number>
trigger_;
81
82
Interface::Simulation<dim, Number>
&simulation_;
83
85
89
93
void
write_checkpoint(
const
TaskContext<Number>
&context);
94
96
};
97
}
// namespace ryujin
ryujin::Checkpointing
Definition
checkpointing.h:33
ryujin::Checkpointing::finalize
void finalize(TaskContext< Number > &context) override
ryujin::Checkpointing::Checkpointing
Checkpointing(Interface::Simulation< dim, Number > &simulation, const std::string &subsection="/Checkpointing")
ryujin::Checkpointing::start
void start(TaskContext< Number > &context) override
ryujin::Checkpointing::execute
void execute(TaskContext< Number > &context) override
ryujin::Interface::Simulation
Definition
simulation.h:48
ryujin::Interface::Task
Definition
task.h:343
ryujin::Trigger
Definition
task.h:217
simulation.h
ryujin
Definition
computing_timer.h:22
ryujin::TaskContext
Definition
task.h:119
task.h
Generated by
1.9.8