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 |