SpECTRE Documentation Coverage Report
Current view: top level - Evolution/Systems/ScalarAdvection - VelocityField.hpp Hit Total Coverage
Commit: 058fd9f3a53606b32c6beec17aafdb5fcf4268be Lines: 1 6 16.7 %
Date: 2024-04-27 02:05:51
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/Tensor/TypeAliases.hpp"
       9             : #include "Domain/Tags.hpp"
      10             : #include "Evolution/Systems/ScalarAdvection/Tags.hpp"
      11             : #include "Utilities/Gsl.hpp"
      12             : 
      13             : /// \cond
      14             : class DataVector;
      15             : namespace gsl {
      16             : template <typename T>
      17             : class not_null;
      18             : }  // namespace gsl
      19             : /// \endcond
      20             : 
      21             : namespace ScalarAdvection::Tags {
      22             : /*!
      23             :  * \brief Compute the advection velocity field \f$v\f$ of the ScalarAdvection
      24             :  * system
      25             :  *
      26             :  * - For 1D problem, \f$v(x) = 1.0\f$
      27             :  * - For 2D problem, \f$v(x,y) = (0.5-y,-0.5+x)\f$
      28             :  *
      29             :  */
      30             : template <size_t Dim>
      31           1 : struct VelocityFieldCompute : VelocityField<Dim>, db::ComputeTag {
      32           0 :   using argument_tags =
      33             :       tmpl::list<domain::Tags::Coordinates<Dim, Frame::Inertial>>;
      34           0 :   using return_type = tnsr::I<DataVector, Dim>;
      35           0 :   using base = VelocityField<Dim>;
      36             : 
      37           0 :   static void function(
      38             :       const gsl::not_null<tnsr::I<DataVector, Dim>*> velocity_field,
      39             :       const tnsr::I<DataVector, Dim, Frame::Inertial>& inertial_coords);
      40             : };
      41             : }  // namespace ScalarAdvection::Tags

Generated by: LCOV version 1.14