SpECTRE
v2023.03.09
|
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 = observers::make_reduction_data_tags< tmpl::list< ReductionData > > |
using | compute_tags_for_observation_box = tmpl::list<> |
using | argument_tags = tmpl::list<::Tags::Time, ::Tags::TimeStep, typename System::variables_tag > |
using | observation_registration_tags = tmpl::list<> |
using | is_ready_argument_tags = tmpl::list<> |
Public Member Functions | |
ObserveTimeStep (const std::string &subfile_name, const bool output_time, const bool observe_per_core) | |
template<typename ArrayIndex , typename ParallelComponent , typename Metavariables > | |
void | operator() (const double &time, const TimeDelta &time_step, const typename System::variables_tag::type &variables, Parallel::GlobalCache< Metavariables > &cache, const ArrayIndex &array_index, const ParallelComponent *const) const |
std::pair< observers::TypeOfObservation, observers::ObservationKey > | get_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. 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... | |
Static Public Attributes | |
static constexpr Options::String | help |
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.
|
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 |