SpECTRE
v2025.03.17
|
Checks if the Rotation function of time has been updated because the separation between the neutron star grid centers is small enough. More...
#include <GridCenters.hpp>
Classes | |
struct | DisableControlSystem |
Invokable used to disable the rotation control system via a call to Parallel::mutate. More... | |
struct | UpdateRotationToSettle |
Invokable that changes the rotation function of time to a QuaternionSettleToConstant matching the current function of time values and derivatives for the rotation and decaying over a specified timescale. More... | |
Public Types | |
using | const_global_cache_tags = tmpl::list< control_system::Tags::DisableRotationWhen > |
Static Public Member Functions | |
template<typename DbTags , typename... InboxTags, typename Metavariables , typename ActionList , typename ParallelComponent > | |
static Parallel::iterable_action_return_t | apply (db::DataBox< DbTags > &box, tuples::TaggedTuple< InboxTags... > &, Parallel::GlobalCache< Metavariables > &cache, const ElementId< 3 > &element_id, const ActionList, const ParallelComponent *const) |
Checks if the Rotation function of time has been updated because the separation between the neutron star grid centers is small enough.
is_zeroth_element()
.Parallel::Phase::DisableRotationControl
phase.The desired separation is controlled via the control_systems::Tags::DisableRotationWhen tag. The main use for this functionality is to disable the rotation control system in binary neutron star mergers when the stars are sufficiently close because as the stars merge, the dual control system starts to lose anything to lock on to and can even start counter rotating.
Tags used and modified:
domain::Tags::FunctionsOfTime
("GridCenters" and "Rotation")domain::Tags::FunctionsOfTime
("Rotation")control_system::Tags::IsActiveMap
("Rotation")