Line data Source code
1 0 : // Distributed under the MIT License. 2 : // See LICENSE.txt for details. 3 : 4 : #pragma once 5 : 6 : #include "Evolution/Systems/GeneralizedHarmonic/AllSolutions.hpp" 7 : #include "Evolution/Systems/GrMhd/GhValenciaDivClean/Actions/SetInitialData.hpp" 8 : 9 : // Check if SpEC is linked and therefore we can load SpEC initial data 10 : #ifdef HAS_SPEC_EXPORTER 11 : #include "PointwiseFunctions/AnalyticData/GrMhd/SpecInitialData.hpp" 12 : using SpecInitialDataList = tmpl::list<grmhd::AnalyticData::SpecInitialData<1>, 13 : grmhd::AnalyticData::SpecInitialData<2>>; 14 : #else 15 0 : using SpecInitialDataList = NoSuchType; 16 : #endif 17 : 18 : // Check if FUKA is linked and therefore we can load FUKA initial data 19 : #ifdef HAS_FUKA_EXPORTER 20 : #include "PointwiseFunctions/AnalyticData/GrMhd/FukaInitialData.hpp" 21 : using FukaInitialDataList = tmpl::list<grmhd::AnalyticData::FukaInitialData>; 22 : #else 23 0 : using FukaInitialDataList = NoSuchType; 24 : #endif 25 : 26 0 : namespace ghmhd::GhValenciaDivClean::InitialData { 27 : // These are solutions that can be used for analytic prescriptions 28 0 : using analytic_solutions_and_data_list = gh::ghmhd_solutions; 29 0 : using initial_data_list = tmpl::flatten<tmpl::list< 30 : analytic_solutions_and_data_list, 31 : tmpl::flatten<tmpl::list< 32 : grmhd::GhValenciaDivClean::NumericInitialData, 33 : tmpl::conditional_t<std::is_same_v<SpecInitialDataList, NoSuchType>, 34 : tmpl::list<>, SpecInitialDataList>, 35 : tmpl::conditional_t<std::is_same_v<FukaInitialDataList, NoSuchType>, 36 : tmpl::list<>, FukaInitialDataList>>>>>; 37 : } // namespace ghmhd::GhValenciaDivClean::InitialData