TciStatus.hpp
1 // Distributed under the MIT License.
2 // See LICENSE.txt for details.
3 
4 #pragma once
5 
6 #include "DataStructures/DataBox/Tag.hpp"
8 #include "Evolution/DgSubcell/TciStatus.hpp"
9 
10 /// \cond
11 class DataVector;
12 namespace domain::Tags {
13 template <size_t Dim>
14 struct Mesh;
15 } // namespace domain::Tags
17 struct ActiveGrid;
18 template <size_t Dim>
19 struct Mesh;
20 struct TciGridHistory;
21 } // namespace evolution::dg::subcell::Tags
22 /// \endcond
23 
25 /// Stores the status of the troubled cell indicator in the element as a
26 /// `Scalar<DataVector>` so it can be observed.
28  using type = Scalar<DataVector>;
29 };
30 
31 /// Computes the TCI status from the currently active grid and the TCI history.
32 template <size_t Dim>
34  using base = TciStatus;
35  using return_type = typename base::type;
36  using argument_tags = tmpl::list<::domain::Tags::Mesh<Dim>, Mesh<Dim>,
38  static constexpr auto function = static_cast<void (*)(
39  gsl::not_null<Scalar<DataVector>*>, const ::Mesh<Dim>&,
40  const ::Mesh<Dim>&, evolution::dg::subcell::ActiveGrid,
42  &evolution::dg::subcell::tci_status<Dim>);
43 };
44 } // namespace evolution::dg::subcell::Tags
db::ComputeTag
Mark a struct as a compute tag by inheriting from this.
Definition: Tag.hpp:157
db::SimpleTag
Mark a struct as a simple tag by inheriting from this.
Definition: Tag.hpp:36
evolution::dg::subcell::ActiveGrid
ActiveGrid
Definition: ActiveGrid.hpp:11
evolution::dg::subcell::Tags::TciGridHistory
A record of which grid the TCI requested we use.
Definition: TciGridHistory.hpp:20
std::deque
DataVector
Stores a collection of function values.
Definition: DataVector.hpp:46
evolution::dg::subcell::Tags::Mesh
The mesh on the subcells.
Definition: Mesh.hpp:18
Mesh
Holds the number of grid points, basis, and quadrature in each direction of the computational grid.
Definition: Mesh.hpp:48
Scalar
Tensor< T, Symmetry<>, index_list<> > Scalar
Definition: TypeAliases.hpp:21
TypeAliases.hpp
evolution::dg::subcell::Tags
Tags for the DG-subcell solver
Definition: ActiveGrid.hpp:9
evolution::dg::subcell::Tags::TciStatusCompute
Computes the TCI status from the currently active grid and the TCI history.
Definition: TciStatus.hpp:33
evolution::dg::subcell::Tags::TciStatus
Stores the status of the troubled cell indicator in the element as a Scalar<DataVector> so it can be ...
Definition: TciStatus.hpp:27
domain::Tags
Tags for the domain.
Definition: FaceNormal.hpp:107
gsl::not_null
Require a pointer to not be a nullptr
Definition: ReadSpecThirdOrderPiecewisePolynomial.hpp:13