SpECTRE Documentation Coverage Report
Current view: top level - PointwiseFunctions/InitialDataUtilities - Background.hpp Coverage Total Hit
Commit: 0d1d717af84a81fb1284a20c4013708fe85cc2f0 Lines: 25.0 % 4 1
Test Date: 2026-10-22 17:29:42
Legend: Lines:     hit not hit

            Line data    Source code
       1            0 : // Distributed under the MIT License.
       2              : // See LICENSE.txt for details.
       3              : 
       4              : #pragma once
       5              : 
       6              : #include <pup.h>
       7              : 
       8              : #include "Utilities/Serialization/CharmPupable.hpp"
       9              : 
      10              : namespace elliptic::analytic_data {
      11              : /*!
      12              :  * \brief Subclasses supply variable-independent background data for an elliptic
      13              :  * solve.
      14              :  *
      15              :  * Examples for background fields are a background metric, associated curvature
      16              :  * quantities, matter sources such as a mass-density in the XCTS equations, or
      17              :  * just a source function \f$f(x)\f$ in a Poisson equation \f$\Delta u =
      18              :  * f(x)\f$.
      19              :  *
      20              :  * Subclasses must define the following compile-time interface:
      21              :  *
      22              :  * - They are option-creatable.
      23              :  * - They define a `variables` function that provides the fixed-sources in the
      24              :  *   elliptic equations (see `elliptic::protocols::FirstOrderSystem`). The
      25              :  *   function must have this signature:
      26              :  *
      27              :  *   \snippet Test_InitializeFixedSources.cpp background_vars_fct
      28              :  *
      29              :  *   It must support being called with a `tmpl::list` of all system-variable
      30              :  *   tags prefixed with `::Tags::FixedSource`.
      31              :  * - They define a `variables` function that provides data for all background
      32              :  *   quantities, if any are listed in the `background_fields` of the system (see
      33              :  *   `elliptic::protocols::FirstOrderSystem`). The function must have this
      34              :  *   signature:
      35              :  *
      36              :  *   \snippet Test_SubdomainOperator.cpp background_vars_fct_derivs
      37              :  *
      38              :  *   It must support being called with a `tmpl::list` of all background tags. It
      39              :  *   may use the `mesh` and `inv_jacobian` to compute numerical derivatives.
      40              :  */
      41            1 : class Background : public virtual PUP::able {
      42              :  protected:
      43            0 :   Background() = default;
      44              : 
      45              :  public:
      46            0 :   ~Background() override = default;
      47              : 
      48              :   /// \cond
      49              :   explicit Background(CkMigrateMessage* msg) : PUP::able(msg) {}
      50              :   WRAPPED_PUPable_abstract(Background);
      51              :   /// \endcond
      52              : };
      53              : }  // namespace elliptic::analytic_data
        

Generated by: LCOV version 2.0-1