SpECTRE  v2024.04.12
ForceFree::subcell::TciOnDgGrid Class Reference

The troubled-cell indicator run on the DG grid to check if the solution is admissible. More...

#include <TciOnDgGrid.hpp>

Public Types

using return_tags = tmpl::list<>
 
using argument_tags = tmpl::list< ForceFree::Tags::TildeE, ForceFree::Tags::TildeB, ForceFree::Tags::TildeQ, domain::Tags::Mesh< 3 >, evolution::dg::subcell::Tags::Mesh< 3 >, evolution::dg::subcell::Tags::DataForRdmpTci, Tags::TciOptions, evolution::dg::subcell::Tags::SubcellOptions< 3 > >
 

Static Public Member Functions

static std::tuple< int, evolution::dg::subcell::RdmpTciDataapply (const tnsr::I< DataVector, 3, Frame::Inertial > &tilde_e, const tnsr::I< DataVector, 3, Frame::Inertial > &tilde_b, const Scalar< DataVector > &tilde_q, const Mesh< 3 > &dg_mesh, const Mesh< 3 > &subcell_mesh, const evolution::dg::subcell::RdmpTciData &past_rdmp_tci_data, const TciOptions &tci_options, const evolution::dg::subcell::SubcellOptions &subcell_options, double persson_exponent, bool)
 

Detailed Description

The troubled-cell indicator run on the DG grid to check if the solution is admissible.

The following checks are done in the order they are listed:

List of checks
Description

TCI status

apply the Persson TCI to magnitude of TildeE

-1

apply the Persson TCI to magnitude of TildeB

-2

apply the Persson TCI to TildeQ if \(\max(|\tilde{q}|)\) is greater than tci_options.tilde_q_cutoff. Check is skipped if tci_options.tilde_q_cutoff == DoNotCheckTildeQ.

-3

apply the RDMP TCI to magnitude of TildeE

-4

apply the RDMP TCI to magnitude of TildeB

-5

The second column of the table above denotes the value of an integer stored as the first element of the returned std::tuple, which indicates the particular kind of check that failed. For example, if the 3rd check (Persson TCI to TildeQ) fails and cell is marked as troubled, an integer with value -3 is stored in the first slot of the returned tuple. Note that this integer is marking only the first check to fail since checks are done in a particular sequence as listed above. If all checks are passed and cell is not troubled, it is returned with the value 0.

When computing magnitudes of tensor quantities (TildeE, TildeB) here for TCI checks, we simply use the square root of the sum of spatial components squared, not the square root of the scalar product using the spatial metric.

Note
We adopt negative integers to mark TCI status from DG grid returned by TciOnDgGrid class. Positive integers are used for TCIs on FD grid; see TciOnFdGrid and its documentation.

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