SpECTRE Documentation Coverage Report
Current view: top level - ControlSystem/ControlErrors/Size - DeltaRNoDrift.hpp Coverage Total Hit
Commit: 0d1d717af84a81fb1284a20c4013708fe85cc2f0 Lines: 25.0 % 12 3
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              : #include <string>
       8              : 
       9              : #include "ControlSystem/ControlErrors/Size/Info.hpp"
      10              : #include "ControlSystem/ControlErrors/Size/State.hpp"
      11              : #include "Options/String.hpp"
      12              : #include "Utilities/Serialization/CharmPupable.hpp"
      13              : #include "Utilities/TMPL.hpp"
      14              : 
      15              : namespace control_system::size::States {
      16            0 : class DeltaRNoDrift : public State {
      17              :  public:
      18            0 :   using options = tmpl::list<>;
      19            0 :   static constexpr Options::String help{
      20              :       "Controls the velocity of the excision surface to maintain a constant "
      21              :       "separation between the excision surface and the horizon surface. "
      22              :       "This is a transition from DeltaRDriftInward to DeltaR, and otherwise "
      23              :       "acts very much like state DeltaR (e.g. it has the same control error). "
      24              :       "This is state 4 in SpEC."};
      25            0 :   DeltaRNoDrift() = default;
      26            1 :   std::string name() const override { return "DeltaRNoDrift"; }
      27            1 :   size_t number() const override { return 4; }
      28            0 :   std::unique_ptr<State> get_clone() const override;
      29            0 :   std::string update(gsl::not_null<Info*> info,
      30              :                      const StateUpdateArgs& update_args,
      31              :                      const CrossingTimeInfo& crossing_time_info) const override;
      32              :   /// The return value is Q from Eq. 96 of \cite Hemberger2012jz.
      33            1 :   double control_error(
      34              :       const Info& info,
      35              :       const ControlErrorArgs& control_error_args) const override;
      36              : 
      37            0 :   WRAPPED_PUPable_decl_template(DeltaRNoDrift);  // NOLINT
      38            0 :   explicit DeltaRNoDrift(CkMigrateMessage* const /*msg*/) {}
      39              : };
      40              : }  // namespace control_system::size::States
        

Generated by: LCOV version 2.0-1