Xyst test code coverage report
Current view: top level - Inciter - NodeDiagnostics.hpp (source / functions) Coverage Total Hit
Commit: 1fb74642dd9d7732b67f32dec2f2762e238d3fa7 Lines: 100.0 % 2 2
Test Date: 2025-08-13 22:46:33 Functions: 100.0 % 2 2
Legend: Lines:     hit not hit

            Line data    Source code
       1              : // *****************************************************************************
       2              : /*!
       3              :   \file      src/Inciter/NodeDiagnostics.hpp
       4              :   \copyright 2012-2015 J. Bakosi,
       5              :              2016-2018 Los Alamos National Security, LLC.,
       6              :              2019-2021 Triad National Security, LLC.,
       7              :              2022-2025 J. Bakosi
       8              :              All rights reserved. See the LICENSE file for details.
       9              :   \brief     NodeDiagnostics class for collecting diagnostics
      10              :   \details   NodeDiagnostics class for collecting diagnostics, e.g., residuals,
      11              :     and various norms of errors while solving partial differential equations.
      12              : */
      13              : // *****************************************************************************
      14              : #pragma once
      15              : 
      16              : #include "Discretization.hpp"
      17              : #include "PUPUtil.hpp"
      18              : 
      19              : namespace inciter {
      20              : 
      21              : //! NodeDiagnostics class used to compute diagnostics while integrating PDEs
      22              : class NodeDiagnostics {
      23              : 
      24              :   public:
      25              :     //! Configure Charm++ custom reduction types initiated from this class
      26              :     static void registerReducers();
      27              : 
      28              :     //! Compute diagnostics for density-based solvers
      29              :     bool rhocompute( Discretization& d,
      30              :                      const tk::Fields& u,
      31              :                      const tk::Fields& un,
      32              :                      uint64_t diag_iter ) const;
      33              : 
      34              :     //! Compute diagnostics for pressure-based solvers
      35              :     bool precompute( Discretization& d,
      36              :                      const tk::Fields& u,
      37              :                      const tk::Fields& un,
      38              :                      const std::vector< tk::real >& p,
      39              :                      const std::vector< tk::real >& dp,
      40              :                      uint64_t diag_iter ) const;
      41              : 
      42              :     //! Compute diagnostics for artificial compressibility solvers
      43              :     bool accompute( Discretization& d,
      44              :                     const tk::Fields& u,
      45              :                     const tk::Fields& un,
      46              :                     uint64_t diag_iter ) const;
      47              : 
      48              :     /** @name Charm++ pack/unpack serializer member functions */
      49              :     ///@{
      50              :     //! \brief Pack/Unpack serialize member function
      51        13616 :     void pup( PUP::er & ) {}
      52              :     //! \brief Pack/Unpack serialize operator|
      53              :     //! \param[in,out] p Charm++'s PUP::er serializer object reference
      54              :     //! \param[in,out] d Diagnostics object reference
      55        13616 :     friend void operator|( PUP::er& p, NodeDiagnostics& d ) { d.pup(p); }
      56              :     //@}
      57              : };
      58              : 
      59              : } // inciter::
        

Generated by: LCOV version 2.0-1