|
| ObserveVolumeIntegrals (const std::string &subfile_name) |
|
template<typename DataBoxType , typename ComputeTagsList , typename Metavariables , typename ArrayIndex , typename ParallelComponent > |
void | operator() (const ObservationBox< DataBoxType, ComputeTagsList > &box, const typename ObservationValueTag::type &observation_value, const Mesh< VolumeDim > &mesh, const Scalar< DataVector > &det_inv_jacobian, const typename Tensors::type &... tensors, Parallel::GlobalCache< Metavariables > &cache, const ArrayIndex &array_index, const ParallelComponent *const) const |
|
template<typename DbTagsList > |
std::optional< std::pair< observers::TypeOfObservation, observers::ObservationKey > > | get_observation_type_and_key_for_registration (const db::DataBox< DbTagsList > &box) 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 ObservationBox< ComputeTagsList, DataBoxType > &box, Parallel::GlobalCache< Metavariables > &cache, const ArrayIndex &array_index, const ComponentPointer) 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...
|
|
template<size_t VolumeDim, typename ObservationValueTag, typename... Tensors, typename... NonTensorComputeTags, typename ArraySectionIdTag>
class dg::Events::ObserveVolumeIntegrals< VolumeDim, ObservationValueTag, tmpl::list< Tensors... >, tmpl::list< NonTensorComputeTags... >, ArraySectionIdTag >
Observe the volume integrals of the tensors over the domain.
Writes reduction quantities:
ObservationValueTag
Volume
= volume of the domain
VolumeIntegral(*)
= volume integral of the tensor
- Array sections
- This event supports sections (see
Parallel::Section
). Set the ArraySectionIdTag
template parameter to split up observations into subsets of elements. The observers::Tags::ObservationKey<ArraySectionIdTag>
must be available in the DataBox. It identifies the section and is used as a suffix for the path in the output file.
template<size_t VolumeDim, typename ObservationValueTag , typename... Tensors, typename... NonTensorComputeTags, typename ArraySectionIdTag >
bool dg::Events::ObserveVolumeIntegrals< VolumeDim, ObservationValueTag, tmpl::list< Tensors... >, tmpl::list< NonTensorComputeTags... >, ArraySectionIdTag >::needs_evolved_variables |
( |
| ) |
const |
|
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.