SpECTRE
v2025.01.30
|
Control error in the 3D CubicScale coordinate map. More...
#include <Expansion.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 time, const std::string &function_of_time_name, const tuples::TaggedTuple< TupleTags... > &measurements) |
Static Public Attributes | |
static constexpr Options::String | help |
Control error in the 3D CubicScale coordinate map.
Computes the error in the map parameter \(a(t)\) using Eq. (40) from [150] (see CubicScale for a definition of \(a(t)\)). The equation is
\begin{align} \delta a &= a\left( \frac{\vec{X}\cdot\vec{C}}{||\vec{C}||^2} - 1 \right) \\ \delta a &= a\left( \frac{X_0}{C_0} - 1 \right) \end{align}
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. It is assumed that the positions of the excision spheres are exactly along the x-axis, which is why we were able to make the simplification in the second line above.
Requirements:
|
staticconstexpr |