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 CCTpfaDiscretization | ||
10 | * \brief The sub control volume face | ||
11 | */ | ||
12 | #ifndef DUMUX_DISCRETIZATION_CC_TPFA_SUBCONTROLVOLUMEFACE_HH | ||
13 | #define DUMUX_DISCRETIZATION_CC_TPFA_SUBCONTROLVOLUMEFACE_HH | ||
14 | |||
15 | #include <utility> | ||
16 | #include <vector> | ||
17 | |||
18 | #include <dune/common/reservedvector.hh> | ||
19 | #include <dune/geometry/type.hh> | ||
20 | #include <dune/geometry/multilineargeometry.hh> | ||
21 | |||
22 | #include <dumux/common/boundaryflag.hh> | ||
23 | #include <dumux/common/indextraits.hh> | ||
24 | #include <dumux/discretization/subcontrolvolumefacebase.hh> | ||
25 | |||
26 | namespace Dumux { | ||
27 | |||
28 | /*! | ||
29 | * \ingroup CCTpfaDiscretization | ||
30 | * \brief Default traits class to be used for the sub-control volume faces | ||
31 | * for the cell-centered finite volume scheme using TPFA | ||
32 | * \tparam GV the type of the grid view | ||
33 | */ | ||
34 | template<class GridView> | ||
35 | struct CCTpfaDefaultScvfGeometryTraits | ||
36 | { | ||
37 | using Grid = typename GridView::Grid; | ||
38 | |||
39 | static constexpr int dim = Grid::dimension; | ||
40 | static constexpr int dimWorld = Grid::dimensionworld; | ||
41 | |||
42 | using Scalar = typename Grid::ctype; | ||
43 | using GridIndexType = typename IndexTraits<GridView>::GridIndex; | ||
44 | using LocalIndexType = typename IndexTraits<GridView>::LocalIndex; | ||
45 | using GridIndexStorage = typename std::conditional_t< (dim<dimWorld), | ||
46 | std::vector<GridIndexType>, | ||
47 | Dune::ReservedVector<GridIndexType, 2> >; | ||
48 | |||
49 | // we use geometry traits that use static corner vectors to and a fixed geometry type | ||
50 | template <class ct> | ||
51 | struct ScvfMLGTraits : public Dune::MultiLinearGeometryTraits<ct> | ||
52 | { | ||
53 | // we use static vectors to store the corners as we know | ||
54 | // the number of corners in advance (2^(dim-1) corners (1<<(dim-1)) | ||
55 | template< int mydim, int cdim > | ||
56 | struct CornerStorage | ||
57 | { | ||
58 | using Type = Dune::ReservedVector< Dune::FieldVector< ct, cdim >, (1<<(dim-1)) >; | ||
59 | }; | ||
60 | }; | ||
61 | |||
62 | using Geometry = Dune::MultiLinearGeometry<Scalar, dim-1, dimWorld, ScvfMLGTraits<Scalar> >; | ||
63 | using CornerStorage = typename ScvfMLGTraits<Scalar>::template CornerStorage<dim-1, dimWorld>::Type; | ||
64 | using GlobalPosition = typename CornerStorage::value_type; | ||
65 | using BoundaryFlag = Dumux::BoundaryFlag<Grid>; | ||
66 | }; | ||
67 | |||
68 | /*! | ||
69 | * \ingroup CCTpfaDiscretization | ||
70 | * \brief The sub control volume face | ||
71 | * \tparam GV the type of the grid view | ||
72 | * \tparam T the scvf geometry traits | ||
73 | */ | ||
74 | template<class GV, | ||
75 | class T = CCTpfaDefaultScvfGeometryTraits<GV> > | ||
76 |
2/16✗ Branch 0 not taken.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✗ Branch 9 not taken.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✓ Branch 12 taken 24 times.
✗ Branch 13 not taken.
✓ Branch 14 taken 576 times.
✗ Branch 15 not taken.
|
3475252 | class CCTpfaSubControlVolumeFace |
77 | : public SubControlVolumeFaceBase<CCTpfaSubControlVolumeFace<GV, T>, T> | ||
78 | { | ||
79 | using ThisType = CCTpfaSubControlVolumeFace<GV, T>; | ||
80 | using ParentType = SubControlVolumeFaceBase<ThisType, T>; | ||
81 | using GridIndexType = typename T::GridIndexType; | ||
82 | using Scalar = typename T::Scalar; | ||
83 | using CornerStorage = typename T::CornerStorage; | ||
84 | using GridIndexStorage = typename T::GridIndexStorage; | ||
85 | using BoundaryFlag = typename T::BoundaryFlag; | ||
86 | |||
87 | public: | ||
88 | //! export the type used for global coordinates | ||
89 | using GlobalPosition = typename T::GlobalPosition; | ||
90 | //! state the traits public and thus export all types | ||
91 | using Traits = T; | ||
92 | |||
93 | // the default constructor | ||
94 | CCTpfaSubControlVolumeFace() = default; | ||
95 | |||
96 | /*! | ||
97 | * \brief Constructor with intersection | ||
98 | * | ||
99 | * \param is The intersection | ||
100 | * \param isGeometry The geometry of the intersection | ||
101 | * \param scvfIndex The global index of this scv face | ||
102 | * \param scvIndices The inside/outside scv indices connected to this face | ||
103 | * \param isBoundary Bool to specify whether or not the scvf is on an interior or the domain boundary | ||
104 | */ | ||
105 | template <class Intersection> | ||
106 |
4/4✓ Branch 0 taken 8158235 times.
✓ Branch 1 taken 8158235 times.
✓ Branch 2 taken 9127482 times.
✓ Branch 3 taken 9127482 times.
|
152099234 | CCTpfaSubControlVolumeFace(const Intersection& is, |
107 | const typename Intersection::Geometry& isGeometry, | ||
108 | GridIndexType scvfIndex, | ||
109 | const GridIndexStorage& scvIndices, | ||
110 | bool isBoundary) | ||
111 | : ParentType() | ||
112 |
4/4✓ Branch 0 taken 8158235 times.
✓ Branch 1 taken 8158235 times.
✓ Branch 2 taken 9127482 times.
✓ Branch 3 taken 9127482 times.
|
152099234 | , area_(isGeometry.volume()) |
113 |
6/6✓ Branch 0 taken 34439378 times.
✓ Branch 1 taken 34439378 times.
✓ Branch 2 taken 9127504 times.
✓ Branch 3 taken 9127504 times.
✓ Branch 4 taken 18 times.
✓ Branch 5 taken 18 times.
|
152099234 | , center_(isGeometry.center()) |
114 | 152099234 | , unitOuterNormal_(is.centerUnitOuterNormal()) | |
115 | 152099234 | , scvfIndex_(scvfIndex) | |
116 | 152099234 | , scvIndices_(scvIndices) | |
117 | 152099234 | , boundary_(isBoundary) | |
118 |
2/5✓ Branch 1 taken 3373358 times.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✓ Branch 0 taken 76426 times.
|
152099234 | , boundaryFlag_{is} |
119 | 117527800 | {} | |
120 | |||
121 | //! The center of the sub control volume face | ||
122 |
0/4✗ Branch 1 not taken.
✗ Branch 2 not taken.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
|
19859248 | const GlobalPosition& center() const |
123 | { | ||
124 |
14/19✓ Branch 0 taken 7873993 times.
✓ Branch 1 taken 12076543 times.
✓ Branch 3 taken 545347 times.
✓ Branch 4 taken 617602 times.
✓ Branch 5 taken 518204 times.
✓ Branch 6 taken 88249 times.
✓ Branch 8 taken 40109 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 76607 times.
✓ Branch 11 taken 40074 times.
✓ Branch 13 taken 36498 times.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
✓ Branch 16 taken 10 times.
✗ Branch 18 not taken.
✗ Branch 19 not taken.
✓ Branch 2 taken 706384 times.
✓ Branch 7 taken 40064 times.
✓ Branch 12 taken 40109 times.
|
185441664 | return center_; |
125 | } | ||
126 | |||
127 | //! The integration point for flux evaluations in global coordinates | ||
128 | 28903310 | const GlobalPosition& ipGlobal() const | |
129 | { | ||
130 | // Return center for now | ||
131 |
36/40✓ Branch 0 taken 6327675 times.
✓ Branch 1 taken 101109281 times.
✓ Branch 2 taken 493772 times.
✓ Branch 3 taken 8396705 times.
✓ Branch 4 taken 19683838 times.
✓ Branch 5 taken 31673782 times.
✓ Branch 6 taken 1122669 times.
✓ Branch 7 taken 20549455 times.
✓ Branch 8 taken 23101234 times.
✓ Branch 9 taken 1645120 times.
✓ Branch 10 taken 7633122 times.
✓ Branch 11 taken 22006080 times.
✓ Branch 12 taken 1425671 times.
✓ Branch 13 taken 355022 times.
✓ Branch 15 taken 426488 times.
✓ Branch 16 taken 6054240 times.
✓ Branch 17 taken 163076 times.
✓ Branch 18 taken 113261 times.
✓ Branch 20 taken 11731 times.
✓ Branch 21 taken 130257 times.
✓ Branch 23 taken 4936 times.
✓ Branch 24 taken 436 times.
✓ Branch 27 taken 96 times.
✓ Branch 28 taken 32 times.
✓ Branch 30 taken 372 times.
✗ Branch 31 not taken.
✓ Branch 32 taken 804 times.
✓ Branch 33 taken 220 times.
✓ Branch 34 taken 20 times.
✓ Branch 35 taken 40 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 8 times.
✓ Branch 38 taken 15 times.
✓ Branch 39 taken 53 times.
✓ Branch 14 taken 601637 times.
✓ Branch 19 taken 27499 times.
✓ Branch 22 taken 225 times.
✗ Branch 25 not taken.
✗ Branch 26 not taken.
✓ Branch 29 taken 1860 times.
|
1118411191 | return center_; |
132 | } | ||
133 | |||
134 | //! The area of the sub control volume face | ||
135 | 1323318390 | Scalar area() const | |
136 | { | ||
137 |
9/14✓ Branch 0 taken 241461473 times.
✓ Branch 1 taken 20961922 times.
✓ Branch 3 taken 59215 times.
✓ Branch 4 taken 157558 times.
✓ Branch 5 taken 58766 times.
✓ Branch 6 taken 400 times.
✗ Branch 8 not taken.
✗ Branch 9 not taken.
✗ Branch 10 not taken.
✓ Branch 11 taken 10 times.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✓ Branch 2 taken 268159542 times.
✓ Branch 7 taken 14322 times.
|
1138103949 | return area_; |
138 | } | ||
139 | |||
140 | //! returns true if the sub control volume face is on the boundary | ||
141 | 1985470219 | bool boundary() const | |
142 | { | ||
143 |
50/52✓ Branch 0 taken 126451528 times.
✓ Branch 1 taken 42855928 times.
✓ Branch 2 taken 10251200 times.
✓ Branch 3 taken 30753392 times.
✓ Branch 4 taken 156538969 times.
✓ Branch 5 taken 322448045 times.
✓ Branch 6 taken 301155024 times.
✓ Branch 7 taken 87006727 times.
✓ Branch 8 taken 329223453 times.
✓ Branch 9 taken 88938270 times.
✓ Branch 10 taken 46781732 times.
✓ Branch 11 taken 84247985 times.
✓ Branch 12 taken 60956098 times.
✓ Branch 13 taken 91037488 times.
✓ Branch 14 taken 58784458 times.
✓ Branch 15 taken 9866590 times.
✓ Branch 16 taken 36490707 times.
✓ Branch 17 taken 21724571 times.
✓ Branch 18 taken 10983945 times.
✓ Branch 19 taken 2589333 times.
✓ Branch 20 taken 66443102 times.
✓ Branch 21 taken 6180394 times.
✓ Branch 22 taken 3173175 times.
✓ Branch 23 taken 239022 times.
✓ Branch 24 taken 1014615 times.
✓ Branch 25 taken 250006 times.
✓ Branch 26 taken 27449025 times.
✓ Branch 27 taken 6114681 times.
✓ Branch 28 taken 27441861 times.
✓ Branch 29 taken 6402733 times.
✓ Branch 30 taken 110210 times.
✓ Branch 31 taken 1192996 times.
✓ Branch 32 taken 2378197 times.
✓ Branch 33 taken 597526 times.
✓ Branch 34 taken 1090793 times.
✓ Branch 35 taken 276401 times.
✓ Branch 36 taken 784 times.
✓ Branch 37 taken 3224 times.
✓ Branch 38 taken 158 times.
✓ Branch 39 taken 1448 times.
✓ Branch 40 taken 17792 times.
✓ Branch 41 taken 6435 times.
✓ Branch 42 taken 792 times.
✓ Branch 43 taken 1244 times.
✓ Branch 44 taken 14856 times.
✓ Branch 45 taken 5230 times.
✓ Branch 46 taken 2 times.
✓ Branch 47 taken 26 times.
✓ Branch 48 taken 90 times.
✗ Branch 49 not taken.
✓ Branch 50 taken 304 times.
✗ Branch 51 not taken.
|
2069492565 | return boundary_; |
144 | } | ||
145 | |||
146 | //! The unit outer normal of the sub control volume face | ||
147 | 167417365 | const GlobalPosition& unitOuterNormal() const | |
148 | { | ||
149 |
6/8✓ Branch 0 taken 11929326 times.
✓ Branch 1 taken 44768493 times.
✓ Branch 2 taken 19468025 times.
✓ Branch 3 taken 60012 times.
✓ Branch 4 taken 788 times.
✓ Branch 5 taken 124504 times.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
|
2964851840 | return unitOuterNormal_; |
150 | } | ||
151 | |||
152 | //! index of the inside sub control volume | ||
153 | 3406834887 | GridIndexType insideScvIdx() const | |
154 | { | ||
155 |
68/70✓ Branch 0 taken 6407255 times.
✓ Branch 1 taken 27581677 times.
✓ Branch 3 taken 55469109 times.
✓ Branch 4 taken 67852934 times.
✓ Branch 6 taken 36232861 times.
✓ Branch 7 taken 45909201 times.
✓ Branch 9 taken 17414796 times.
✓ Branch 10 taken 15348582 times.
✓ Branch 11 taken 30762087 times.
✓ Branch 12 taken 15972397 times.
✓ Branch 13 taken 30080317 times.
✓ Branch 14 taken 54007786 times.
✓ Branch 15 taken 64332711 times.
✓ Branch 16 taken 12056755 times.
✓ Branch 17 taken 293713 times.
✓ Branch 18 taken 22930296 times.
✓ Branch 19 taken 7395474 times.
✓ Branch 20 taken 4514431 times.
✓ Branch 22 taken 8789694 times.
✓ Branch 23 taken 5418637 times.
✓ Branch 35 taken 1055736 times.
✓ Branch 36 taken 996966 times.
✓ Branch 37 taken 103414 times.
✓ Branch 38 taken 30718 times.
✓ Branch 39 taken 1190198 times.
✓ Branch 40 taken 1139636 times.
✓ Branch 41 taken 120054 times.
✓ Branch 42 taken 191034 times.
✓ Branch 43 taken 2976 times.
✓ Branch 44 taken 142108 times.
✓ Branch 45 taken 1573524 times.
✓ Branch 46 taken 46353 times.
✓ Branch 47 taken 38958 times.
✓ Branch 48 taken 735142 times.
✓ Branch 49 taken 708522 times.
✓ Branch 50 taken 6 times.
✓ Branch 52 taken 1647 times.
✓ Branch 53 taken 432044 times.
✓ Branch 54 taken 544376 times.
✓ Branch 55 taken 1056 times.
✓ Branch 57 taken 1212 times.
✓ Branch 58 taken 18704 times.
✓ Branch 59 taken 17368 times.
✓ Branch 60 taken 2188368 times.
✗ Branch 62 not taken.
✗ Branch 63 not taken.
✓ Branch 64 taken 72 times.
✓ Branch 65 taken 54 times.
✓ Branch 66 taken 6192 times.
✓ Branch 67 taken 6624 times.
✓ Branch 68 taken 79932 times.
✓ Branch 69 taken 73236 times.
✓ Branch 5 taken 63760598 times.
✓ Branch 8 taken 32654829 times.
✓ Branch 21 taken 41622644 times.
✓ Branch 25 taken 3705884 times.
✓ Branch 26 taken 10111928 times.
✓ Branch 24 taken 6433517 times.
✓ Branch 28 taken 16742626 times.
✓ Branch 29 taken 15774794 times.
✓ Branch 30 taken 3058704 times.
✓ Branch 31 taken 264272 times.
✓ Branch 33 taken 5655018 times.
✓ Branch 34 taken 5045022 times.
✓ Branch 2 taken 69688428 times.
✓ Branch 27 taken 8238242 times.
✓ Branch 32 taken 426049 times.
✓ Branch 51 taken 5803 times.
✓ Branch 56 taken 468332 times.
✓ Branch 61 taken 2116224 times.
|
3844612531 | return scvIndices_[0]; |
156 | } | ||
157 | |||
158 | //! Index of the i-th outside sub control volume or boundary scv index. | ||
159 | // Results in undefined behaviour if i >= numOutsideScvs() | ||
160 | 2992317456 | GridIndexType outsideScvIdx(int i = 0) const | |
161 | { | ||
162 |
55/61✓ Branch 2 taken 66483110 times.
✓ Branch 3 taken 69508576 times.
✓ Branch 6 taken 33288934 times.
✓ Branch 7 taken 71141897 times.
✓ Branch 8 taken 44007214 times.
✓ Branch 9 taken 263543560 times.
✓ Branch 11 taken 1392195 times.
✓ Branch 12 taken 1702763 times.
✓ Branch 5 taken 37136310 times.
✓ Branch 13 taken 46378515 times.
✓ Branch 14 taken 46496754 times.
✓ Branch 16 taken 36693 times.
✓ Branch 17 taken 175216 times.
✓ Branch 4 taken 77377114 times.
✓ Branch 18 taken 83047 times.
✓ Branch 19 taken 19958 times.
✓ Branch 20 taken 4310 times.
✓ Branch 35 taken 2285 times.
✗ Branch 36 not taken.
✓ Branch 1 taken 70512023 times.
✓ Branch 10 taken 6685409 times.
✓ Branch 22 taken 77091 times.
✓ Branch 23 taken 111904 times.
✓ Branch 0 taken 7197117 times.
✓ Branch 15 taken 3366807 times.
✓ Branch 21 taken 150016 times.
✓ Branch 27 taken 114800 times.
✓ Branch 28 taken 74920 times.
✓ Branch 31 taken 481 times.
✓ Branch 32 taken 250972 times.
✓ Branch 33 taken 158582 times.
✓ Branch 34 taken 2408 times.
✓ Branch 24 taken 7475 times.
✓ Branch 25 taken 340 times.
✓ Branch 30 taken 1456 times.
✗ Branch 26 not taken.
✓ Branch 29 taken 988 times.
✓ Branch 38 taken 105974 times.
✓ Branch 39 taken 133 times.
✓ Branch 40 taken 1052 times.
✓ Branch 41 taken 1394 times.
✓ Branch 42 taken 4342 times.
✓ Branch 43 taken 2171 times.
✓ Branch 45 taken 484378 times.
✗ Branch 46 not taken.
✓ Branch 48 taken 1240 times.
✓ Branch 49 taken 14 times.
✗ Branch 51 not taken.
✗ Branch 52 not taken.
✓ Branch 53 taken 16 times.
✓ Branch 54 taken 4 times.
✓ Branch 55 taken 176 times.
✓ Branch 56 taken 128 times.
✗ Branch 37 not taken.
✓ Branch 44 taken 323208 times.
✓ Branch 47 taken 4342 times.
✓ Branch 50 taken 323180 times.
✓ Branch 57 taken 28 times.
✓ Branch 58 taken 42 times.
✓ Branch 60 taken 28 times.
✓ Branch 61 taken 14 times.
|
3521226287 | return scvIndices_[i+1]; |
163 | } | ||
164 | |||
165 | //! The number of scvs on the outside of this face | ||
166 | 658999305 | std::size_t numOutsideScvs() const | |
167 | { | ||
168 |
98/110✓ Branch 0 taken 14714816 times.
✓ Branch 1 taken 135748265 times.
✓ Branch 2 taken 21969615 times.
✓ Branch 3 taken 95239049 times.
✓ Branch 4 taken 19525686 times.
✓ Branch 5 taken 10640894 times.
✓ Branch 6 taken 43269214 times.
✓ Branch 7 taken 5382470 times.
✓ Branch 8 taken 47242622 times.
✓ Branch 9 taken 5251592 times.
✓ Branch 10 taken 49015668 times.
✓ Branch 11 taken 2208952 times.
✓ Branch 12 taken 30804653 times.
✓ Branch 13 taken 3183594 times.
✓ Branch 14 taken 48690863 times.
✓ Branch 15 taken 2577776 times.
✓ Branch 16 taken 32434051 times.
✓ Branch 17 taken 2925598 times.
✓ Branch 18 taken 24658526 times.
✓ Branch 19 taken 1567619 times.
✓ Branch 20 taken 3450872 times.
✓ Branch 21 taken 1188549 times.
✓ Branch 22 taken 23683064 times.
✓ Branch 23 taken 6567480 times.
✓ Branch 24 taken 3187933 times.
✓ Branch 25 taken 1746863 times.
✓ Branch 26 taken 101576 times.
✓ Branch 27 taken 33550 times.
✓ Branch 28 taken 41725 times.
✓ Branch 29 taken 41408 times.
✓ Branch 30 taken 657920 times.
✓ Branch 31 taken 39360 times.
✓ Branch 32 taken 202209 times.
✓ Branch 33 taken 3182718 times.
✓ Branch 34 taken 30311 times.
✓ Branch 35 taken 98863 times.
✓ Branch 36 taken 52629 times.
✓ Branch 37 taken 418475 times.
✓ Branch 38 taken 2650750 times.
✓ Branch 39 taken 54100 times.
✓ Branch 40 taken 145501 times.
✓ Branch 41 taken 101653 times.
✓ Branch 42 taken 359268 times.
✓ Branch 43 taken 334614 times.
✓ Branch 44 taken 109298 times.
✓ Branch 45 taken 161038 times.
✓ Branch 46 taken 113548 times.
✓ Branch 47 taken 14638 times.
✓ Branch 48 taken 151940 times.
✓ Branch 49 taken 222098 times.
✓ Branch 50 taken 2542674 times.
✓ Branch 51 taken 4636 times.
✓ Branch 52 taken 6440 times.
✓ Branch 53 taken 2536763 times.
✓ Branch 54 taken 49060 times.
✓ Branch 55 taken 82906 times.
✓ Branch 56 taken 10932 times.
✓ Branch 57 taken 1324184 times.
✓ Branch 58 taken 79502 times.
✓ Branch 59 taken 1502 times.
✓ Branch 60 taken 101271 times.
✓ Branch 61 taken 1929 times.
✓ Branch 62 taken 339340 times.
✓ Branch 63 taken 233502 times.
✓ Branch 64 taken 18 times.
✓ Branch 65 taken 1094 times.
✓ Branch 66 taken 18 times.
✓ Branch 67 taken 980 times.
✓ Branch 68 taken 962 times.
✓ Branch 69 taken 28800 times.
✓ Branch 70 taken 962 times.
✓ Branch 71 taken 852 times.
✓ Branch 72 taken 25198 times.
✓ Branch 73 taken 3766 times.
✓ Branch 74 taken 852 times.
✓ Branch 75 taken 129324 times.
✓ Branch 76 taken 1212 times.
✓ Branch 77 taken 5176330 times.
✓ Branch 78 taken 105820 times.
✗ Branch 79 not taken.
✓ Branch 80 taken 110227 times.
✓ Branch 81 taken 1469 times.
✓ Branch 82 taken 913318 times.
✓ Branch 83 taken 590138 times.
✓ Branch 85 taken 5742 times.
✗ Branch 86 not taken.
✓ Branch 87 taken 2938 times.
✓ Branch 88 taken 2938 times.
✓ Branch 90 taken 2938 times.
✗ Branch 91 not taken.
✓ Branch 92 taken 2938 times.
✓ Branch 93 taken 2938 times.
✓ Branch 95 taken 323180 times.
✗ Branch 96 not taken.
✓ Branch 97 taken 323180 times.
✓ Branch 98 taken 323180 times.
✓ Branch 100 taken 323180 times.
✗ Branch 101 not taken.
✓ Branch 102 taken 323180 times.
✓ Branch 103 taken 323180 times.
✗ Branch 104 not taken.
✓ Branch 105 taken 2804 times.
✗ Branch 106 not taken.
✗ Branch 107 not taken.
✗ Branch 108 not taken.
✓ Branch 109 taken 26 times.
✗ Branch 110 not taken.
✗ Branch 111 not taken.
✗ Branch 84 not taken.
✓ Branch 89 taken 26 times.
|
661258981 | return scvIndices_.size()-1; |
169 | } | ||
170 | |||
171 | //! The global index of this sub control volume face | ||
172 | 1481377027 | GridIndexType index() const | |
173 | { | ||
174 |
54/54✓ Branch 4 taken 7455368 times.
✓ Branch 5 taken 5192373 times.
✓ Branch 6 taken 499417 times.
✓ Branch 7 taken 520736 times.
✓ Branch 8 taken 340226 times.
✓ Branch 9 taken 2392562 times.
✓ Branch 12 taken 6092126 times.
✓ Branch 13 taken 5602742 times.
✓ Branch 20 taken 400750 times.
✓ Branch 21 taken 26138080 times.
✓ Branch 22 taken 816040 times.
✓ Branch 23 taken 4689848 times.
✓ Branch 28 taken 1366768 times.
✓ Branch 29 taken 753360 times.
✓ Branch 30 taken 3243718 times.
✓ Branch 31 taken 101592 times.
✓ Branch 32 taken 56846 times.
✓ Branch 33 taken 622488 times.
✓ Branch 34 taken 139224 times.
✓ Branch 35 taken 2422656 times.
✓ Branch 36 taken 1233320 times.
✓ Branch 37 taken 665834 times.
✓ Branch 0 taken 1120 times.
✓ Branch 1 taken 65230292 times.
✓ Branch 11 taken 967962 times.
✓ Branch 10 taken 3081708 times.
✓ Branch 14 taken 2925020 times.
✓ Branch 15 taken 1981660 times.
✓ Branch 16 taken 36046 times.
✓ Branch 17 taken 1659504 times.
✓ Branch 2 taken 30972032 times.
✓ Branch 3 taken 24434546 times.
✓ Branch 19 taken 6287802 times.
✓ Branch 18 taken 594044 times.
✓ Branch 24 taken 454288 times.
✓ Branch 25 taken 4133704 times.
✓ Branch 26 taken 1474430 times.
✓ Branch 42 taken 36348 times.
✓ Branch 43 taken 1374432 times.
✓ Branch 45 taken 60 times.
✓ Branch 46 taken 2534816 times.
✓ Branch 48 taken 60 times.
✓ Branch 49 taken 2534816 times.
✓ Branch 51 taken 60 times.
✓ Branch 52 taken 75936 times.
✓ Branch 41 taken 1120 times.
✓ Branch 44 taken 5070752 times.
✓ Branch 47 taken 77056 times.
✓ Branch 50 taken 77056 times.
✓ Branch 27 taken 2584120 times.
✓ Branch 38 taken 8315 times.
✓ Branch 39 taken 1289477 times.
✓ Branch 40 taken 129608 times.
✓ Branch 53 taken 2558320 times.
|
1466216985 | return scvfIndex_; |
175 | } | ||
176 | |||
177 | //! Return the boundary flag | ||
178 | 1477115 | typename BoundaryFlag::value_type boundaryFlag() const | |
179 | { | ||
180 |
4/6✗ Branch 0 not taken.
✓ Branch 1 taken 816 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 743148 times.
✓ Branch 4 taken 36672 times.
✓ Branch 5 taken 449232 times.
|
1477115 | return boundaryFlag_.get(); |
181 | } | ||
182 | |||
183 | private: | ||
184 | Scalar area_; | ||
185 | GlobalPosition center_; | ||
186 | GlobalPosition unitOuterNormal_; | ||
187 | GridIndexType scvfIndex_; | ||
188 | GridIndexStorage scvIndices_; | ||
189 | bool boundary_; | ||
190 | BoundaryFlag boundaryFlag_; | ||
191 | }; | ||
192 | |||
193 | } // end namespace Dumux | ||
194 | |||
195 | #endif | ||
196 |