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 <unordered_map> 8 : 9 : #include "DataStructures/LinkedMessageId.hpp" 10 : #include "Domain/FunctionsOfTime/FunctionOfTime.hpp" 11 : #include "ParallelAlgorithms/ApparentHorizonFinder/Storage.hpp" 12 : 13 : /// \cond 14 : template <size_t VolumeDim> 15 : class Domain; 16 : template <size_t VolumeDim> 17 : class ElementId; 18 : namespace gsl { 19 : template <class T> 20 : class not_null; 21 : } // namespace gsl 22 : /// \endcond 23 : 24 : namespace ah { 25 : /*! 26 : * \brief Interpolate volume data from any new elements received by the horizon 27 : * finder to the target points. 28 : * 29 : * \details For each new element, the `vars_to_interpolate_to_target` in 30 : * \p all_volume_variables are interpolated to the target points and stored 31 : * in \p current_iteration_storage. 32 : */ 33 : template <typename Fr> 34 1 : bool interpolate_volume_data( 35 : gsl::not_null<ah::Storage::Iteration<Fr>*> current_iteration_storage, 36 : const ah::Storage::VolumeVariables<Fr>& volume_vars_storage, 37 : const ElementId<3>& element_id); 38 : } // namespace ah