SpECTRE
v2025.03.17
|
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 = implementation defined |
using | argument_tags = implementation defined |
Static Public Member Functions | |
static std::tuple< int, evolution::dg::subcell::RdmpTciData > | apply (const Scalar< DataVector > &subcell_tilde_d, const Scalar< DataVector > &subcell_tilde_ye, const Scalar< DataVector > &subcell_tilde_tau, const tnsr::I< DataVector, 3, Frame::Inertial > &subcell_tilde_b, const Scalar< DataVector > &subcell_rest_mass_density, const Scalar< DataVector > &subcell_pressure, bool vars_needed_fixing, 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) |
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:
Description | TCI status |
---|---|
if min(tilde_d) is less than tci_options.minimum_rest_mass_density_times_lorentz_factor , then we remain on FD. |
|
if min(tilde_ye) is less than tci_options.minimum_rest_mass_density_times_lorentz_factor times tci_options.minimum_ye , then we remain on FD. |
|
if min(tilde_tau) is less than tci_options.minimum_tilde_tau , then we remain on FD. |
|
if grmhd::ValenciaDivClean::Tags::VariablesNeededFixing is true and the maximum of rest mass density on FD grid is greater than tci_options.atmosphere_density , then we remain on FD. |
|
apply the Persson TCI to tci_options.atmosphere_density . |
|
apply the Persson TCI to tci_options.atmosphere_density . |
|
apply the Persson TCI to pressure if the maximum of rest mass density on FD grid is greater than tci_options.atmosphere_density . |
|
apply the RDMP TCI to TildeD |
|
apply the RDMP TCI to TildeYe |
|
apply the RDMP TCI to TildeTau |
|
apply the RDMP TCI to TildeB |
|
apply the Persson TCI to the magnitude of tci_options.magnetic_field_cutoff . |
|
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 tenth check (RDMP TCI to TildeTau) fails and cell is marked as troubled, an integer with value +10
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
.