1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
// *****************************************************************************
/*!
  \file      src/Mesh/Gradients.hpp
  \copyright 2012-2015 J. Bakosi,
             2016-2018 Los Alamos National Security, LLC.,
             2019-2021 Triad National Security, LLC.,
             2022-2025 J. Bakosi
             All rights reserved. See the LICENSE file for details.
  \brief     Functions computing gradients on unstructured meshes for tetrahedra
  \details   Functions computing gradients using linear finite element shape
             functions on unstructured meshes for tetrahedra.
*/
// *****************************************************************************
#pragma once

#include <array><--- Include file:  not found. Please note: Cppcheck does not need standard library headers to get proper results.
#include <stddef.h><--- Include file:  not found. Please note: Cppcheck does not need standard library headers to get proper results.
#include <vector><--- Include file:  not found. Please note: Cppcheck does not need standard library headers to get proper results.
#include <utility><--- Include file:  not found. Please note: Cppcheck does not need standard library headers to get proper results.

#include "Fields.hpp"
#include "Types.hpp"

namespace tk {

//! Compute gradient at a mesh node
std::array< tk::real, 3 >
nodegrad( std::size_t node,
          const std::array< std::vector< tk::real >, 3 >& coord,
          const std::vector< std::size_t >& inpoel,
          const std::pair< std::vector< std::size_t >,
                           std::vector< std::size_t > >& esup,
          const tk::Fields& U,
          uint64_t c );

//! Compute gradient at a mesh edge
std::array< tk::real, 3 >
edgegrad( const std::array< std::vector< tk::real >, 3 >& coord,
          const std::vector< std::size_t >& inpoel,
          const std::vector< std::size_t >& esued,
          const tk::Fields& U,
          uint64_t c );

} // tk::