GCC Code Coverage Report


Directory: ../../../builds/dumux-repositories/
File: dumux/dumux/discretization/facecentered/staggered/subcontrolvolumeface.hh
Date: 2025-07-12 19:18:49
Exec Total Coverage
Lines: 60 60 100.0%
Functions: 17 17 100.0%
Branches: 361 427 84.5%

Line Branch Exec Source
1 // -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
2 // vi: set et ts=4 sw=4 sts=4:
3 //
4 // SPDX-FileCopyrightText: Copyright © DuMux Project contributors, see AUTHORS.md in root folder
5 // SPDX-License-Identifier: GPL-3.0-or-later
6 //
7 /*!
8 * \file
9 * \ingroup FaceCenteredStaggeredDiscretization
10 * \copydoc Dumux::FaceCenteredStaggeredSubControlVolumeFace
11 */
12 #ifndef DUMUX_DISCRETIZATION_FACECENTERED_STAGGERED_SUBCONTROLVOLUMEFACE_HH
13 #define DUMUX_DISCRETIZATION_FACECENTERED_STAGGERED_SUBCONTROLVOLUMEFACE_HH
14
15 #include <array>
16
17 #include <dune/common/fvector.hh>
18 #include <dune/geometry/type.hh>
19 #include <dune/geometry/axisalignedcubegeometry.hh>
20
21 #include <dumux/common/indextraits.hh>
22 #include <dumux/discretization/facecentered/staggered/normalaxis.hh>
23
24 namespace Dumux {
25
26 /*!
27 * \ingroup FaceCenteredStaggeredDiscretization
28 * \brief Default traits class to be used for the sub-control volume face
29 * for the face-centered staggered finite volume scheme
30 * \tparam GridView the type of the grid view
31 */
32 template<class GridView>
33 struct FaceCenteredDefaultScvfGeometryTraits
34 {
35 using GridIndexType = typename IndexTraits<GridView>::GridIndex;
36 using LocalIndexType = typename IndexTraits<GridView>::LocalIndex;
37 using Scalar = typename GridView::ctype;
38 using Element = typename GridView::template Codim<0>::Entity;
39 using GlobalPosition = typename Element::Geometry::GlobalCoordinate;
40
41 static constexpr int dim = GridView::Grid::dimension;
42 static constexpr int dimWorld = GridView::Grid::dimensionworld;
43 using CornerStorage = std::array<GlobalPosition, (1<<(dim-1))>;
44 using Geometry = Dune::AxisAlignedCubeGeometry<Scalar, dim-1, dimWorld>;
45 };
46
47 /*!
48 * \ingroup FaceCenteredStaggeredDiscretization
49 * \brief Face centered staggered sub control volume face
50 */
51 template<class GridView, class T = FaceCenteredDefaultScvfGeometryTraits<GridView>>
52 class FaceCenteredStaggeredSubControlVolumeFace
53 {
54 using Geometry = typename T::Geometry;
55 using GridIndexType = typename T::GridIndexType;
56 using Scalar = typename T::Scalar;
57 using Element = typename T::Element;
58 using CornerStorage = typename T::CornerStorage;
59
60 using SmallLocalIndexType = typename IndexTraits<GridView>::SmallLocalIndex;
61
62 using ElementGeometry = typename Element::Geometry;
63 using IntersectionGeometry = typename GridView::Intersection::Geometry;
64
65 public:
66 //! state the traits public and thus export all types
67 using Traits = T;
68
69 using GlobalPosition = typename T::GlobalPosition;
70 enum class FaceType : SmallLocalIndexType {frontal, lateral};
71 enum class BoundaryType : SmallLocalIndexType {interior, physicalBoundary, processorBoundary};
72
73 23740448 FaceCenteredStaggeredSubControlVolumeFace() = default;
74
75 //! The constructor for frontal faces
76 10095562 FaceCenteredStaggeredSubControlVolumeFace(const ElementGeometry& elementGeometry,
77 const IntersectionGeometry& intersectionGeometry,
78 const std::array<GridIndexType, 2> globalScvIndices,
79 const SmallLocalIndexType localScvfIdx,
80 const GridIndexType globalScvfIdx,
81 const GlobalPosition& unitOuterNormal,
82 const FaceType faceType,
83 const BoundaryType boundaryType)
84 10095562 : globalScvIndices_(globalScvIndices)
85 10095562 , localScvfIdx_(localScvfIdx)
86 10095562 , globalScvfIdx_(globalScvfIdx)
87 10095562 , area_(intersectionGeometry.volume())
88 10095562 , normalAxis_(Dumux::normalAxis(unitOuterNormal))
89
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 10095562 times.
10095562 , outerNormalSign_(sign(unitOuterNormal[normalAxis_]))
90 10095562 , faceType_(faceType)
91 10095562 , boundaryType_(boundaryType)
92 {
93
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 10095562 times.
10095562 assert(faceType == FaceType::frontal);
94 10109466 center_ = boundary() ? intersectionGeometry.center() : elementGeometry.center();
95 10095562 ipGlobal_ = center_;
96
97 10095562 if (!boundary())
98 9833642 outerNormalSign_ *= -1.0;
99 10095562 }
100
101 //! The constructor for lateral faces
102 template<class LateralFacetGeometry>
103 19689656 FaceCenteredStaggeredSubControlVolumeFace(const ElementGeometry& elementGeometry,
104 const IntersectionGeometry& intersectionGeometry,
105 const LateralFacetGeometry& lateralFacetGeometry,
106 const std::array<GridIndexType, 2> globalScvIndices,
107 const SmallLocalIndexType localScvfIdx,
108 const GridIndexType globalScvfIdx,
109 const GlobalPosition& unitOuterNormal,
110 const FaceType faceType,
111 const BoundaryType boundaryType)
112 19689656 : globalScvIndices_(globalScvIndices)
113 19689656 , localScvfIdx_(localScvfIdx)
114 19689656 , globalScvfIdx_(globalScvfIdx)
115 19689656 , area_(0.5*lateralFacetGeometry.volume())
116 19689656 , normalAxis_(Dumux::normalAxis(unitOuterNormal))
117
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 19689656 times.
19689656 , outerNormalSign_(sign(unitOuterNormal[normalAxis_]))
118 19689656 , faceType_(faceType)
119 19689656 , boundaryType_(boundaryType)
120 {
121
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 19689656 times.
19689656 assert(faceType == FaceType::lateral);
122 56402616 const auto shift = intersectionGeometry.center() - elementGeometry.center();
123 19689656 ipGlobal_ = lateralFacetGeometry.center() + shift;
124 56357136 center_ = 0.5*(lateralFacetGeometry.center() + ipGlobal_);
125 19689656 }
126
127 //! The center of the sub control volume face
128
0/2
✗ Branch 1 not taken.
✗ Branch 2 not taken.
1563730 const GlobalPosition& center() const
129
12/13
✓ Branch 1 taken 321730 times.
✓ Branch 2 taken 35360 times.
✓ Branch 3 taken 54856 times.
✓ Branch 4 taken 45719 times.
✓ Branch 5 taken 2436 times.
✓ Branch 6 taken 8316 times.
✓ Branch 0 taken 257454 times.
✓ Branch 9 taken 11760 times.
✓ Branch 10 taken 560 times.
✓ Branch 11 taken 24 times.
✗ Branch 12 not taken.
✓ Branch 7 taken 240 times.
✓ Branch 8 taken 1302 times.
12143653 { return center_; }
130
131 //! The integration point of the sub control volume face
132 1197306 const GlobalPosition& ipGlobal() const
133
20/23
✓ Branch 0 taken 61740 times.
✓ Branch 1 taken 185246 times.
✓ Branch 3 taken 125016 times.
✓ Branch 4 taken 48382 times.
✓ Branch 5 taken 9564 times.
✓ Branch 6 taken 111250 times.
✓ Branch 7 taken 59750 times.
✓ Branch 8 taken 254562 times.
✓ Branch 9 taken 65022 times.
✓ Branch 10 taken 264366 times.
✓ Branch 11 taken 75836 times.
✓ Branch 12 taken 27720 times.
✓ Branch 13 taken 66968 times.
✓ Branch 14 taken 920 times.
✓ Branch 15 taken 12230 times.
✓ Branch 16 taken 19482 times.
✓ Branch 17 taken 600 times.
✓ Branch 18 taken 150 times.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
✓ Branch 21 taken 1600 times.
✓ Branch 22 taken 408 times.
✗ Branch 2 not taken.
8465910 { return ipGlobal_; }
134
135 //! The unit outer normal
136 412677510 const GlobalPosition unitOuterNormal() const
137 {
138 412677510 GlobalPosition result(0.0);
139
0/2
✗ Branch 0 not taken.
✗ Branch 1 not taken.
206244710 result[normalAxis_] = 1.0 * directionSign();
140
2/4
✓ Branch 1 taken 26 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 16 times.
✗ Branch 5 not taken.
412677510 return result;
141 }
142
143 //! Index of the inside sub control volume for spatial param evaluation
144
1/8
✗ Branch 0 not taken.
✓ Branch 1 taken 2492 times.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
4506343654 GridIndexType insideScvIdx() const
145
88/93
✓ Branch 1 taken 171132520 times.
✓ Branch 2 taken 65037514 times.
✓ Branch 3 taken 63774240 times.
✓ Branch 4 taken 16019680 times.
✓ Branch 5 taken 2297649 times.
✓ Branch 6 taken 200802065 times.
✓ Branch 8 taken 10173492 times.
✓ Branch 9 taken 147247262 times.
✓ Branch 10 taken 6388254 times.
✓ Branch 11 taken 43157890 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 21527518 times.
✓ Branch 17 taken 104460208 times.
✓ Branch 18 taken 30369364 times.
✓ Branch 21 taken 17209778 times.
✓ Branch 22 taken 53883444 times.
✓ Branch 23 taken 18275294 times.
✓ Branch 24 taken 92594176 times.
✓ Branch 28 taken 338256 times.
✓ Branch 29 taken 435984 times.
✓ Branch 31 taken 1146708 times.
✓ Branch 32 taken 3876896 times.
✓ Branch 34 taken 3707520 times.
✓ Branch 35 taken 20686496 times.
✓ Branch 37 taken 140096 times.
✓ Branch 38 taken 9679176 times.
✓ Branch 40 taken 94288990 times.
✓ Branch 41 taken 46766286 times.
✓ Branch 43 taken 197915784 times.
✓ Branch 44 taken 95363766 times.
✓ Branch 45 taken 3493932 times.
✓ Branch 46 taken 141540188 times.
✓ Branch 47 taken 43239582 times.
✓ Branch 48 taken 14935730 times.
✓ Branch 49 taken 76434606 times.
✓ Branch 50 taken 72529704 times.
✓ Branch 51 taken 26496552 times.
✓ Branch 52 taken 37308020 times.
✓ Branch 53 taken 91877854 times.
✓ Branch 54 taken 63304808 times.
✓ Branch 55 taken 7677828 times.
✓ Branch 56 taken 42246876 times.
✓ Branch 57 taken 59293470 times.
✓ Branch 58 taken 4714364 times.
✓ Branch 59 taken 1364064 times.
✓ Branch 60 taken 66646534 times.
✓ Branch 62 taken 2320968 times.
✓ Branch 63 taken 178606 times.
✓ Branch 64 taken 69947916 times.
✓ Branch 65 taken 62587374 times.
✓ Branch 0 taken 156 times.
✓ Branch 13 taken 6388229 times.
✓ Branch 14 taken 140622326 times.
✓ Branch 25 taken 150 times.
✓ Branch 26 taken 90285895 times.
✓ Branch 30 taken 2824382 times.
✓ Branch 36 taken 192018 times.
✓ Branch 39 taken 194637652 times.
✓ Branch 42 taken 37485196 times.
✓ Branch 7 taken 5458332 times.
✓ Branch 19 taken 3682496 times.
✓ Branch 20 taken 588178 times.
✓ Branch 12 taken 72 times.
✓ Branch 27 taken 790768 times.
✓ Branch 33 taken 628252 times.
✓ Branch 61 taken 26648884 times.
✓ Branch 66 taken 83470 times.
✓ Branch 67 taken 1401456 times.
✓ Branch 68 taken 16347144 times.
✓ Branch 69 taken 1432736 times.
✗ Branch 70 not taken.
✓ Branch 71 taken 1204226 times.
✓ Branch 72 taken 18304 times.
✓ Branch 74 taken 18328 times.
✓ Branch 75 taken 71159063 times.
✓ Branch 76 taken 58078923 times.
✓ Branch 77 taken 85989292 times.
✓ Branch 78 taken 48185334 times.
✓ Branch 79 taken 6962510 times.
✓ Branch 80 taken 15192 times.
✓ Branch 81 taken 26200 times.
✓ Branch 73 taken 920 times.
✓ Branch 82 taken 1120 times.
✗ Branch 83 not taken.
✓ Branch 84 taken 6 times.
✓ Branch 85 taken 3831058 times.
✓ Branch 86 taken 1913340 times.
✓ Branch 87 taken 4857168 times.
✓ Branch 88 taken 1038284 times.
✗ Branch 89 not taken.
✓ Branch 90 taken 2130 times.
✗ Branch 91 not taken.
✓ Branch 92 taken 60 times.
4747733804 { return globalScvIndices_[0]; }
146
147 //! index of the outside sub control volume for spatial param evaluation
148 1852121137 GridIndexType outsideScvIdx() const
149
32/41
✓ Branch 2 taken 46864814 times.
✓ Branch 3 taken 10601784 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 109792214 times.
✓ Branch 17 taken 757176 times.
✓ Branch 18 taken 1142422 times.
✓ Branch 20 taken 1452160 times.
✓ Branch 21 taken 1140396 times.
✓ Branch 23 taken 1466040 times.
✓ Branch 24 taken 48404 times.
✓ Branch 1 taken 7355766 times.
✓ Branch 15 taken 532768 times.
✓ Branch 16 taken 99970 times.
✓ Branch 19 taken 14588794 times.
✓ Branch 22 taken 23332 times.
✓ Branch 4 taken 383534 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 232 times.
✓ Branch 8 taken 64 times.
✓ Branch 11 taken 1233292 times.
✓ Branch 13 taken 25921 times.
✗ Branch 14 not taken.
✗ Branch 0 not taken.
✓ Branch 12 taken 3449912 times.
✓ Branch 26 taken 101408 times.
✓ Branch 27 taken 30740 times.
✓ Branch 25 taken 22180 times.
✓ Branch 28 taken 65184 times.
✓ Branch 6 taken 3680944 times.
✓ Branch 29 taken 538400 times.
✓ Branch 31 taken 13952 times.
✓ Branch 32 taken 1066240 times.
✓ Branch 34 taken 26432 times.
✓ Branch 35 taken 1066240 times.
✓ Branch 37 taken 26432 times.
✗ Branch 38 not taken.
✗ Branch 39 not taken.
✓ Branch 40 taken 10524 times.
✗ Branch 30 not taken.
✗ Branch 33 not taken.
✗ Branch 36 not taken.
1955470441 { return globalScvIndices_[1]; }
150
151 6614791 GridIndexType index() const
152
12/24
✓ Branch 1 taken 60 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 260 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 26 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 16 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 1 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 2 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 2 times.
✗ Branch 20 not taken.
✗ Branch 0 not taken.
✓ Branch 3 taken 225250 times.
✗ Branch 6 not taken.
✓ Branch 9 taken 221330 times.
✓ Branch 15 taken 2360 times.
✓ Branch 18 taken 2330 times.
✗ Branch 21 not taken.
✗ Branch 22 not taken.
✓ Branch 24 taken 1180 times.
✗ Branch 25 not taken.
11009251 { return globalScvfIdx_; }
153
154 362209437 SmallLocalIndexType localIndex() const
155
8/9
✓ Branch 13 taken 142396 times.
✓ Branch 14 taken 317155 times.
✓ Branch 9 taken 10 times.
✗ Branch 10 not taken.
✓ Branch 0 taken 94928 times.
✓ Branch 1 taken 707472 times.
✓ Branch 15 taken 50989 times.
✓ Branch 16 taken 52012 times.
✓ Branch 12 taken 1292 times.
362209437 { return localScvfIdx_; }
156
157 FaceType faceType() const
158 { return faceType_; }
159
160
4/4
✓ Branch 0 taken 261920 times.
✓ Branch 1 taken 9833642 times.
✓ Branch 2 taken 8987242 times.
✓ Branch 3 taken 235680 times.
19318484 bool boundary() const
161
81/82
✓ Branch 0 taken 2566876 times.
✓ Branch 1 taken 198244634 times.
✓ Branch 2 taken 4642964 times.
✓ Branch 3 taken 130947868 times.
✓ Branch 4 taken 716100 times.
✓ Branch 5 taken 132210618 times.
✓ Branch 6 taken 492848 times.
✓ Branch 7 taken 7750954 times.
✓ Branch 8 taken 37404 times.
✓ Branch 9 taken 697406 times.
✗ Branch 10 not taken.
✓ Branch 11 taken 144802950 times.
✓ Branch 12 taken 1250992 times.
✓ Branch 13 taken 108288148 times.
✓ Branch 14 taken 578006 times.
✓ Branch 15 taken 95941250 times.
✓ Branch 16 taken 778278 times.
✓ Branch 17 taken 42924246 times.
✓ Branch 18 taken 90646 times.
✓ Branch 19 taken 95063190 times.
✓ Branch 20 taken 1044876 times.
✓ Branch 21 taken 90445418 times.
✓ Branch 22 taken 1031976 times.
✓ Branch 23 taken 132146906 times.
✓ Branch 24 taken 678230 times.
✓ Branch 25 taken 4303876 times.
✓ Branch 26 taken 372512 times.
✓ Branch 27 taken 9171136 times.
✓ Branch 28 taken 435042 times.
✓ Branch 29 taken 76634668 times.
✓ Branch 30 taken 2784704 times.
✓ Branch 31 taken 2668352 times.
✓ Branch 32 taken 235316 times.
✓ Branch 33 taken 43333468 times.
✓ Branch 34 taken 715756 times.
✓ Branch 35 taken 20581256 times.
✓ Branch 36 taken 393956 times.
✓ Branch 37 taken 47343684 times.
✓ Branch 38 taken 1048808 times.
✓ Branch 39 taken 46246170 times.
✓ Branch 40 taken 2812274 times.
✓ Branch 41 taken 42766148 times.
✓ Branch 42 taken 1191451 times.
✓ Branch 43 taken 24482541 times.
✓ Branch 44 taken 1261614 times.
✓ Branch 45 taken 2626733 times.
✓ Branch 46 taken 1126664 times.
✓ Branch 47 taken 1318040 times.
✓ Branch 48 taken 553356 times.
✓ Branch 49 taken 3483392 times.
✓ Branch 50 taken 1300792 times.
✓ Branch 51 taken 11074492 times.
✓ Branch 52 taken 1391320 times.
✓ Branch 53 taken 2347054 times.
✓ Branch 54 taken 188854 times.
✓ Branch 55 taken 1601190 times.
✓ Branch 56 taken 1570850 times.
✓ Branch 57 taken 576310 times.
✓ Branch 58 taken 1327604 times.
✓ Branch 59 taken 1090952 times.
✓ Branch 60 taken 312964 times.
✓ Branch 61 taken 994494 times.
✓ Branch 62 taken 116056 times.
✓ Branch 63 taken 553730 times.
✓ Branch 64 taken 15648 times.
✓ Branch 65 taken 58800 times.
✓ Branch 66 taken 60782 times.
✓ Branch 67 taken 153970 times.
✓ Branch 68 taken 28112 times.
✓ Branch 69 taken 34832 times.
✓ Branch 70 taken 10820 times.
✓ Branch 71 taken 5418 times.
✓ Branch 72 taken 235 times.
✓ Branch 73 taken 607 times.
✓ Branch 74 taken 161 times.
✓ Branch 75 taken 53 times.
✓ Branch 76 taken 8868 times.
✓ Branch 77 taken 27838 times.
✓ Branch 78 taken 35942 times.
✓ Branch 79 taken 114678 times.
✓ Branch 80 taken 556 times.
✓ Branch 81 taken 11398 times.
1556279081 { return boundaryType_ == BoundaryType::physicalBoundary; }
162
163 208077926 bool processorBoundary() const
164
4/4
✓ Branch 0 taken 201670536 times.
✓ Branch 1 taken 40788 times.
✓ Branch 2 taken 630592 times.
✓ Branch 3 taken 5736010 times.
208077926 { return boundaryType_ == BoundaryType::processorBoundary; }
165
166 1144157667 bool isFrontal() const
167
41/44
✓ Branch 0 taken 100378664 times.
✓ Branch 1 taken 5834888 times.
✓ Branch 2 taken 1122 times.
✓ Branch 3 taken 190700412 times.
✓ Branch 4 taken 38 times.
✓ Branch 5 taken 12658277 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 95301126 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 8025930 times.
✗ Branch 10 not taken.
✓ Branch 11 taken 95301126 times.
✓ Branch 12 taken 2948548 times.
✓ Branch 13 taken 78044854 times.
✓ Branch 14 taken 78079092 times.
✓ Branch 15 taken 156814682 times.
✓ Branch 16 taken 59906306 times.
✓ Branch 17 taken 120327676 times.
✓ Branch 18 taken 28021004 times.
✓ Branch 19 taken 49410612 times.
✓ Branch 20 taken 19421442 times.
✓ Branch 21 taken 25002214 times.
✓ Branch 22 taken 270878 times.
✓ Branch 23 taken 550482 times.
✓ Branch 24 taken 1978922 times.
✓ Branch 25 taken 1932186 times.
✓ Branch 26 taken 2543766 times.
✓ Branch 27 taken 2769554 times.
✓ Branch 28 taken 1713578 times.
✓ Branch 29 taken 2465940 times.
✓ Branch 30 taken 685936 times.
✓ Branch 31 taken 847592 times.
✓ Branch 32 taken 155460 times.
✓ Branch 33 taken 225040 times.
✓ Branch 34 taken 571176 times.
✓ Branch 35 taken 1114670 times.
✓ Branch 36 taken 27228 times.
✓ Branch 37 taken 53464 times.
✓ Branch 38 taken 22232 times.
✓ Branch 39 taken 40552 times.
✓ Branch 40 taken 3600 times.
✓ Branch 41 taken 7200 times.
✓ Branch 42 taken 132 times.
✓ Branch 43 taken 66 times.
1144157667 { return faceType_ == FaceType::frontal; }
168
169 1553049117 bool isLateral() const
170
27/30
✗ Branch 0 not taken.
✓ Branch 1 taken 204629356 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 150570760 times.
✓ Branch 4 taken 16 times.
✓ Branch 5 taken 149245534 times.
✓ Branch 6 taken 27004255 times.
✓ Branch 7 taken 148282492 times.
✓ Branch 8 taken 21990630 times.
✓ Branch 9 taken 190173610 times.
✓ Branch 10 taken 54603320 times.
✓ Branch 11 taken 206935404 times.
✓ Branch 12 taken 352000 times.
✓ Branch 13 taken 402788 times.
✗ Branch 14 not taken.
✓ Branch 15 taken 43972146 times.
✓ Branch 16 taken 417320 times.
✓ Branch 17 taken 10823736 times.
✓ Branch 18 taken 9040 times.
✓ Branch 19 taken 271093184 times.
✓ Branch 20 taken 72880 times.
✓ Branch 21 taken 1132274 times.
✓ Branch 22 taken 11070 times.
✓ Branch 23 taken 12811422 times.
✓ Branch 24 taken 98 times.
✓ Branch 25 taken 8877914 times.
✓ Branch 26 taken 94 times.
✓ Branch 27 taken 49633000 times.
✓ Branch 28 taken 2396 times.
✓ Branch 29 taken 2378 times.
1553049117 { return faceType_ == FaceType::lateral; }
171
172 616270540 Scalar area() const
173 616270540 { return area_; }
174
175 211939816 SmallLocalIndexType normalAxis() const
176
11/19
✗ Branch 0 not taken.
✗ Branch 1 not taken.
✓ Branch 3 taken 30528 times.
✓ Branch 4 taken 20352 times.
✓ Branch 5 taken 28180 times.
✓ Branch 6 taken 18788 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✓ Branch 10 taken 290832 times.
✗ Branch 11 not taken.
✓ Branch 12 taken 382932 times.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✓ Branch 15 taken 3584 times.
✓ Branch 16 taken 343920 times.
✓ Branch 17 taken 65908 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 284196 times.
✓ Branch 9 taken 48088 times.
207935452 { return normalAxis_; }
177
178 1333980950 std::int_least8_t directionSign() const
179
14/17
✓ Branch 0 taken 10246 times.
✓ Branch 1 taken 101506892 times.
✓ Branch 5 taken 1840489 times.
✓ Branch 6 taken 65267015 times.
✓ Branch 8 taken 118980 times.
✓ Branch 9 taken 191832 times.
✓ Branch 10 taken 1870918 times.
✓ Branch 11 taken 280670 times.
✓ Branch 12 taken 3 times.
✓ Branch 13 taken 96421 times.
✗ Branch 14 not taken.
✓ Branch 15 taken 65908 times.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✓ Branch 2 taken 9392 times.
✓ Branch 4 taken 1569 times.
✓ Branch 3 taken 18789 times.
816748884 { return outerNormalSign_; }
180
181 private:
182 GlobalPosition center_;
183 GlobalPosition ipGlobal_;
184 std::array<GridIndexType, 2> globalScvIndices_;
185 SmallLocalIndexType localScvfIdx_;
186 GridIndexType globalScvfIdx_;
187 Scalar area_;
188 SmallLocalIndexType normalAxis_;
189 std::int_least8_t outerNormalSign_;
190 FaceType faceType_;
191 BoundaryType boundaryType_;
192 };
193
194 } // end namespace Dumux
195
196 #endif
197