Branch data Line data Source code
1 : : // ***************************************************************************** 2 : : /*! 3 : : \file src/Inciter/FaceData.cpp 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 : : \details Face-data used only in discontinuous Galerkin discretization scheme 9 : : \see FaceData.h for more info. 10 : : */ 11 : : // ***************************************************************************** 12 : : 13 : : #include "Reorder.hpp" 14 : : #include "DerivedData.hpp" 15 : : #include "FaceData.hpp" 16 : : 17 : : using inciter::FaceData; 18 : : 19 : 1099 : FaceData::FaceData( 20 : : const std::vector< std::size_t >& inpoel, 21 : : const std::map< int, std::vector< std::size_t > >& bface, 22 : 1099 : const std::vector< std::size_t >& triinpoel ) 23 [ + - ][ + - ]: 1099 : : m_bface( bface ), m_triinpoel( triinpoel ) 24 : : // ***************************************************************************** 25 : : // Constructor: compute (element-face) data for internal and domain-boundary 26 : : // faces 27 : : //! \param[in] inpoel Mesh connectivity with local IDs 28 : : //! \param[in] bface Boundary-faces mapped to side set ids 29 : : //! \param[in] triinpoel Boundary-face connectivity with local IDs 30 : : // ***************************************************************************** 31 : : { 32 [ + - ]: 1099 : auto esup = tk::genEsup( inpoel, 4 ); 33 [ + - ]: 1099 : m_esuel = tk::genEsuelTet( inpoel, esup ); 34 : 1099 : auto nbfac = tk::sumvalsize( m_bface ); 35 [ + - ]: 1099 : m_nipfac = tk::genNipfac( 4, nbfac, m_esuel ); 36 [ + - ]: 1099 : m_inpofa = tk::genInpofaTet( m_nipfac, nbfac, inpoel, m_triinpoel, m_esuel ); 37 [ + - ]: 1099 : m_belem = tk::genBelemTet( nbfac, m_inpofa, esup ); 38 [ + - ]: 2198 : m_esuf = tk::genEsuf( 4, m_nipfac, nbfac, m_belem, m_esuel ); 39 : : Assert( m_belem.size() == nbfac, 40 : : "Number of boundary-elements and number of boundary-faces unequal" ); 41 : 1099 : }