SpECTRE
v2025.03.17
|
ERROR if tensors get too big. More...
#include <ErrorIfDataTooBig.hpp>
Classes | |
struct | Threshold |
struct | VariablesToCheck |
Public Member Functions | |
ErrorIfDataTooBig (const std::vector< std::string > &variables_to_check, const double threshold, const Options::Context &context) | |
template<typename ComputeTagsList , typename DataBoxType , typename Metavariables , typename ArrayIndex , typename ParallelComponent > | |
void | operator() (const ObservationBox< ComputeTagsList, DataBoxType > &box, const tnsr::I< DataVector, Dim > &coordinates, Parallel::GlobalCache< Metavariables > &, const ArrayIndex &, const ParallelComponent *const, const ObservationValue &) const |
template<typename Metavariables , typename ArrayIndex , typename Component > | |
bool | is_ready (Parallel::GlobalCache< Metavariables > &, const ArrayIndex &, const Component *const) const |
bool | needs_evolved_variables () const override |
Whether the event uses anything depending on the evolved_variables. If this returns false, anything depending on the evolved variables may have an incorrect value when the event is run. More... | |
void | pup (PUP::er &p) override |
![]() | |
Event (CkMigrateMessage *msg) | |
WRAPPED_PUPable_abstract (Event) | |
template<typename ComputeTagsList , typename DataBoxType , typename Metavariables , typename ArrayIndex , typename ComponentPointer > | |
void | run (const gsl::not_null< ObservationBox< ComputeTagsList, DataBoxType > * > box, Parallel::GlobalCache< Metavariables > &cache, const ArrayIndex &array_index, const ComponentPointer, const ObservationValue &observation_value) const |
template<typename DbTags , typename Metavariables , typename ArrayIndex , typename ComponentPointer > | |
bool | is_ready (const db::DataBox< DbTags > &box, Parallel::GlobalCache< Metavariables > &cache, const ArrayIndex &array_index, const ComponentPointer) const |
virtual bool | needs_evolved_variables () const =0 |
Whether the event uses anything depending on the evolved_variables. If this returns false, anything depending on the evolved variables may have an incorrect value when the event is run. More... | |
Static Public Attributes | |
static constexpr Options::String | help = "ERROR if tensors get too big" |
ERROR if tensors get too big.
The magnitudes of the components of the specified tensors are checked, and if any exceed the specified threshold an ERROR is thrown, terminating the evolution.
Any Tensor
in the db::DataBox
can be checked but must be listed in the Tensors
template parameter. Any additional compute tags that hold a Tensor
can also be added to the Tensors
template parameter. Finally, Variables
and other non-tensor compute tags used to calculate tensors can be listed in the NonTensorComputeTags
.
NonTensorComputeTags
are intended to be used for Variables
compute tags like Tags::DerivCompute
|
inlineoverridevirtual |
Whether the event uses anything depending on the evolved_variables. If this returns false, anything depending on the evolved variables may have an incorrect value when the event is run.
Implements Event.