SpECTRE Documentation Coverage Report
Current view: top level - Evolution/Systems/Ccz4/FiniteDifference - EnforceConstrainedEvolution.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 "DataStructures/DataBox/Protocols/Mutator.hpp"
       7              : #include "Evolution/Systems/Ccz4/FiniteDifference/System.hpp"
       8              : #include "Evolution/Systems/Ccz4/FiniteDifference/Tags.hpp"
       9              : #include "Evolution/Systems/Ccz4/Tags.hpp"
      10              : #include "Utilities/Gsl.hpp"
      11              : #include "Utilities/ProtocolHelpers.hpp"
      12              : #include "Utilities/TMPL.hpp"
      13              : 
      14              : namespace Ccz4::fd {
      15              : /*!
      16              :  * \brief Mutator to enforce constrained evolution after every time step
      17              :  *
      18              :  * Togglable option in input file via option tag defined in Ccz4::fd::Tags.
      19              :  * If constrained_evolution is true, enforce
      20              :  * the unit determinant constraint on the conformal spatial metric
      21              :  * and traceless constraint on the ATilde
      22              :  */
      23            1 : struct EnforceConstrainedEvolution : tt::ConformsTo<db::protocols::Mutator> {
      24            0 :   static constexpr size_t dim = System::volume_dim;
      25            0 :   using return_tags = tmpl::list<::Ccz4::Tags::ConformalMetric<DataVector, dim>,
      26              :                                  ::Ccz4::Tags::ATilde<DataVector, dim>>;
      27            0 :   using argument_tags = tmpl::list<::Ccz4::fd::Tags::ConstrainedEvolution>;
      28              : 
      29            0 :   static void apply(
      30              :       gsl::not_null<tnsr::ii<DataVector, dim>*> conformal_spatial_metric,
      31              :       gsl::not_null<tnsr::ii<DataVector, dim>*> a_tilde,
      32              :       bool constrained_evolution);
      33              : };
      34              : }  // namespace Ccz4::fd
        

Generated by: LCOV version 2.0-1