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 <optional> 8 : #include <tuple> 9 : #include <utility> 10 : 11 : #include "DataStructures/DataBox/Access.hpp" 12 : #include "DataStructures/DataVector.hpp" 13 : #include "Domain/Structure/DirectionalIdMap.hpp" 14 : #include "NumericalAlgorithms/Spectral/Mesh.hpp" 15 : #include "Time/TimeStepId.hpp" 16 : #include "Utilities/Gsl.hpp" 17 : 18 : namespace evolution::dg::subcell { 19 : /*! 20 : * \brief Copies the neighbors' TCI decisions into 21 : * `subcell::Tags::NeighborTciDecisions<Dim>` 22 : */ 23 : template <size_t Dim> 24 1 : void neighbor_tci_decision( 25 : gsl::not_null<db::Access*> box, 26 : const std::pair< 27 : const TimeStepId, 28 : DirectionalIdMap< 29 : Dim, std::tuple<Mesh<Dim>, Mesh<Dim - 1>, std::optional<DataVector>, 30 : std::optional<DataVector>, ::TimeStepId, int>>>& 31 : received_temporal_id_and_data); 32 : } // namespace evolution::dg::subcell