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

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

#include <TciOnFdGrid.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 > &subcell_tilde_e, const tnsr::I< DataVector, 3, Frame::Inertial > &subcell_tilde_b, const Scalar< DataVector > &subcell_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 need_rdmp_data_only)
 

Detailed Description

The troubled-cell indicator run on the FD grid to check if the corresponding DG 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 larger than tci_options.cutoff_tilde_q. 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 second check (Persson TCI to mag(TildeB)) fails and element is marked as troubled, an integer with value +2 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) 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 positive integers to mark TCI status from FD grid returned by TciOnFdGrid class. Negative integers are reserved for TCIs on DG grid; see TciOnDgGrid and its documentation.

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