Line data Source code
1 0 : // Distributed under the MIT License.
2 : // See LICENSE.txt for details.
3 :
4 : #pragma once
5 :
6 : #include <cstddef>
7 : #include <type_traits>
8 :
9 : #include "ParallelAlgorithms/Events/ErrorIfDataTooBig.hpp"
10 : #include "ParallelAlgorithms/Events/ObserveAdaptiveSteppingDiagnostics.hpp"
11 : #include "ParallelAlgorithms/Events/ObserveFields.hpp"
12 : #include "ParallelAlgorithms/Events/ObserveNorms.hpp"
13 : #include "ParallelAlgorithms/Events/ObserveTimeStep.hpp"
14 : #include "Time/ChangeSlabSize/Event.hpp"
15 : #include "Utilities/TMPL.hpp"
16 :
17 : namespace dg::Events {
18 : template <size_t VolumeDim, typename Fields, typename NonTensorComputeTagsList,
19 : typename ArraySectionIdTag = void>
20 0 : using field_observations = tmpl::flatten<tmpl::list<
21 : ::Events::ErrorIfDataTooBig<VolumeDim, Fields, NonTensorComputeTagsList>,
22 : ObserveFields<VolumeDim, Fields, NonTensorComputeTagsList,
23 : ArraySectionIdTag>,
24 : ::Events::ObserveNorms<Fields, NonTensorComputeTagsList,
25 : ArraySectionIdTag>>>;
26 : } // namespace dg::Events
27 :
28 : namespace Events {
29 : template <typename System>
30 0 : using time_events =
31 : tmpl::list<Events::ObserveAdaptiveSteppingDiagnostics,
32 : Events::ObserveTimeStep<System>, Events::ChangeSlabSize>;
33 : } // namespace Events
|