Quinoa regression test code coverage report
Current view: top level - IO - Omega_h_MeshReader.hpp (source / functions) Hit Total Coverage
Commit: Quinoa_v0.3-957-gb4f0efae0 Lines: 2 2 100.0 %
Date: 2021-11-09 13:40:20 Functions: 0 0 -
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 1 4 25.0 %

           Branch data     Line data    Source code
       1                 :            : // *****************************************************************************
       2                 :            : /*!
       3                 :            :   \file      src/IO/Omega_h_MeshReader.hpp
       4                 :            :   \copyright 2012-2015 J. Bakosi,
       5                 :            :              2016-2018 Los Alamos National Security, LLC.,
       6                 :            :              2019-2021 Triad National Security, LLC.
       7                 :            :              All rights reserved. See the LICENSE file for details.
       8                 :            :   \brief     Omega_h mesh reader
       9                 :            :   \details   Omega_h mesh reader class declaration.
      10                 :            : */
      11                 :            : // *****************************************************************************
      12                 :            : #ifndef Omega_h_MeshReader_h
      13                 :            : #define Omega_h_MeshReader_h
      14                 :            : 
      15                 :            : #include <map>
      16                 :            : #include <vector>
      17                 :            : #include <array>
      18                 :            : #include <unordered_map>
      19                 :            : 
      20                 :            : #include "Types.hpp"
      21                 :            : #include "Exception.hpp"
      22                 :            : #include "UnsMesh.hpp"
      23                 :            : 
      24                 :            : namespace tk {
      25                 :            : 
      26                 :            : //! Omega_h mesh-based data reader
      27                 :            : //! \details Mesh reader class facilitating reading from mesh-based field data
      28                 :            : //!   a file in Omega_h format.
      29                 :            : //! \see https://github.com/ibaned/omega_h
      30 [ -  - ][ +  - ]:          5 : class Omega_h_MeshReader {
      31                 :            : 
      32                 :            :   public:
      33                 :            :     //! Constructor
      34                 :            :     explicit Omega_h_MeshReader( const std::string& filename )
      35                 :          5 :       : m_filename( filename ) {}
      36                 :            : 
      37                 :            :     //! Return total number of mesh points in mesh file
      38                 :            :     std::size_t npoin() { return 0; }
      39                 :            : 
      40                 :            :     //! Read part of the mesh (graph and coords) from Omega_h file
      41                 :            :     //! \details Total number of PEs defaults to 1 for a single-CPU read, this
      42                 :            :     //!    PE defaults to 0 for a single-CPU read.
      43                 :            :     void readMeshPart( std::vector< std::size_t >& ginpoel,
      44                 :            :                        std::vector< std::size_t >& inpoel,
      45                 :            :                        std::vector< std::size_t >& triinp,
      46                 :            :                        std::unordered_map< std::size_t, std::size_t >& lid,
      47                 :            :                        tk::UnsMesh::Coords& coord,
      48                 :            :                        int numpes=1, int mype=0 );
      49                 :            : 
      50                 :            :     //! Read face list of all side sets from Omega h file
      51                 :            :     void
      52                 :            :     readSidesetFaces( std::map< int, std::vector< std::size_t > >& bface,
      53                 :            :                       std::map< int, std::vector< std::size_t > >& faces );
      54                 :            : 
      55                 :            :     //! Read face connectivity of a number boundary faces from Omega h file
      56                 :            :     void readFaces( std::vector< std::size_t >& conn ) const;
      57                 :            : 
      58                 :            :     //! Read node list of all side sets from Omega h file
      59                 :            :     std::map< int, std::vector< std::size_t > > readSidesetNodes();
      60                 :            : 
      61                 :            :     //! ...
      62                 :            :     std::vector< std::size_t > triinpoel(
      63                 :            :       std::map< int, std::vector< std::size_t > >& belem,
      64                 :            :       const std::map< int, std::vector< std::size_t > >& faces,
      65                 :            :       const std::vector< std::size_t >& ginpoel,
      66                 :            :       const std::vector< std::size_t >& triinp ) const;
      67                 :            : 
      68                 :            :   private:
      69                 :            :     const std::string m_filename;       //!< Input file name
      70                 :            : };
      71                 :            : 
      72                 :            : } // tk::
      73                 :            : 
      74                 :            : #endif // Omega_h_MeshReader_h

Generated by: LCOV version 1.14