SpECTRE  v2024.05.11
control_system::ControlErrors::Rotation Struct Reference

Control error in the 3D Rotation coordinate map. More...

#include <Rotation.hpp>

Public Types

using object_centers = domain::object_list< domain::ObjectLabel::A, domain::ObjectLabel::B >
using options = tmpl::list<>

Public Member Functions

void pup (PUP::er &)
template<typename Metavariables , typename... TupleTags>
DataVector operator() (const ::TimescaleTuner< true > &, const Parallel::GlobalCache< Metavariables > &cache, const double, const std::string &, const tuples::TaggedTuple< TupleTags... > &measurements)

Static Public Attributes

static constexpr size_t expected_number_of_excisions = 2
static constexpr Options::String help

Detailed Description

Control error in the 3D Rotation coordinate map.


Computes the error in the angle rotated by the system using a slightly modified version of Eq. (41) from [140]. The equation is

\[ \delta\vec{q} = \frac{\vec{C}\times\vec{X}}{\vec{C}\cdot\vec{X}} \]

where \(\vec{X} = \vec{x}_A - \vec{x}_B\) and \(\vec{C} = \vec{c}_A - \vec{c}_B\). Here, object A is located on the positive x-axis and object B is located on the negative x-axis, \(\vec{X}\) is the difference in positions of the centers of the mapped objects, and \(\vec{C}\) is the difference of the centers of the excision spheres, all in the grid frame.


  • This control error requires that there be exactly two objects in the simulation
  • Currently both these objects must be black holes
  • Currently this control system can only be used with the Rotation control system

Member Data Documentation

◆ help

constexpr Options::String control_system::ControlErrors::Rotation::help
Initial value:
"Computes the control error for rotation control. This should not "
"take any options."}

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