10 #include "DataStructures/DataBox/PrefixHelpers.hpp"
17 #include "ParallelAlgorithms/Initialization/MutateAssign.hpp"
21 namespace elliptic::Actions {
42 template <
typename System,
typename InitialGuessTag>
45 using system = System;
46 using fields_tag =
typename system::fields_tag;
49 using simple_tags = tmpl::list<
52 using compute_tags = tmpl::list<>;
54 template <
typename DbTagsList,
typename... InboxTags,
typename Metavariables,
55 size_t Dim,
typename ActionList,
typename ParallelComponent>
57 db::DataBox<DbTagsList>& box,
61 const ParallelComponent*
const ) noexcept {
62 const auto& inertial_coords =
63 get<domain::Tags::Coordinates<Dim, Frame::Inertial>>(box);
64 const auto& initial_guess = db::get<InitialGuessTag>(box);
66 inertial_coords,
typename fields_tag::tags_list{}));
67 ::Initialization::mutate_assign<tmpl::list<fields_tag>>(
76 const auto linear_operator_applied_to_fields) noexcept {
77 linear_operator_applied_to_fields->initialize(
78 inertial_coords.begin()->size(), 0.);
80 return {std::move(box)};