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 | |||
25 | namespace Dumux { | ||
26 | |||
27 | /*! | ||
28 | * \ingroup CCTpfaDiscretization | ||
29 | * \brief Default traits class to be used for the sub-control volume faces | ||
30 | * for the cell-centered finite volume scheme using TPFA | ||
31 | * \tparam GV the type of the grid view | ||
32 | */ | ||
33 | template<class GridView> | ||
34 | struct CCTpfaDefaultScvfGeometryTraits | ||
35 | { | ||
36 | using Grid = typename GridView::Grid; | ||
37 | |||
38 | static constexpr int dim = Grid::dimension; | ||
39 | static constexpr int dimWorld = Grid::dimensionworld; | ||
40 | |||
41 | using Scalar = typename Grid::ctype; | ||
42 | using GridIndexType = typename IndexTraits<GridView>::GridIndex; | ||
43 | using LocalIndexType = typename IndexTraits<GridView>::LocalIndex; | ||
44 | using GridIndexStorage = typename std::conditional_t< (dim<dimWorld), | ||
45 | std::vector<GridIndexType>, | ||
46 | Dune::ReservedVector<GridIndexType, 2> >; | ||
47 | |||
48 | // we use geometry traits that use static corner vectors to and a fixed geometry type | ||
49 | template <class ct> | ||
50 | struct ScvfMLGTraits : public Dune::MultiLinearGeometryTraits<ct> | ||
51 | { | ||
52 | // we use static vectors to store the corners as we know | ||
53 | // the number of corners in advance (2^(dim-1) corners (1<<(dim-1)) | ||
54 | template< int mydim, int cdim > | ||
55 | struct CornerStorage | ||
56 | { | ||
57 | using Type = Dune::ReservedVector< Dune::FieldVector< ct, cdim >, (1<<(dim-1)) >; | ||
58 | }; | ||
59 | }; | ||
60 | |||
61 | using Geometry = Dune::MultiLinearGeometry<Scalar, dim-1, dimWorld, ScvfMLGTraits<Scalar> >; | ||
62 | using CornerStorage = typename ScvfMLGTraits<Scalar>::template CornerStorage<dim-1, dimWorld>::Type; | ||
63 | using GlobalPosition = typename CornerStorage::value_type; | ||
64 | using BoundaryFlag = Dumux::BoundaryFlag<Grid>; | ||
65 | }; | ||
66 | |||
67 | /*! | ||
68 | * \ingroup CCTpfaDiscretization | ||
69 | * \brief The sub control volume face | ||
70 | * \tparam GV the type of the grid view | ||
71 | * \tparam T the scvf geometry traits | ||
72 | */ | ||
73 | template<class GV, | ||
74 | class T = CCTpfaDefaultScvfGeometryTraits<GV> > | ||
75 |
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 |
76 | { | ||
77 | using ThisType = CCTpfaSubControlVolumeFace<GV, T>; | ||
78 | using GridIndexType = typename T::GridIndexType; | ||
79 | using Scalar = typename T::Scalar; | ||
80 | using CornerStorage = typename T::CornerStorage; | ||
81 | using GridIndexStorage = typename T::GridIndexStorage; | ||
82 | using BoundaryFlag = typename T::BoundaryFlag; | ||
83 | |||
84 | public: | ||
85 | //! export the type used for global coordinates | ||
86 | using GlobalPosition = typename T::GlobalPosition; | ||
87 | //! state the traits public and thus export all types | ||
88 | using Traits = T; | ||
89 | |||
90 | // the default constructor | ||
91 | CCTpfaSubControlVolumeFace() = default; | ||
92 | |||
93 | /*! | ||
94 | * \brief Constructor with intersection | ||
95 | * | ||
96 | * \param is The intersection | ||
97 | * \param isGeometry The geometry of the intersection | ||
98 | * \param scvfIndex The global index of this scv face | ||
99 | * \param scvIndices The inside/outside scv indices connected to this face | ||
100 | * \param isBoundary Bool to specify whether or not the scvf is on an interior or the domain boundary | ||
101 | */ | ||
102 | template <class Intersection> | ||
103 |
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, |
104 | const typename Intersection::Geometry& isGeometry, | ||
105 | GridIndexType scvfIndex, | ||
106 | const GridIndexStorage& scvIndices, | ||
107 | bool isBoundary) | ||
108 |
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()) |
109 |
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()) |
110 | 152099234 | , unitOuterNormal_(is.centerUnitOuterNormal()) | |
111 | 152099234 | , scvfIndex_(scvfIndex) | |
112 | 152099234 | , scvIndices_(scvIndices) | |
113 | 152099234 | , boundary_(isBoundary) | |
114 |
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} |
115 | 117527800 | {} | |
116 | |||
117 | //! The center of the sub control volume face | ||
118 |
0/4✗ Branch 1 not taken.
✗ Branch 2 not taken.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
|
19859248 | const GlobalPosition& center() const |
119 | { | ||
120 |
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_; |
121 | } | ||
122 | |||
123 | //! The integration point for flux evaluations in global coordinates | ||
124 | 28903310 | const GlobalPosition& ipGlobal() const | |
125 | { | ||
126 | // Return center for now | ||
127 |
36/40✓ Branch 0 taken 6327675 times.
✓ Branch 1 taken 101105329 times.
✓ Branch 2 taken 493820 times.
✓ Branch 3 taken 8401637 times.
✓ Branch 4 taken 19701138 times.
✓ Branch 5 taken 31713158 times.
✓ Branch 6 taken 1127469 times.
✓ Branch 7 taken 20556863 times.
✓ Branch 8 taken 23619464 times.
✓ Branch 9 taken 1059346 times.
✓ Branch 10 taken 26235488 times.
✓ Branch 11 taken 21967090 times.
✓ Branch 12 taken 1425695 times.
✓ Branch 13 taken 392870 times.
✓ Branch 15 taken 426872 times.
✓ Branch 16 taken 6054624 times.
✓ Branch 17 taken 124982 times.
✓ Branch 18 taken 113261 times.
✓ Branch 20 taken 10800 times.
✓ Branch 21 taken 131188 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 601253 times.
✓ Branch 19 taken 64662 times.
✓ Branch 22 taken 1156 times.
✗ Branch 25 not taken.
✗ Branch 26 not taken.
✓ Branch 29 taken 1860 times.
|
1605385389 | return center_; |
128 | } | ||
129 | |||
130 | //! The area of the sub control volume face | ||
131 | 1323318390 | Scalar area() const | |
132 | { | ||
133 |
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_; |
134 | } | ||
135 | |||
136 | //! returns true if the sub control volume face is on the boundary | ||
137 | 2027481392 | bool boundary() const | |
138 | { | ||
139 |
50/52✓ Branch 0 taken 126357976 times.
✓ Branch 1 taken 42851976 times.
✓ Branch 2 taken 26629244 times.
✓ Branch 3 taken 30785652 times.
✓ Branch 4 taken 164258736 times.
✓ Branch 5 taken 357968761 times.
✓ Branch 6 taken 284953085 times.
✓ Branch 7 taken 81444813 times.
✓ Branch 8 taken 325037065 times.
✓ Branch 9 taken 127680880 times.
✓ Branch 10 taken 41653303 times.
✓ Branch 11 taken 98370421 times.
✓ Branch 12 taken 60649357 times.
✓ Branch 13 taken 7552754 times.
✓ Branch 14 taken 57204930 times.
✓ Branch 15 taken 9340418 times.
✓ Branch 16 taken 63554239 times.
✓ Branch 17 taken 21755335 times.
✓ Branch 18 taken 48215427 times.
✓ Branch 19 taken 2473609 times.
✓ Branch 20 taken 199830 times.
✓ Branch 21 taken 5531128 times.
✓ Branch 22 taken 3175311 times.
✓ Branch 23 taken 220222 times.
✓ Branch 24 taken 28066959 times.
✓ Branch 25 taken 6213349 times.
✓ Branch 26 taken 617784 times.
✓ Branch 27 taken 1015768 times.
✓ Branch 28 taken 58056 times.
✓ Branch 29 taken 312236 times.
✓ Branch 30 taken 1151295 times.
✓ Branch 31 taken 446079 times.
✓ Branch 32 taken 1306789 times.
✓ Branch 33 taken 355126 times.
✓ Branch 34 taken 18854 times.
✓ Branch 35 taken 3248 times.
✓ Branch 36 taken 1288 times.
✓ Branch 37 taken 3728 times.
✓ Branch 38 taken 3502 times.
✓ Branch 39 taken 1574 times.
✓ Branch 40 taken 17288 times.
✓ Branch 41 taken 5931 times.
✓ Branch 42 taken 288 times.
✓ Branch 43 taken 740 times.
✓ Branch 44 taken 11512 times.
✓ Branch 45 taken 5104 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.
|
2027481392 | return boundary_; |
140 | } | ||
141 | |||
142 | //! The unit outer normal of the sub control volume face | ||
143 | 167417365 | const GlobalPosition& unitOuterNormal() const | |
144 | { | ||
145 |
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.
|
2965043550 | return unitOuterNormal_; |
146 | } | ||
147 | |||
148 | //! index of the inside sub control volume | ||
149 | 3406834887 | GridIndexType insideScvIdx() const | |
150 | { | ||
151 |
68/70✓ Branch 0 taken 8626007 times.
✓ Branch 1 taken 27068461 times.
✓ Branch 3 taken 55469109 times.
✓ Branch 4 taken 77046206 times.
✓ Branch 6 taken 48298881 times.
✓ Branch 7 taken 41835379 times.
✓ Branch 9 taken 11001652 times.
✓ Branch 10 taken 15260158 times.
✓ Branch 11 taken 65639735 times.
✓ Branch 12 taken 50776757 times.
✓ Branch 13 taken 31635483 times.
✓ Branch 14 taken 14750944 times.
✓ Branch 15 taken 20376229 times.
✓ Branch 16 taken 7099899 times.
✓ Branch 17 taken 261231 times.
✓ Branch 18 taken 22930296 times.
✓ Branch 19 taken 7391522 times.
✓ Branch 20 taken 4514431 times.
✓ Branch 22 taken 5897614 times.
✓ Branch 23 taken 5418589 times.
✓ Branch 28 taken 2314426 times.
✓ Branch 29 taken 1230356 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 80374170 times.
✓ Branch 8 taken 22322843 times.
✓ Branch 21 taken 41626644 times.
✓ Branch 25 taken 3707084 times.
✓ Branch 26 taken 24765754 times.
✓ Branch 36 taken 996918 times.
✓ Branch 24 taken 9325517 times.
✓ Branch 30 taken 2833078 times.
✓ Branch 31 taken 264352 times.
✓ Branch 33 taken 5655018 times.
✓ Branch 34 taken 5045022 times.
✓ Branch 35 taken 1055736 times.
✓ Branch 2 taken 67982892 times.
✓ Branch 27 taken 22781528 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]; |
152 | } | ||
153 | |||
154 | //! Index of the i-th outside sub control volume or boundary scv index. | ||
155 | // Results in undefined behaviour if i >= numOutsideScvs() | ||
156 | 2992317456 | GridIndexType outsideScvIdx(int i = 0) const | |
157 | { | ||
158 |
55/61✓ Branch 2 taken 66483110 times.
✓ Branch 3 taken 78675736 times.
✓ Branch 6 taken 88952930 times.
✓ Branch 7 taken 31950537 times.
✓ Branch 8 taken 30788826 times.
✓ Branch 9 taken 262059080 times.
✓ Branch 11 taken 1671695 times.
✓ Branch 12 taken 38904279 times.
✓ Branch 5 taken 30723882 times.
✓ Branch 13 taken 49704399 times.
✓ Branch 14 taken 8094766 times.
✓ Branch 16 taken 36693 times.
✓ Branch 17 taken 175216 times.
✓ Branch 4 taken 77376250 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 3084861 times.
✓ Branch 22 taken 77091 times.
✓ Branch 23 taken 111904 times.
✓ Branch 0 taken 7197117 times.
✓ Branch 15 taken 38807 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]; |
159 | } | ||
160 | |||
161 | //! The number of scvs on the outside of this face | ||
162 | 658999305 | std::size_t numOutsideScvs() const | |
163 | { | ||
164 |
98/110✓ Branch 0 taken 14955992 times.
✓ Branch 1 taken 135947941 times.
✓ Branch 2 taken 21953931 times.
✓ Branch 3 taken 95234769 times.
✓ Branch 4 taken 63081092 times.
✓ Branch 5 taken 11058680 times.
✓ Branch 6 taken 44586328 times.
✓ Branch 7 taken 5842148 times.
✓ Branch 8 taken 26430422 times.
✓ Branch 9 taken 5599178 times.
✓ Branch 10 taken 65288004 times.
✓ Branch 11 taken 2697296 times.
✓ Branch 12 taken 10589189 times.
✓ Branch 13 taken 3068730 times.
✓ Branch 14 taken 54183623 times.
✓ Branch 15 taken 2698640 times.
✓ Branch 16 taken 32739799 times.
✓ Branch 17 taken 3039862 times.
✓ Branch 18 taken 24573506 times.
✓ Branch 19 taken 1564319 times.
✓ Branch 20 taken 3450872 times.
✓ Branch 21 taken 1188549 times.
✓ Branch 22 taken 700962 times.
✓ Branch 23 taken 5562454 times.
✓ Branch 24 taken 113743 times.
✓ Branch 25 taken 726105 times.
✓ Branch 26 taken 101696 times.
✓ Branch 27 taken 33580 times.
✓ Branch 28 taken 41725 times.
✓ Branch 29 taken 41408 times.
✓ Branch 30 taken 657920 times.
✓ Branch 31 taken 39360 times.
✓ Branch 32 taken 202797 times.
✓ Branch 33 taken 3185144 times.
✓ Branch 34 taken 28215 times.
✓ Branch 35 taken 99451 times.
✓ Branch 36 taken 53877 times.
✓ Branch 37 taken 419063 times.
✓ Branch 38 taken 2650162 times.
✓ Branch 39 taken 51674 times.
✓ Branch 40 taken 147597 times.
✓ Branch 41 taken 101065 times.
✓ Branch 42 taken 358020 times.
✓ Branch 43 taken 334026 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; |
165 | } | ||
166 | |||
167 | //! The global index of this sub control volume face | ||
168 | 1481377027 | GridIndexType index() const | |
169 | { | ||
170 |
54/54✓ Branch 4 taken 7455368 times.
✓ Branch 5 taken 5193573 times.
✓ Branch 6 taken 562699 times.
✓ Branch 7 taken 515736 times.
✓ Branch 8 taken 317226 times.
✓ Branch 9 taken 2395562 times.
✓ Branch 12 taken 6084926 times.
✓ Branch 13 taken 8494460 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 65224792 times.
✓ Branch 11 taken 996962 times.
✓ Branch 10 taken 128708 times.
✓ Branch 14 taken 2925020 times.
✓ Branch 15 taken 1981660 times.
✓ Branch 16 taken 36046 times.
✓ Branch 17 taken 1659504 times.
✓ Branch 2 taken 30975532 times.
✓ Branch 3 taken 24436546 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_; |
171 | } | ||
172 | |||
173 | //! Return the boundary flag | ||
174 | 1477115 | typename BoundaryFlag::value_type boundaryFlag() const | |
175 | { | ||
176 |
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(); |
177 | } | ||
178 | |||
179 | private: | ||
180 | Scalar area_; | ||
181 | GlobalPosition center_; | ||
182 | GlobalPosition unitOuterNormal_; | ||
183 | GridIndexType scvfIndex_; | ||
184 | GridIndexStorage scvIndices_; | ||
185 | bool boundary_; | ||
186 | BoundaryFlag boundaryFlag_; | ||
187 | }; | ||
188 | |||
189 | } // end namespace Dumux | ||
190 | |||
191 | #endif | ||
192 |