Xyst test code coverage report
Current view: top level - Inciter - lohcg.ci Coverage Total Hit
Commit: 1fb74642dd9d7732b67f32dec2f2762e238d3fa7 Lines: 100.0 % 8 8
Test Date: 2025-08-13 22:18:46 Functions: - 0 0
Legend: Lines:     hit not hit

            Line data    Source code
       1              : // *****************************************************************************
       2              : /*!
       3              :   \file      src/Inciter/lohcg.ci
       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     Charm++ module interface for LohCG
      10              : */
      11              : // *****************************************************************************
      12              : 
      13              : module lohcg {
      14              : 
      15              :   extern module transporter;
      16              :   extern module discretization;
      17              : 
      18              :   include "UnsMesh.hpp";
      19              :   include "PUPUtil.hpp";
      20              : 
      21              :   namespace inciter {
      22              : 
      23              :     array [1D] LohCG {
      24              :       entry LohCG( const CProxy_Discretization& disc,
      25              :                    const tk::CProxy_ConjugateGradients& cgpre,
      26              :                    const std::map< int, std::vector< std::size_t > >& bface,
      27              :                    const std::map< int, std::vector< std::size_t > >& bnode,
      28              :                    const std::vector< std::size_t >& triinpoel );
      29              :       initnode void registerReducers();
      30              :       entry void setup( tk::real v );
      31              :       entry void transferFL();
      32              :       entry void transferIC();
      33              :       entry void start();
      34              :       entry void evalres( const std::vector< tk::real >& l2ref );
      35              :       entry void advance( tk::real newdt );
      36              :       entry void comnorm( const std::unordered_map< int,
      37              :         std::unordered_map< std::size_t, std::array< tk::real, 4 > > >& inbnd );
      38              :       entry void comvgrad( const std::unordered_map< std::size_t,
      39              :                                    std::vector< tk::real > >& ingrad );
      40              :       entry void comflux( const std::unordered_map< std::size_t,
      41              :                                   std::vector< tk::real > >& influx );
      42              :       entry void comsgrad( const std::unordered_map< std::size_t,
      43              :                                    std::vector< tk::real > >& ingrad );
      44              :       entry void comdiv( const std::unordered_map< std::size_t,
      45              :                                  tk::real >& indiv );
      46          385 :       entry void comrhs( const std::unordered_map< std::size_t,
      47              :                                  std::vector< tk::real > >& inrhs );
      48          770 :       entry void comgrad( const std::unordered_map< std::size_t,
      49              :                                   std::vector< tk::real > >& ingrad );
      50          385 :       entry void pinit();
      51              :       entry void psolve();
      52          385 :       entry void psolved();
      53              :       entry void solved();
      54          385 :       entry void feop();
      55              :       entry void step();
      56         8600 :       entry void sgrad();
      57              :       entry void diag();
      58         8600 :       entry void integrals();
      59              :       entry void evalLB( int nrestart );
      60         4730 : 
      61              :       entry void wait4int() {
      62              :         when ownnorm_complete(), comnorm_complete(), transfer_complete() serial
      63              :         { merge(); } }
      64              : 
      65              :       entry void wait4div() {
      66              :         when owndiv_complete(), comdiv_complete() serial { pinit(); } }
      67              : 
      68              :       entry void wait4vgrad() {
      69              :         when ownvgrad_complete(), comvgrad_complete() serial { flux(); } }
      70              : 
      71              :       entry void wait4flux() {
      72              :         when ownflux_complete(), comflux_complete() serial { div( m_flux ); } }
      73              : 
      74              :      entry void wait4sgrad() {
      75              :         when ownsgrad_complete(), comsgrad_complete() serial { psolved(); } }
      76              : 
      77              :       entry void wait4grad() {
      78              :         when owngrad_complete(), comgrad_complete() serial { rhs(); } }
      79              : 
      80              :       entry void wait4rhs() {
      81              :         when ownrhs_complete(), comrhs_complete() serial { solve(); } }
      82              : 
      83              :       entry void wait4step() {
      84              :         when feop_complete(), resize_complete() serial { out(); } }
      85              : 
      86              :       entry void ownnorm_complete();
      87              :       entry void comnorm_complete();
      88              :       entry void transfer_complete();
      89              :       entry void owndiv_complete();
      90              :       entry void comdiv_complete();
      91              :       entry void ownsgrad_complete();
      92              :       entry void comsgrad_complete();
      93              :       entry void ownvgrad_complete();
      94              :       entry void comvgrad_complete();
      95              :       entry void ownflux_complete();
      96              :       entry void comflux_complete();
      97              :       entry void owngrad_complete();
      98              :       entry void comgrad_complete();
      99              :       entry void ownrhs_complete();
     100              :       entry void comrhs_complete();
     101              :       entry void feop_complete();
     102              :       entry void resize_complete();
     103              :     }
     104              : 
     105              :   } // inciter::
     106              : 
     107              : }
        

Generated by: LCOV version 2.0-1