GCC Code Coverage Report


Directory: ../../../builds/dumux-repositories/
File: dumux/dumux/discretization/facecentered/staggered/subcontrolvolumeface.hh
Date: 2025-04-12 19:19:20
Exec Total Coverage
Lines: 60 60 100.0%
Functions: 17 17 100.0%
Branches: 358 421 85.0%

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/subcontrolvolumefacebase.hh>
23 #include <dumux/discretization/facecentered/staggered/normalaxis.hh>
24
25 namespace Dumux {
26
27 /*!
28 * \ingroup FaceCenteredStaggeredDiscretization
29 * \brief Default traits class to be used for the sub-control volume face
30 * for the face-centered staggered finite volume scheme
31 * \tparam GridView the type of the grid view
32 */
33 template<class GridView>
34 struct FaceCenteredDefaultScvfGeometryTraits
35 {
36 using GridIndexType = typename IndexTraits<GridView>::GridIndex;
37 using LocalIndexType = typename IndexTraits<GridView>::LocalIndex;
38 using Scalar = typename GridView::ctype;
39 using Element = typename GridView::template Codim<0>::Entity;
40 using GlobalPosition = typename Element::Geometry::GlobalCoordinate;
41
42 static constexpr int dim = GridView::Grid::dimension;
43 static constexpr int dimWorld = GridView::Grid::dimensionworld;
44 using CornerStorage = std::array<GlobalPosition, (1<<(dim-1))>;
45 using Geometry = Dune::AxisAlignedCubeGeometry<Scalar, dim-1, dimWorld>;
46 };
47
48 /*!
49 * \ingroup FaceCenteredStaggeredDiscretization
50 * \brief Face centered staggered sub control volume face
51 */
52 template<class GridView, class T = FaceCenteredDefaultScvfGeometryTraits<GridView>>
53 class FaceCenteredStaggeredSubControlVolumeFace
54 {
55 using Geometry = typename T::Geometry;
56 using GridIndexType = typename T::GridIndexType;
57 using Scalar = typename T::Scalar;
58 using Element = typename T::Element;
59 using CornerStorage = typename T::CornerStorage;
60
61 using SmallLocalIndexType = typename IndexTraits<GridView>::SmallLocalIndex;
62
63 using ElementGeometry = typename Element::Geometry;
64 using IntersectionGeometry = typename GridView::Intersection::Geometry;
65
66 public:
67 //! state the traits public and thus export all types
68 using Traits = T;
69
70 using GlobalPosition = typename T::GlobalPosition;
71 enum class FaceType : SmallLocalIndexType {frontal, lateral};
72 enum class BoundaryType : SmallLocalIndexType {interior, physicalBoundary, processorBoundary};
73
74 23740448 FaceCenteredStaggeredSubControlVolumeFace() = default;
75
76 //! The constructor for frontal faces
77 10075262 FaceCenteredStaggeredSubControlVolumeFace(const ElementGeometry& elementGeometry,
78 const IntersectionGeometry& intersectionGeometry,
79 const std::array<GridIndexType, 2> globalScvIndices,
80 const SmallLocalIndexType localScvfIdx,
81 const GridIndexType globalScvfIdx,
82 const GlobalPosition& unitOuterNormal,
83 const FaceType faceType,
84 const BoundaryType boundaryType)
85 10075262 : globalScvIndices_(globalScvIndices)
86 10075262 , localScvfIdx_(localScvfIdx)
87 10075262 , globalScvfIdx_(globalScvfIdx)
88 10075262 , area_(intersectionGeometry.volume())
89 10075262 , normalAxis_(Dumux::normalAxis(unitOuterNormal))
90
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 10075262 times.
10075262 , outerNormalSign_(sign(unitOuterNormal[normalAxis_]))
91 10075262 , faceType_(faceType)
92 10075262 , boundaryType_(boundaryType)
93 {
94
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 10075262 times.
10075262 assert(faceType == FaceType::frontal);
95 10089166 center_ = boundary() ? intersectionGeometry.center() : elementGeometry.center();
96 10075262 ipGlobal_ = center_;
97
98 10075262 if (!boundary())
99 9813642 outerNormalSign_ *= -1.0;
100 10075262 }
101
102 //! The constructor for lateral faces
103 template<class LateralFacetGeometry>
104 19649656 FaceCenteredStaggeredSubControlVolumeFace(const ElementGeometry& elementGeometry,
105 const IntersectionGeometry& intersectionGeometry,
106 const LateralFacetGeometry& lateralFacetGeometry,
107 const std::array<GridIndexType, 2> globalScvIndices,
108 const SmallLocalIndexType localScvfIdx,
109 const GridIndexType globalScvfIdx,
110 const GlobalPosition& unitOuterNormal,
111 const FaceType faceType,
112 const BoundaryType boundaryType)
113 19649656 : globalScvIndices_(globalScvIndices)
114 19649656 , localScvfIdx_(localScvfIdx)
115 19649656 , globalScvfIdx_(globalScvfIdx)
116 19649656 , area_(0.5*lateralFacetGeometry.volume())
117 19649656 , normalAxis_(Dumux::normalAxis(unitOuterNormal))
118
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 19649656 times.
19649656 , outerNormalSign_(sign(unitOuterNormal[normalAxis_]))
119 19649656 , faceType_(faceType)
120 19649656 , boundaryType_(boundaryType)
121 {
122
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 19649656 times.
19649656 assert(faceType == FaceType::lateral);
123 56282616 const auto shift = intersectionGeometry.center() - elementGeometry.center();
124 19649656 ipGlobal_ = lateralFacetGeometry.center() + shift;
125 56282616 center_ = 0.5*(lateralFacetGeometry.center() + ipGlobal_);
126 19649656 }
127
128 //! The center of the sub control volume face
129
0/2
✗ Branch 1 not taken.
✗ Branch 2 not taken.
1558622 const GlobalPosition& center() const
130
12/13
✓ Branch 1 taken 319730 times.
✓ Branch 2 taken 34960 times.
✓ Branch 3 taken 54848 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.
12138557 { return center_; }
131
132 //! The integration point of the sub control volume face
133 1197306 const GlobalPosition& ipGlobal() const
134
16/17
✓ 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 2 not taken.
8448284 { return ipGlobal_; }
135
136 //! The unit outer normal
137 410090094 const GlobalPosition unitOuterNormal() const
138 {
139 410090094 GlobalPosition result(0.0);
140
0/2
✗ Branch 0 not taken.
✗ Branch 1 not taken.
204951002 result[normalAxis_] = 1.0 * directionSign();
141
2/4
✓ Branch 1 taken 26 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 16 times.
✗ Branch 5 not taken.
410090094 return result;
142 }
143
144 //! Index of the inside sub control volume for spatial param evaluation
145
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.
4483339538 GridIndexType insideScvIdx() const
146
88/93
✓ Branch 1 taken 171132520 times.
✓ Branch 2 taken 63088510 times.
✓ Branch 3 taken 63774240 times.
✓ Branch 4 taken 16019680 times.
✓ Branch 5 taken 2297649 times.
✓ Branch 6 taken 199508357 times.
✓ Branch 8 taken 10173492 times.
✓ Branch 9 taken 145953554 times.
✓ Branch 10 taken 6388254 times.
✓ Branch 11 taken 43157890 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 20877850 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 26 taken 90285895 times.
✓ Branch 27 taken 790768 times.
✓ Branch 28 taken 338256 times.
✓ Branch 29 taken 444140 times.
✓ Branch 32 taken 3870440 times.
✓ Branch 33 taken 614468 times.
✓ Branch 35 taken 20719336 times.
✓ Branch 36 taken 165442 times.
✓ Branch 38 taken 9679176 times.
✓ Branch 39 taken 194637652 times.
✓ Branch 41 taken 45469638 times.
✓ Branch 42 taken 37485196 times.
✓ Branch 44 taken 94067370 times.
✓ Branch 45 taken 3493932 times.
✓ Branch 47 taken 43239582 times.
✓ Branch 48 taken 14839814 times.
✓ Branch 49 taken 73608876 times.
✓ Branch 50 taken 71229972 times.
✓ Branch 51 taken 26496552 times.
✓ Branch 52 taken 37307270 times.
✓ Branch 53 taken 88828330 times.
✓ Branch 54 taken 62641904 times.
✓ Branch 55 taken 7677828 times.
✓ Branch 56 taken 40269600 times.
✓ Branch 57 taken 59293470 times.
✓ Branch 58 taken 4714364 times.
✓ Branch 59 taken 1343764 times.
✓ Branch 60 taken 66606534 times.
✓ Branch 61 taken 26648884 times.
✓ Branch 62 taken 2280968 times.
✓ Branch 63 taken 178606 times.
✓ Branch 64 taken 69947916 times.
✓ Branch 66 taken 83470 times.
✓ Branch 67 taken 1401456 times.
✓ Branch 68 taken 16347144 times.
✓ Branch 69 taken 1432736 times.
✓ Branch 0 taken 156 times.
✓ Branch 13 taken 6388229 times.
✓ Branch 14 taken 140622326 times.
✓ Branch 25 taken 150 times.
✓ Branch 30 taken 2818118 times.
✓ Branch 31 taken 1146708 times.
✓ Branch 37 taken 173128 times.
✓ Branch 40 taken 94288990 times.
✓ Branch 43 taken 197915784 times.
✓ Branch 46 taken 141521060 times.
✓ Branch 7 taken 5458332 times.
✓ Branch 19 taken 3682496 times.
✓ Branch 20 taken 588178 times.
✓ Branch 12 taken 72 times.
✓ Branch 34 taken 3680944 times.
✓ Branch 65 taken 62585366 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.
4724080020 { return globalScvIndices_[0]; }
147
148 //! index of the outside sub control volume for spatial param evaluation
149 1844268245 GridIndexType outsideScvIdx() const
150
32/41
✓ Branch 1 taken 7355766 times.
✓ Branch 2 taken 46864814 times.
✓ Branch 4 taken 383534 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 232 times.
✓ Branch 8 taken 64 times.
✓ Branch 10 taken 109792214 times.
✓ Branch 11 taken 1233292 times.
✓ Branch 13 taken 25921 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 99970 times.
✓ Branch 17 taken 737176 times.
✓ Branch 19 taken 14588794 times.
✓ Branch 20 taken 1412760 times.
✗ Branch 9 not taken.
✓ Branch 15 taken 532768 times.
✓ Branch 18 taken 1142422 times.
✓ Branch 21 taken 1140396 times.
✓ Branch 22 taken 23332 times.
✗ Branch 0 not taken.
✓ Branch 12 taken 3449912 times.
✓ Branch 23 taken 1426640 times.
✓ Branch 24 taken 48404 times.
✓ Branch 26 taken 101408 times.
✓ Branch 27 taken 30740 times.
✓ Branch 3 taken 10601784 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.
1946967881 { return globalScvIndices_[1]; }
151
152 6614791 GridIndexType index() const
153
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.
10948951 { return globalScvfIdx_; }
154
155 360834025 SmallLocalIndexType localIndex() const
156
8/9
✓ Branch 13 taken 141220 times.
✓ Branch 14 taken 315631 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.
360834025 { return localScvfIdx_; }
157
158 FaceType faceType() const
159 { return faceType_; }
160
161
4/4
✓ Branch 0 taken 261620 times.
✓ Branch 1 taken 9813642 times.
✓ Branch 2 taken 8967242 times.
✓ Branch 3 taken 235380 times.
19277884 bool boundary() const
162
81/82
✓ Branch 0 taken 2566876 times.
✓ Branch 1 taken 197594966 times.
✓ Branch 2 taken 4625156 times.
✓ Branch 3 taken 129016672 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 144153282 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 131497238 times.
✓ Branch 24 taken 675290 times.
✓ Branch 25 taken 4303876 times.
✓ Branch 26 taken 396080 times.
✓ Branch 27 taken 9165120 times.
✓ Branch 28 taken 437402 times.
✓ Branch 29 taken 76636836 times.
✓ Branch 30 taken 2779536 times.
✓ Branch 31 taken 2654200 times.
✓ Branch 32 taken 214556 times.
✓ Branch 33 taken 43351468 times.
✓ Branch 34 taken 715756 times.
✓ Branch 35 taken 20581256 times.
✓ Branch 36 taken 393956 times.
✓ Branch 37 taken 46047036 times.
✓ Branch 38 taken 1033940 times.
✓ Branch 39 taken 44964642 times.
✓ Branch 40 taken 2779022 times.
✓ Branch 41 taken 42732896 times.
✓ Branch 42 taken 1191451 times.
✓ Branch 43 taken 24449289 times.
✓ Branch 44 taken 1260222 times.
✓ Branch 45 taken 2622749 times.
✓ Branch 46 taken 1133736 times.
✓ Branch 47 taken 1315608 times.
✓ Branch 48 taken 548820 times.
✓ Branch 49 taken 3468192 times.
✓ Branch 50 taken 1294500 times.
✓ Branch 51 taken 11075708 times.
✓ Branch 52 taken 1391320 times.
✓ Branch 53 taken 2347054 times.
✓ Branch 54 taken 186154 times.
✓ Branch 55 taken 1592334 times.
✓ Branch 56 taken 1531450 times.
✓ Branch 57 taken 575710 times.
✓ Branch 58 taken 1324004 times.
✓ Branch 59 taken 1079144 times.
✓ Branch 60 taken 312956 times.
✓ Branch 61 taken 994102 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.
1549592421 { return boundaryType_ == BoundaryType::physicalBoundary; }
163
164 206583050 bool processorBoundary() const
165
4/4
✓ Branch 0 taken 200235960 times.
✓ Branch 1 taken 40788 times.
✓ Branch 2 taken 630592 times.
✓ Branch 3 taken 5675710 times.
206583050 { return boundaryType_ == BoundaryType::processorBoundary; }
166
167 1138753935 bool isFrontal() const
168
41/44
✓ Branch 0 taken 99728996 times.
✓ Branch 1 taken 5834888 times.
✓ Branch 2 taken 1122 times.
✓ Branch 3 taken 189406704 times.
✓ Branch 4 taken 38 times.
✓ Branch 5 taken 12658277 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 94651458 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 8025930 times.
✗ Branch 10 not taken.
✓ Branch 11 taken 94651458 times.
✓ Branch 12 taken 2948548 times.
✓ Branch 13 taken 78044854 times.
✓ Branch 14 taken 77429424 times.
✓ Branch 15 taken 155520974 times.
✓ Branch 16 taken 59906306 times.
✓ Branch 17 taken 120327676 times.
✓ Branch 18 taken 28031180 times.
✓ Branch 19 taken 49431464 times.
✓ Branch 20 taken 19352706 times.
✓ Branch 21 taken 24935806 times.
✓ Branch 22 taken 260246 times.
✓ Branch 23 taken 523858 times.
✓ Branch 24 taken 1976234 times.
✓ Branch 25 taken 1932186 times.
✓ Branch 26 taken 2540034 times.
✓ Branch 27 taken 2763602 times.
✓ Branch 28 taken 1713578 times.
✓ Branch 29 taken 2465940 times.
✓ Branch 30 taken 665636 times.
✓ Branch 31 taken 807592 times.
✓ Branch 32 taken 154260 times.
✓ Branch 33 taken 222640 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.
1138753935 { return faceType_ == FaceType::frontal; }
169
170 1545834909 bool isLateral() const
171
28/30
✗ Branch 0 not taken.
✓ Branch 1 taken 203335648 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 150570760 times.
✓ Branch 4 taken 16 times.
✓ Branch 5 taken 149245534 times.
✓ Branch 6 taken 26354587 times.
✓ Branch 7 taken 146988784 times.
✓ Branch 8 taken 21990630 times.
✓ Branch 9 taken 188876962 times.
✓ Branch 10 taken 54603320 times.
✓ Branch 11 taken 205639008 times.
✓ Branch 12 taken 344816 times.
✓ Branch 13 taken 425756 times.
✓ Branch 14 taken 4496 times.
✓ Branch 15 taken 43966242 times.
✓ Branch 16 taken 417320 times.
✓ Branch 17 taken 10762328 times.
✓ Branch 18 taken 9040 times.
✓ Branch 19 taken 269756136 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.
1545834909 { return faceType_ == FaceType::lateral; }
172
173 613670524 Scalar area() const
174 613670524 { return area_; }
175
176 210642076 SmallLocalIndexType normalAxis() const
177
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 341232 times.
✓ Branch 17 taken 65908 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 284196 times.
✓ Branch 9 taken 48088 times.
206639056 { return normalAxis_; }
178
179 1328138222 std::int_least8_t directionSign() const
180
14/17
✓ Branch 0 taken 10252 times.
✓ Branch 1 taken 100857218 times.
✓ Branch 5 taken 1840489 times.
✓ Branch 6 taken 65267015 times.
✓ Branch 8 taken 118980 times.
✓ Branch 9 taken 190488 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.
814148868 { return outerNormalSign_; }
181
182 private:
183 GlobalPosition center_;
184 GlobalPosition ipGlobal_;
185 std::array<GridIndexType, 2> globalScvIndices_;
186 SmallLocalIndexType localScvfIdx_;
187 GridIndexType globalScvfIdx_;
188 Scalar area_;
189 SmallLocalIndexType normalAxis_;
190 std::int_least8_t outerNormalSign_;
191 FaceType faceType_;
192 BoundaryType boundaryType_;
193 };
194
195 } // end namespace Dumux
196
197 #endif
198