SpECTRE  v2026.04.01
Loading...
Searching...
No Matches
Events::ObserveTimeStep< System > Class Template Reference

Observe the size of the time steps. More...

#include <ObserveTimeStep.hpp>

Classes

struct  ObservePerCore
struct  PrintTimeToTerminal
struct  SubfileName
 The name of the subfile inside the HDF5 file. More...

Public Types

using options = tmpl::list<SubfileName, PrintTimeToTerminal, ObservePerCore>
using observed_reduction_data_tags
using compute_tags_for_observation_box = tmpl::list<>
using return_tags = tmpl::list<>
using argument_tags
using observation_registration_tags = tmpl::list<>
using is_ready_argument_tags = tmpl::list<>

Public Member Functions

 ObserveTimeStep (const std::string &subfile_name, bool output_time, bool observe_per_core)
template<typename ArrayIndex, typename ParallelComponent, typename Metavariables>
void operator() (const TimeDelta &time_step, const typename System::variables_tag::type &variables, Parallel::GlobalCache< Metavariables > &cache, const ArrayIndex &array_index, const ParallelComponent *const, const ObservationValue &observation_value) const
std::pair< observers::TypeOfObservation, observers::ObservationKeyget_observation_type_and_key_for_registration () 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.
void pup (PUP::er &p) override
Public Member Functions inherited from Event
 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

Static Public Attributes

static constexpr Options::String help

Detailed Description

template<typename System>
class Events::ObserveTimeStep< System >

Observe the size of the time steps.

Writes reduction quantities:

  • Time
  • NumberOfPoints
  • Slab size
  • Minimum time step
  • Maximum time step
  • Effective time step

The effective time step is the step size of a global-time-stepping method that would perform a similar amount of work. This is the harmonic mean of the step size over all grid points:

\begin{equation}(\Delta t)_{\text{eff}}^{-1} = \frac{\sum_{i \in \text{points}} (\Delta t)_i^{-1}}{N_{\text{points}}}. \end{equation}

This corresponds to averaging the number of steps per unit time taken by all points.

All values are reported as positive numbers, even for backwards evolutions.

Member Typedef Documentation

◆ argument_tags

template<typename System>
using Events::ObserveTimeStep< System >::argument_tags
Initial value:
tmpl::list<::Tags::TimeStep, typename System::variables_tag>

◆ observed_reduction_data_tags

template<typename System>
using Events::ObserveTimeStep< System >::observed_reduction_data_tags
Initial value:
observers::make_reduction_data_tags<tmpl::list<ReductionData>>

Member Function Documentation

◆ needs_evolved_variables()

template<typename System>
bool Events::ObserveTimeStep< System >::needs_evolved_variables ( ) const
overridevirtual

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.

Member Data Documentation

◆ help

template<typename System>
Options::String Events::ObserveTimeStep< System >::help
staticconstexpr
Initial value:
=
"Observe the size of the time steps.\n"
"\n"
"Writes reduction quantities:\n"
"- Time\n"
"- NumberOfPoints\n"
"- Slab size\n"
"- Minimum time step\n"
"- Maximum time step\n"
"- Effective time step\n"
"\n"
"The effective time step is the step size of a global-time-stepping\n"
"method that would perform a similar amount of work.\n"
"\n"
"All values are reported as positive numbers, even for backwards\n"
"evolutions."

The documentation for this class was generated from the following file:
  • src/ParallelAlgorithms/Events/ObserveTimeStep.hpp