SpECTRE  v2024.04.12
control_system::BNSEvent< ControlSystems > Class Template Reference

An Event that computes the center of mass for \(x > 0\) and \(x < 0\) where \(x\) is the in the Frame::Grid. More...

#include <BNSCenterOfMass.hpp>

Public Types

using compute_tags_for_observation_box = tmpl::list<>
 
using return_tags = tmpl::list<>
 
using argument_tags = tmpl::list<::Tags::Time, ::Tags::PreviousTriggerTime, ::Events::Tags::ObserverMesh< 3 >, ::Events::Tags::ObserverDetInvJacobian< Frame::ElementLogical, Frame::Inertial >, grmhd::ValenciaDivClean::Tags::TildeD, ::Events::Tags::ObserverCoordinates< 3, Frame::Grid > >
 
using is_ready_argument_tags = tmpl::list<>
 

Public Member Functions

template<typename Metavariables , typename ArrayIndex , typename ParallelComponent >
void operator() (const double time, const std::optional< double > &previous_time, const Mesh< 3 > &mesh, const Scalar< DataVector > &inv_det_jacobian, const Scalar< DataVector > &tilde_d, const tnsr::I< DataVector, 3, Frame::Grid > &x_grid, Parallel::GlobalCache< Metavariables > &cache, const ArrayIndex &array_index, 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...
 
- 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
 
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 bool factory_creatable = false
 

Detailed Description

template<typename ControlSystems>
class control_system::BNSEvent< ControlSystems >

An Event that computes the center of mass for \(x > 0\) and \(x < 0\) where \(x\) is the in the Frame::Grid.

Details

See control_system::measurements::center_of_mass_integral_on_element for the calculation of the CoM. This event then does a reduction and calls control_system::PostReductionSendBNSStarCentersToControlSystem as a post reduction callback.

Template Parameters
ControlSystemstmpl::list of all control systems that use this event.

Member Function Documentation

◆ needs_evolved_variables()

template<typename ControlSystems >
bool control_system::BNSEvent< ControlSystems >::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.


The documentation for this class was generated from the following file: