This file is indexed.

/usr/include/dune/pdelab/localoperator/pattern.hh is in libdune-pdelab-dev 2.5.0~20170124g7cf9f47a-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
// -*- tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*-
// vi: set et ts=8 sw=2 sts=2:
#ifndef DUNE_PDELAB_LOCALOPERATOR_PATTERN_HH
#define DUNE_PDELAB_LOCALOPERATOR_PATTERN_HH

#include<dune/common/exceptions.hh>
#include <dune/common/fvector.hh>

namespace Dune {
  namespace PDELab {

    //! sparsity pattern generator
    class FullVolumePattern
    {
    public:

      // define sparsity pattern of operator representation
      template<typename LFSU, typename LFSV, typename LocalPattern>
      void pattern_volume (const LFSU& lfsu, const LFSV& lfsv,
                           LocalPattern& pattern) const
      {
        for (size_t i=0; i<lfsv.size(); ++i)
          for (size_t j=0; j<lfsu.size(); ++j)
            pattern.addLink(lfsv,i,lfsu,j);
      }
   };

    //! sparsity pattern generator
    class FullSkeletonPattern
    {
    public:

      // define sparsity pattern connecting self and neighbor dofs
      template<typename LFSU, typename LFSV, typename LocalPattern>
      void pattern_skeleton (const LFSU& lfsu_s, const LFSV& lfsv_s, const LFSU& lfsu_n, const LFSV& lfsv_n,
                            LocalPattern& pattern_sn,
                            LocalPattern& pattern_ns) const
      {
        for (unsigned int i=0; i<lfsv_s.size(); ++i)
          for (unsigned int j=0; j<lfsu_n.size(); ++j)
            pattern_sn.addLink(lfsv_s,i,lfsu_n,j);

        for (unsigned int i=0; i<lfsv_n.size(); ++i)
          for (unsigned int j=0; j<lfsu_s.size(); ++j)
            pattern_ns.addLink(lfsv_n,i,lfsu_s,j);
      }
   };

    //! sparsity pattern generator
    class FullBoundaryPattern
    {
    public:

      // define sparsity pattern connecting dofs on boundary elements
      template<typename LFSU, typename LFSV, typename LocalPattern>
      void pattern_boundary(const LFSU& lfsu_s, const LFSV& lfsv_s,
                            LocalPattern& pattern_ss) const
      {
        for (unsigned int i=0; i<lfsv_s.size(); ++i)
          for (unsigned int j=0; j<lfsu_s.size(); ++j)
            pattern_ss.addLink(lfsv_s,i,lfsu_s,j);
      }
   };

    //! \} group GridFunctionSpace
  } // namespace PDELab
} // namespace Dune

#endif // DUNE_PDELAB_LOCALOPERATOR_PATTERN_HH