Line data Source code
1 0 : // Distributed under the MIT License. 2 : // See LICENSE.txt for details. 3 : 4 : #pragma once 5 : 6 : #include <cstdint> 7 : #include <iosfwd> 8 : 9 : /// \cond 10 : namespace Options { 11 : class Option; 12 : template <typename T> 13 : struct create_from_yaml; 14 : } // namespace Options 15 : /// \endcond 16 : 17 : /// Version of local time-stepping in use 18 1 : enum class LtsMode : uint8_t { 19 : /// Global time-stepping 20 : Off, 21 : /// Conservative local time-stepping using an LtsTimeStepper 22 : Conservative, 23 : }; 24 : 25 0 : std::ostream& operator<<(std::ostream& os, LtsMode value); 26 : 27 : template <> 28 0 : struct Options::create_from_yaml<LtsMode> { 29 : template <typename Metavariables> 30 0 : static LtsMode create(const Options::Option& options) { 31 : return create<void>(options); 32 : } 33 : }; 34 : 35 : template <> 36 0 : LtsMode Options::create_from_yaml<LtsMode>::create<void>( 37 : const Options::Option& options);