SpECTRE  v2022.09.02
elliptic::analytic_data::Background Class Reference

Subclasses supply variable-independent background data for an elliptic solve. More...

#include <Background.hpp>

## Detailed Description

Subclasses supply variable-independent background data for an elliptic solve.

Examples for background fields are a background metric, associated curvature quantities, matter sources such as a mass-density in the XCTS equations, or just a source function $$f(x)$$ in a Poisson equation $$\Delta u = f(x)$$.

Subclasses must define the following compile-time interface:

• They are option-creatable.
• They define a variables function that provides the fixed-sources in the elliptic equations (see elliptic::protocols::FirstOrderSystem). The function must have this signature:

const tnsr::I<DataVector, 1>& x,
tmpl::list<Tags::FixedSource<ScalarFieldTag>> /*meta*/) const {
An associative container that is indexed by structs.
Definition: TaggedTuple.hpp:259
Prefix indicating a source term that is independent of dynamic variables.
Definition: Prefixes.hpp:75

It must support being called with a tmpl::list of all system-variable tags prefixed with Tags::FixedSource.

• They define a variables function that provides data for all background quantities, if any are listed in the background_fields of the system (see elliptic::protocols::FirstOrderSystem). The function must have this signature:

template <typename... RequestedTags>
tuples::TaggedTuple<RequestedTags...> variables( // NOLINT
const tnsr::I<DataVector, Dim>& x, const Mesh<Dim>& /*mesh*/,
const InverseJacobian<DataVector, Dim, Frame::ElementLogical,
/*inv_jacobian*/,
tmpl::list<RequestedTags...> /*meta*/) const {
Stores a collection of function values.
Definition: DataVector.hpp:48
Holds the number of grid points, basis, and quadrature in each direction of the computational grid.
Definition: Mesh.hpp:49
Definition: IndexType.hpp:43
Definition: IndexType.hpp:45

It must support being called with a tmpl::list of all background tags. It may use the mesh and inv_jacobian to compute numerical derivatives.

The documentation for this class was generated from the following file:
• src/PointwiseFunctions/InitialDataUtilities/Background.hpp