SpECTRE Documentation Coverage Report
Current view: top level - Evolution/Systems/GrMhd/GhValenciaDivClean - Constraints.hpp Coverage Total Hit
Commit: 0d1d717af84a81fb1284a20c4013708fe85cc2f0 Lines: 16.7 % 6 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 <cstddef>
       7              : 
       8              : #include "DataStructures/DataBox/Prefixes.hpp"
       9              : #include "DataStructures/DataBox/Tag.hpp"
      10              : #include "DataStructures/DataVector.hpp"
      11              : #include "DataStructures/Tensor/TypeAliases.hpp"
      12              : #include "Evolution/Systems/GeneralizedHarmonic/Constraints.hpp"
      13              : #include "Evolution/Systems/GeneralizedHarmonic/Tags.hpp"
      14              : #include "Evolution/Systems/GrMhd/GhValenciaDivClean/Tags.hpp"
      15              : #include "NumericalAlgorithms/LinearOperators/PartialDerivatives.hpp"
      16              : #include "PointwiseFunctions/GeneralRelativity/GeneralizedHarmonic/ConstraintDampingTags.hpp"
      17              : #include "Utilities/Gsl.hpp"
      18              : #include "Utilities/TMPL.hpp"
      19              : 
      20              : namespace grmhd::GhValenciaDivClean::Tags {
      21              : /*!
      22              :  * \brief Compute item to get the F-constraint for the generalized harmonic
      23              :  * evolution system with an MHD stress-energy source.
      24              :  *
      25              :  * \details See `gh::f_constraint()`. Can be retrieved using
      26              :  * `gh::Tags::FConstraint`.
      27              :  */
      28              : template <size_t SpatialDim, typename Frame>
      29            1 : struct FConstraintCompute
      30              :     : gh::Tags::FConstraint<DataVector, SpatialDim, Frame>,
      31              :       db::ComputeTag {
      32            0 :   using argument_tags = tmpl::list<
      33              :       gh::Tags::GaugeH<DataVector, SpatialDim, Frame>,
      34              :       gh::Tags::SpacetimeDerivGaugeH<DataVector, SpatialDim, Frame>,
      35              :       gr::Tags::SpacetimeNormalOneForm<DataVector, SpatialDim, Frame>,
      36              :       gr::Tags::SpacetimeNormalVector<DataVector, SpatialDim, Frame>,
      37              :       gr::Tags::InverseSpatialMetric<DataVector, SpatialDim, Frame>,
      38              :       gr::Tags::InverseSpacetimeMetric<DataVector, SpatialDim, Frame>,
      39              :       gh::Tags::Pi<DataVector, SpatialDim, Frame>,
      40              :       gh::Tags::Phi<DataVector, SpatialDim, Frame>,
      41              :       ::Tags::deriv<gh::Tags::Pi<DataVector, SpatialDim, Frame>,
      42              :                     tmpl::size_t<SpatialDim>, Frame>,
      43              :       ::Tags::deriv<gh::Tags::Phi<DataVector, SpatialDim, Frame>,
      44              :                     tmpl::size_t<SpatialDim>, Frame>,
      45              :       ::gh::Tags::ConstraintGamma2,
      46              :       gh::Tags::ThreeIndexConstraint<DataVector, SpatialDim, Frame>,
      47              :       Tags::TraceReversedStressEnergy>;
      48              : 
      49            0 :   using return_type = tnsr::a<DataVector, SpatialDim, Frame>;
      50              : 
      51            0 :   static constexpr auto function = static_cast<void (*)(
      52              :       gsl::not_null<tnsr::a<DataVector, SpatialDim, Frame>*>,
      53              :       const tnsr::a<DataVector, SpatialDim, Frame>&,
      54              :       const tnsr::ab<DataVector, SpatialDim, Frame>&,
      55              :       const tnsr::a<DataVector, SpatialDim, Frame>&,
      56              :       const tnsr::A<DataVector, SpatialDim, Frame>&,
      57              :       const tnsr::II<DataVector, SpatialDim, Frame>&,
      58              :       const tnsr::AA<DataVector, SpatialDim, Frame>&,
      59              :       const tnsr::aa<DataVector, SpatialDim, Frame>&,
      60              :       const tnsr::iaa<DataVector, SpatialDim, Frame>&,
      61              :       const tnsr::iaa<DataVector, SpatialDim, Frame>&,
      62              :       const tnsr::ijaa<DataVector, SpatialDim, Frame>&,
      63              :       const Scalar<DataVector>&,
      64              :       const tnsr::iaa<DataVector, SpatialDim, Frame>&,
      65              :       const tnsr::aa<DataVector, SpatialDim, Frame>&)>(
      66              :       &gh::f_constraint<DataVector, SpatialDim, Frame>);
      67              : 
      68            0 :   using base = gh::Tags::FConstraint<DataVector, SpatialDim, Frame>;
      69              : };
      70              : }  // namespace grmhd::GhValenciaDivClean::Tags
        

Generated by: LCOV version 2.0-1