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 0 : 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