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 <cstdint> 8 : #include <map> 9 : #include <vector> 10 : 11 : #include "DataStructures/DataBox/Tag.hpp" 12 : #include "Time/TimeStepRequestProcessor.hpp" 13 : 14 0 : namespace Tags::ChangeSlabSize { 15 : /// Sizes requested for each slab by ChangeSlabSize events. 16 1 : struct NewSlabSize : db::SimpleTag { 17 0 : using type = std::map<int64_t, std::vector<TimeStepRequestProcessor>>; 18 : }; 19 : 20 : /// Number of ChangeSlabSize events changing the size at each slab. 21 1 : struct NumberOfExpectedMessages : db::SimpleTag { 22 0 : using type = std::map<int64_t, size_t>; 23 : }; 24 : 25 : /// Long-term desired slab size. Used as the default size if nothing 26 : /// chooses a smaller one. 27 1 : struct SlabSizeGoal : db::SimpleTag { 28 0 : using type = double; 29 : }; 30 : } // namespace Tags::ChangeSlabSize