SpECTRE  2021.08.02
Poisson::Solutions::AnalyticSolution< Dim, Registrars > Class Template Reference

Base class for analytic solutions of the Poisson equation. More...

#include <AnalyticSolution.hpp>

Public Types

using registrars = Registrars
 
using creatable_classes = Registration::registrants< registrars >
 
- Public Types inherited from AnalyticData< Dim, Registrars >
using registrars = Registrars
 
using creatable_classes = Registration::registrants< registrars >
 

Public Member Functions

template<typename DataType , typename... RequestedTags>
tuples::TaggedTuple< RequestedTags... > variables (const tnsr::I< DataType, Dim > &x, tmpl::list< RequestedTags... >) const noexcept
 
- Public Member Functions inherited from AnalyticData< Dim, Registrars >
template<typename DataType , typename... Tags>
tuples::TaggedTuple< Tags... > variables (const tnsr::I< DataType, Dim > &x, tmpl::list< Tags... >) const noexcept
 Retrieve a collection of tensor fields at spatial coordinate(s) x
 
template<typename... Tags>
tuples::TaggedTuple< Tags... > variables (const tnsr::I< DataVector, Dim > &x, const Mesh< Dim > &mesh, const InverseJacobian< DataVector, Dim, Frame::Logical, Frame::Inertial > &inv_jacobian, tmpl::list< Tags... >) const noexcept
 Retrieve a collection of tensor fields at spatial coordinate(s) x More...
 

Additional Inherited Members

- Static Public Attributes inherited from AnalyticData< Dim, Registrars >
static constexpr size_t volume_dim = Dim
 

Detailed Description

template<size_t Dim, typename Registrars>
class Poisson::Solutions::AnalyticSolution< Dim, Registrars >

Base class for analytic solutions of the Poisson equation.

This abstract base class allows factory-creating derived classes from input-file options (see Registration). The list of Registrars may also contain classes that aren't analytic solutions but only derive off AnalyticData. This allows factory-creating any choice of analytic solution or analytic data from input-file options, but you must use the AnalyticData class for the factory-creation. Note that analytic solutions provide more variables than analytic data classes, so to request variables that only analytic solutions provide you must perform a cast to AnalyticSolution.