Xyst test code coverage report
Current view: top level - Inciter - PUPAMR.cpp (source / functions) Hit Total Coverage
Commit: b2278901c7a653f0d92b235cc98ed02988a87738 Lines: 51 55 92.7 %
Date: 2024-12-18 15:39:37 Functions: 9 11 81.8 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 0 0 -

           Branch data     Line data    Source code
       1                 :            : // *****************************************************************************
       2                 :            : /*!
       3                 :            :   \file      src/Inciter/PUPAMR.cpp
       4                 :            :   \copyright 2012-2015 J. Bakosi,
       5                 :            :              2016-2018 Los Alamos National Security, LLC.,
       6                 :            :              2019-2021 Triad National Security, LLC.,
       7                 :            :              2022-2024 J. Bakosi
       8                 :            :              All rights reserved. See the LICENSE file for details.
       9                 :            :   \brief     Charm++ Pack/UnPack utilities for AMR
      10                 :            :   \details   This file contains some extensions to Charm++'s Pack/UnPack
      11                 :            :     routines for use with AMR data structures.
      12                 :            : */
      13                 :            : // *****************************************************************************
      14                 :            : 
      15                 :            : #include "PUPAMR.hpp"
      16                 :            : 
      17                 :    4185463 : void PUP::pup( PUP::er &p, AMR::Refinement_State& s )
      18                 :            : // *****************************************************************************
      19                 :            : //  Pack/Unpack Refinement_State
      20                 :            : //! \param[in] p Charm++'s pack/unpack object
      21                 :            : //! \param[in,out] s Refinement_State object reference
      22                 :            : // *****************************************************************************
      23                 :            : {
      24                 :    4185463 :   p | s.active_element_number;
      25                 :    4185463 :   p | s.refinement_case;
      26                 :    4185463 :   p | s.children;
      27                 :    4185463 :   p | s.refinement_level;
      28                 :    4185463 :   p | s.child_number;
      29                 :    4185463 :   p | s.parent_id;
      30                 :    4185463 :   p | s.normal;
      31                 :    4185463 : }
      32                 :            : 
      33                 :    6235859 : void PUP::pup( PUP::er &p, AMR::Edge_Refinement& e )
      34                 :            : // *****************************************************************************
      35                 :            : //  Pack/Unpack Edge_Refinement
      36                 :            : //! \param[in] p Charm++'s pack/unpack object
      37                 :            : //! \param[in,out] e Edge_Refinement object reference
      38                 :            : // *****************************************************************************
      39                 :            : {
      40                 :    6235859 :   p | e.A;
      41                 :    6235859 :   p | e.B;
      42                 :    6235859 :   p | e.needs_refining;
      43                 :    6235859 :   p | e.needs_derefining;
      44                 :    6235859 :   p | e.lock_case;
      45                 :    6235859 : }
      46                 :            : 
      47                 :      15384 : void PUP::pup( PUP::er &p, AMR::edge_store_t& e )
      48                 :            : // *****************************************************************************
      49                 :            : //  Pack/Unpack edge_store_t
      50                 :            : //! \param[in] p Charm++'s pack/unpack object
      51                 :            : //! \param[in,out] e edge_store_t object reference
      52                 :            : // *****************************************************************************
      53                 :            : {
      54                 :      15384 :   p | e.edges;
      55                 :      15384 : }
      56                 :            : 
      57                 :    6235859 : void PUP::pup( PUP::er &p, AMR::edge_t& e )
      58                 :            : // *****************************************************************************
      59                 :            : //  Pack/Unpack edge_t
      60                 :            : //! \param[in] p Charm++'s pack/unpack object
      61                 :            : //! \param[in,out] e edge_t object reference
      62                 :            : // *****************************************************************************
      63                 :            : {
      64                 :            :   p | e.get_data();
      65                 :    6235859 : }
      66                 :            : 
      67                 :          0 : void PUP::pup( PUP::er &p, AMR::active_element_store_t& a )
      68                 :            : // *****************************************************************************
      69                 :            : //  Pack/Unpack active_element_store_t
      70                 :            : //! \param[in] p Charm++'s pack/unpack object
      71                 :            : //! \param[in,out] a active_element_store_t object reference
      72                 :            : // *****************************************************************************
      73                 :            : {
      74                 :            :   p | a.data();
      75                 :          0 : }
      76                 :            : 
      77                 :          0 : void PUP::pup( PUP::er &p, AMR::master_element_store_t& m )
      78                 :            : // *****************************************************************************
      79                 :            : //  Pack/Unpack master_element_store_t
      80                 :            : //! \param[in] p Charm++'s pack/unpack object
      81                 :            : //! \param[in,out] m master_element_store_t object reference
      82                 :            : // *****************************************************************************
      83                 :            : {
      84                 :            :   p | m.data();
      85                 :          0 : }
      86                 :            : 
      87                 :      15384 : void PUP::pup( PUP::er &p, AMR::id_generator_t& i )
      88                 :            : // *****************************************************************************
      89                 :            : //  Pack/Unpack id_generator_t
      90                 :            : //! \param[in] p Charm++'s pack/unpack object
      91                 :            : //! \param[in,out] i id_generator_t object reference
      92                 :            : // *****************************************************************************
      93                 :            : {
      94                 :      15384 :   p | i.start_id;
      95                 :      15384 :   p | i.next_tet_id;
      96                 :      15384 : }
      97                 :            : 
      98                 :      15384 : void PUP::pup( PUP::er &p, AMR::tet_store_t& t )
      99                 :            : // *****************************************************************************
     100                 :            : //  Pack/Unpack tet_store_t
     101                 :            : //! \param[in] p Charm++'s pack/unpack object
     102                 :            : //! \param[in,out] t tet_store_t object reference
     103                 :            : // *****************************************************************************
     104                 :            : {
     105                 :      15384 :   p | t.center_tets;
     106                 :      15384 :   p | t.delete_list;
     107                 :            :   p | t.active_elements.data();
     108                 :            :   p | t.master_elements.data();
     109                 :      15384 :   p | t.active_tetinpoel;
     110                 :      15384 :   p | t.active_nodes;
     111                 :      15384 :   p | t.id_generator;
     112                 :      15384 :   p | t.intermediate_list;
     113                 :      15384 :   p | t.active_id_mapping;
     114                 :      15384 :   p | t.tets;
     115                 :      15384 :   p | t.edge_store;
     116                 :      15384 :   p | t.marked_refinements;
     117                 :      15384 :   p | t.marked_derefinements;
     118                 :      15384 : }
     119                 :            : 
     120                 :      15384 : void PUP::pup( PUP::er &p, AMR::mesh_adapter_t& m )
     121                 :            : // *****************************************************************************
     122                 :            : //  Pack/Unpack mesh_adapter_t
     123                 :            : //! \param[in] p Charm++'s pack/unpack object
     124                 :            : //! \param[in,out] m mesh_adapter_t object reference
     125                 :            : // *****************************************************************************
     126                 :            : {
     127                 :      15384 :   p | m.derefinement_cut_off;
     128                 :      15384 :   p | m.refinement_cut_off;
     129                 :      15384 :   p | m.tet_store;
     130                 :      15384 :   p | m.node_connectivity;
     131                 :            : #ifdef ENABLE_NODE_STORE
     132                 :            :   p | m.node_store;
     133                 :            : #endif
     134                 :      15384 :   p | m.refiner;
     135                 :      15384 : }
     136                 :            : 
     137                 :            : #ifdef ENABLE_NODE_STORE
     138                 :            : void PUP::pup( PUP::er &p, AMR::node_store_t& n )
     139                 :            : // *****************************************************************************
     140                 :            : //  Pack/Unpack node_store_t
     141                 :            : //! \param[in] p Charm++'s pack/unpack object
     142                 :            : //! \param[in,out] n node_store_t object reference
     143                 :            : // *****************************************************************************
     144                 :            : {
     145                 :            :   p | n.m_x;
     146                 :            :   p | n.m_y;
     147                 :            :   p | n.m_z;
     148                 :            : }
     149                 :            : #endif
     150                 :            : 
     151                 :            : 
     152                 :      15384 : void PUP::pup( PUP::er &p, AMR::node_connectivity_t& n )
     153                 :            : // *****************************************************************************
     154                 :            : //  Pack/Unpack node_connectivity_t
     155                 :            : //! \param[in] p Charm++'s pack/unpack object
     156                 :            : //! \param[in,out] n node_connectivity_t object reference
     157                 :            : // *****************************************************************************
     158                 :            : {
     159                 :            :   p | n.data();
     160                 :            :   p | n.inv_data();
     161                 :      15384 :   p | n.empty_node_count;
     162                 :      15384 : }
     163                 :            : 
     164                 :      15384 : void PUP::pup( PUP::er &p, AMR::refinement_t& r )
     165                 :            : // *****************************************************************************
     166                 :            : //  Pack/Unpack refinement_t
     167                 :            : //! \param[in] p Charm++'s pack/unpack object
     168                 :            : //! \param[in,out] r refinement_t object reference
     169                 :            : // *****************************************************************************
     170                 :            : {
     171                 :      15384 :   p | r.MAX_REFINEMENT_LEVEL;
     172                 :      15384 : }

Generated by: LCOV version 1.16