7 #include "DataStructures/Tensor/EagerMath/Norms.hpp"
9 #include "Evolution/Initialization/DiscontinuousGalerkin.hpp"
10 #include "Evolution/Initialization/Evolution.hpp"
11 #include "Evolution/Systems/ScalarWave/Constraints.hpp"
15 #include "ParallelAlgorithms/Initialization/MutateAssign.hpp"
41 using simple_tags = tmpl::list<ScalarWave::Tags::ConstraintGamma2>;
43 using compute_tags = tmpl::list<
50 template <
typename DbTagsList,
typename... InboxTags,
typename Metavariables,
51 typename ArrayIndex,
typename ActionList,
52 typename ParallelComponent>
53 static auto apply(db::DataBox<DbTagsList>& box,
58 const ParallelComponent*
const ) noexcept {
59 const auto& mesh = db::get<domain::Tags::Mesh<Dim>>(box);
62 Initialization::mutate_assign<simple_tags>(
make_not_null(&box),
65 return std::make_tuple(std::move(box));
Definition: ElementReceiveInterpPoints.hpp:15
An associative container that is indexed by structs.
Definition: TaggedTuple.hpp:271
Initialize items related to constraints of the ScalarWave system.
Definition: Initialize.hpp:40
Tensor< T, Symmetry<>, index_list<> > Scalar
Definition: TypeAliases.hpp:21
Items related to evolving the scalar wave equation.
Definition: Characteristics.cpp:16
gsl::not_null< T * > make_not_null(T *ptr) noexcept
Construct a not_null from a pointer. Often this will be done as an implicit conversion,...
Definition: Gsl.hpp:880