SpECTRE  v2022.09.02
control_system::ControlErrors::Translation Struct Reference

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

#include <Translation.hpp>

Public Types

using options = tmpl::list<>

Public Member Functions

void pup (PUP::er &)

template<typename Metavariables , typename... TupleTags>
DataVector operator() (const Parallel::GlobalCache< Metavariables > &cache, const double time, const std::string &, const tuples::TaggedTuple< TupleTags... > &measurements)

Static Public Attributes

static constexpr Options::String help

Detailed Description

Control error in the 3D Translation coordinate map.

Details

Computes the error in how much the system has translated by using Eq. (42) from [97]. The equation is

$\left(0, \delta\vec{T}\right) = a\mathbf{q}\left(\mathbf{x}_B - \mathbf{c}_B - \mathbf{\delta q}\wedge\mathbf{c}_B - \frac{\delta a}{a}\mathbf{c}_B \right)\mathbf{q}^*$

where object B is located on the positive x-axis, bold face letters are quaternions, vectors are promoted to quaternions as $$\mathbf{v} = (0, \vec{v})$$, $$\mathbf{q}$$ is the quaternion from the Rotation map, $$a$$ is the function $$a(t)$$ from the CubicScale map, $$\mathbf{\delta q}\wedge\mathbf{c}_B \equiv (0, \delta\vec{q} \times \vec{c}_B)$$, $$\delta\vec{q}$$ is the Rotation control error, and $$\delta a$$ is the Expansion control error.

Requirements:

• This control error requires that there be exactly two objects in the simulation
• Currently both these objects must be black holes
• Currently this control error can only be used with the Translation control system
• There must exist an expansion map and a quaternion rotation map in the coordinate map with names "Expansion" and "Rotation", respectively.

◆ help

 constexpr Options::String control_system::ControlErrors::Translation::help
staticconstexpr
Initial value:
{
"Computes the control error for translation control. This should not "
"take any options."}

The documentation for this struct was generated from the following file:
• src/ControlSystem/ControlErrors/Translation.hpp