Line data Source code
1 0 : // Distributed under the MIT License.
2 : // See LICENSE.txt for details.
3 :
4 : #pragma once
5 :
6 : #include "DataStructures/DataBox/Tag.hpp"
7 : #include "Time/OptionTags/InitialTime.hpp"
8 : #include "Utilities/TMPL.hpp"
9 :
10 : namespace Tags {
11 : /// \ingroup DataBoxTagsGroup
12 : /// \ingroup TimeGroup
13 : /// \brief Tag for the current time as a double
14 : ///
15 : /// The meaning of "current time" varies during the algorithm, but
16 : /// generally is whatever time is appropriate for the calculation
17 : /// being run. Usually this is the substep time, but things such as
18 : /// dense-output calculations may temporarily change the value.
19 1 : struct Time : db::SimpleTag {
20 0 : using type = double;
21 0 : using option_tags = tmpl::list<OptionTags::InitialTime>;
22 :
23 0 : static constexpr bool pass_metavariables = false;
24 0 : static double create_from_options(const double initial_time) {
25 : return initial_time;
26 : }
27 : };
28 : } // namespace Tags
|