SpECTRE
v2025.03.17
|
Observe the desired decisions of AMR criteria. More...
#include <ObserveAmrCriteria.hpp>
Public Types | |
using | compute_tags_for_observation_box = implementation defined |
using | return_tags = implementation defined |
using | argument_tags = implementation defined |
![]() | |
using | options = implementation defined |
using | observation_registration_tags = implementation defined |
using | is_ready_argument_tags = implementation defined |
Public Member Functions | |
ObserveAmrCriteria (const std::string &subfile_name, ::FloatingPointType coordinates_floating_point_type, ::FloatingPointType floating_point_type) | |
template<typename DataBoxType , typename ComputeTagsList , typename ParallelComponent > | |
void | operator() (const ObservationBox< DataBoxType, ComputeTagsList > &box, Parallel::GlobalCache< Metavariables > &cache, const ElementId< Metavariables::volume_dim > &element_id, const ParallelComponent *const component, const Event::ObservationValue &observation_value) 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 |
![]() | |
ObserveConstantsPerElement (const std::string &subfile_name, ::FloatingPointType coordinates_floating_point_type, ::FloatingPointType floating_point_type) | |
std::optional< std::pair< observers::TypeOfObservation, observers::ObservationKey > > | get_observation_type_and_key_for_registration () const |
bool | is_ready (const double time, Parallel::GlobalCache< Metavariables > &cache, const ArrayIndex &array_index, const Component *const component) const |
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 size_t | volume_dim = Metavariables::volume_dim |
static constexpr Options::String | help |
Additional Inherited Members | |
![]() | |
std::vector< TensorComponent > | allocate_and_insert_coords (size_t number_of_constants, double time, const std::unordered_map< std::string, std::unique_ptr< domain::FunctionsOfTime::FunctionOfTime > > &functions_of_time, const Domain< VolumeDim > &domain, const ElementId< VolumeDim > &element_id) const |
Creates the vector of tensor components that will be observed and starts to fill it with the inertial coordinates. More... | |
void | add_constant (gsl::not_null< std::vector< TensorComponent > * > components, std::string name, double value) const |
Adds a TensorComponent to components with the given name and the given value. More... | |
void | observe (std::vector< TensorComponent > components, Parallel::GlobalCache< Metavariables > &cache, const ElementId< VolumeDim > &element_id, const ParallelComponent *, const ObservationValue &observation_value) const |
Observes the components as volume data. | |
Observe the desired decisions of AMR criteria.
The event will return a vector of decisions (an independent choice in each logical dimension) for each of the AMR criteria. These are the raw choices made by each AMR critera, not taking into account any AMR policies. Each element is output as a single cell with two points per dimension and the observation constant on all those points. The decisions are converted to values as follows (in each logical dimension):
|
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.
|
staticconstexpr |