Line data Source code
1 0 : // Distributed under the MIT License. 2 : // See LICENSE.txt for details. 3 : 4 : #pragma once 5 : 6 : #include <string> 7 : #include <unordered_map> 8 : 9 : #include "Options/Auto.hpp" 10 : #include "Options/String.hpp" 11 : 12 0 : namespace domain::FunctionsOfTime::OptionTags { 13 : /*! 14 : * \ingroup OptionGroupsGroup 15 : * \brief Groups options for reading in FunctionOfTime data from SpEC 16 : */ 17 1 : struct CubicFunctionOfTimeOverride { 18 0 : static constexpr Options::String help{ 19 : "Options for importing FunctionOfTimes from SpEC"}; 20 : }; 21 : 22 : /*! 23 : * \brief Path to an H5 file containing SpEC FunctionOfTime data 24 : */ 25 1 : struct FunctionOfTimeFile { 26 0 : using type = Options::Auto<std::string, Options::AutoLabel::None>; 27 0 : static constexpr Options::String help{ 28 : "Path to an H5 file containing SpEC FunctionOfTime data"}; 29 0 : using group = CubicFunctionOfTimeOverride; 30 : }; 31 : 32 : /*! 33 : * \brief Pairs of strings mapping SpEC FunctionOfTime names to SpECTRE names 34 : */ 35 1 : struct FunctionOfTimeNameMap { 36 0 : using type = std::map<std::string, std::string>; 37 0 : static constexpr Options::String help{ 38 : "String pairs mapping spec names to spectre names"}; 39 0 : using group = CubicFunctionOfTimeOverride; 40 : }; 41 : } // namespace domain::FunctionsOfTime::OptionTags