ErrorOnFailedApparentHorizon.hpp
1// Distributed under the MIT License.
2// See LICENSE.txt for details.
3
4#pragma once
5
6#include "ApparentHorizons/FastFlow.hpp"
9
10/// \cond
11namespace db {
12template <typename DbTags>
13class DataBox;
14} // namespace db
15namespace Parallel {
16template <typename Metavariables>
17class GlobalCache;
18} // namespace Parallel
19/// \endcond
20
21namespace intrp::callbacks {
22
23/// \brief Callback for a failed apparent horizon find that simply errors.
25 template <typename InterpolationTargetTag, typename DbTags,
26 typename Metavariables, typename TemporalId>
27 static void apply(const db::DataBox<DbTags>& /*box*/,
29 const TemporalId& /*temporal_id*/,
30 const FastFlow::Status failure_reason) noexcept {
31 ERROR("Apparent horizon finder "
32 << pretty_type::short_name<InterpolationTargetTag>()
33 << " failed, reason = " << failure_reason);
34 }
35};
36
37} // namespace intrp::callbacks
Defines macro ERROR.
Contains a pretty_type library to write types in a "pretty" format.
A Charm++ chare that caches constant data once per Charm++ node or non-constant data once per Charm++...
Definition: GlobalCache.hpp:273
#define ERROR(m)
prints an error message to the standard error stream and aborts the program.
Definition: Error.hpp:37
Functionality for parallelization.
Definition: ElementReceiveInterpPoints.hpp:13
Namespace for DataBox related things.
Definition: DataBox.hpp:45
Contains callback functions called by InterpolationTargets.
Definition: Callbacks.hpp:11
Callback for a failed apparent horizon find that simply errors.
Definition: ErrorOnFailedApparentHorizon.hpp:24