SpECTRE  v2024.04.12
elliptic::Actions::InitializeOptionalAnalyticSolution< Dim, BackgroundTag, AnalyticSolutionFields, AnalyticSolutionType > Struct Template Reference

Place the analytic solution of the system fields in the DataBox. More...

#include <InitializeAnalyticSolution.hpp>

Public Types

using simple_tags = tmpl::list< analytic_fields_tag >
 
using compute_tags = tmpl::list<>
 
using const_global_cache_tags = tmpl::list< BackgroundTag >
 
using return_tags = tmpl::list< analytic_fields_tag >
 
using argument_tags = tmpl::list< domain::Tags::Mesh< Dim >, domain::Tags::Coordinates< Dim, Frame::Inertial >, BackgroundTag, Parallel::Tags::Metavariables >
 

Static Public Member Functions

template<typename DbTagsList , typename... InboxTags, typename Metavariables , typename ActionList , typename ParallelComponent >
static Parallel::iterable_action_return_t apply (db::DataBox< DbTagsList > &box, const tuples::TaggedTuple< InboxTags... > &, const Parallel::GlobalCache< Metavariables > &, const ElementId< Dim > &, const ActionList, const ParallelComponent *const)
 
template<typename Background , typename Metavariables , typename... AmrData>
static void apply (const gsl::not_null< typename analytic_fields_tag::type * > analytic_solution_fields, const Mesh< Dim > &mesh, const tnsr::I< DataVector, Dim > inertial_coords, const Background &background, const Metavariables &, const AmrData &... amr_data)
 

Detailed Description

template<size_t Dim, typename BackgroundTag, typename AnalyticSolutionFields, typename AnalyticSolutionType>
struct elliptic::Actions::InitializeOptionalAnalyticSolution< Dim, BackgroundTag, AnalyticSolutionFields, AnalyticSolutionType >

Place the analytic solution of the system fields in the DataBox.

The Tags::AnalyticSolutionsBase tag retrieved from the DataBox will hold a std::optional. The analytic solution is only evaluated and stored in the DataBox if the BackgroundTag holds a type that inherits from the AnalyticSolutionType.

Uses:

  • DataBox:
    • AnalyticSolutionTag or BackgroundTag
    • Tags::Coordinates<Dim, Frame::Inertial>

DataBox:


The documentation for this struct was generated from the following file: