SpECTRE  v2026.04.01
Loading...
Searching...
No Matches
NewtonianEuler::subcell::TciOnFdGrid< Dim > Class Template Reference

Troubled-cell indicator applied to the finite difference subcell solution to check if the corresponding DG solution is admissible. More...

#include <TciOnFdGrid.hpp>

Public Types

using return_tags
using argument_tags

Static Public Member Functions

static std::tuple< bool, evolution::dg::subcell::RdmpTciDataapply (gsl::not_null< Variables< tmpl::list< MassDensity, Velocity, SpecificInternalEnergy, Pressure > > * > subcell_grid_prim_vars, const Variables< tmpl::list< MassDensityCons, MomentumDensity, EnergyDensity > > &subcell_vars, const EquationsOfState::EquationOfState< false, 2 > &eos, const Mesh< Dim > &dg_mesh, const Mesh< Dim > &subcell_mesh, const evolution::dg::subcell::RdmpTciData &past_rdmp_tci_data, const evolution::dg::subcell::SubcellOptions &subcell_options, double persson_exponentconst, bool need_rdmp_data_only)

Detailed Description

template<size_t Dim>
class NewtonianEuler::subcell::TciOnFdGrid< Dim >

Troubled-cell indicator applied to the finite difference subcell solution to check if the corresponding DG solution is admissible.

Computes the primitive variables on the DG and subcell grids, mutating the subcell/active primitive variables in the DataBox. Then,

  • apply RDMP TCI to the mass and energy density
  • if the minimum density or pressure on either the DG or subcell mesh are below \(10^{-18}\), marks the element as troubled and returns. We check both the FD and DG grids since when a discontinuity is inside the element oscillations in the DG solution can result in negative values that aren't present in the FD solution.
  • runs the Persson TCI on the mass and energy density on the DG grid. The reason for applying the Persson TCI to both the mass and energy density is to flag cells at contact discontinuities. The Persson TCI only works with spectral-type methods and is a direct check of whether or not the DG solution is a good representation of the underlying data.

Please note that the TCI is run after the subcell solution has been reconstructed to the DG grid, and so Inactive<Tag> is the updated DG solution.

Member Typedef Documentation

◆ argument_tags

template<size_t Dim>
using NewtonianEuler::subcell::TciOnFdGrid< Dim >::argument_tags
Initial value:
tmpl::list<
tmpl::list<MassDensityCons, MomentumDensity, EnergyDensity>>,
Definition VariablesTag.hpp:17
The computational grid of the Element in the DataBox.
Definition Tags.hpp:62
The data for the RDMP troubled-cell indicator.
Definition DataForRdmpTci.hpp:11
The mesh on the subcells.
Definition Mesh.hpp:22
System-agnostic options for DG-subcell.
Definition SubcellOptions.hpp:31
The equation of state retrieved from the analytic solution / data in the input file.
Definition Tags.hpp:112

◆ return_tags

template<size_t Dim>
using NewtonianEuler::subcell::TciOnFdGrid< Dim >::return_tags
Initial value:
tmpl::list<::Tags::Variables<
tmpl::list<MassDensity, Velocity, SpecificInternalEnergy, Pressure>>>

The documentation for this class was generated from the following file:
  • src/Evolution/Systems/NewtonianEuler/Subcell/TciOnFdGrid.hpp