GCC Code Coverage Report


Directory: ../../../builds/dumux-repositories/
File: dumux/dumux/discretization/cvfe/elementvolumevariables.hh
Date: 2025-04-12 19:19:20
Exec Total Coverage
Lines: 43 45 95.6%
Functions: 112 113 99.1%
Branches: 272 398 68.3%

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 CVFEDiscretization
10 * \brief The local volume variables class
11 */
12 #ifndef DUMUX_DISCRETIZATION_CVFE_ELEMENT_VOLUMEVARIABLES_HH
13 #define DUMUX_DISCRETIZATION_CVFE_ELEMENT_VOLUMEVARIABLES_HH
14
15 #include <type_traits>
16 #include <utility>
17 #include <vector>
18
19 #include <dumux/discretization/elementsolution.hh>
20
21 namespace Dumux {
22
23 /*!
24 * \ingroup CVFEDiscretization
25 * \brief The local (stencil) volume variables class for control-volume finite element
26 * \note The class is specialized for versions with and without caching
27 * \tparam GVV the grid volume variables type
28 * \tparam cachingEnabled if the cache is enabled
29 */
30 template<class GVV, bool cachingEnabled>
31 class CVFEElementVolumeVariables;
32
33 /*!
34 * \ingroup CVFEDiscretization
35 * \brief The local (stencil) volume variables class for control-volume finite element with caching
36 * \note the volume variables are stored for the whole grid view in the corresponding GridVolumeVariables class
37 */
38 template<class GVV>
39 class CVFEElementVolumeVariables<GVV, /*cachingEnabled*/true>
40 {
41 public:
42 //! export type of the grid volume variables
43 using GridVolumeVariables = GVV;
44
45 //! export type of the volume variables
46 using VolumeVariables = typename GridVolumeVariables::VolumeVariables;
47
48 //! Constructor
49
13/16
✓ Branch 1 taken 4 times.
✓ Branch 2 taken 15080 times.
✓ Branch 4 taken 853 times.
✓ Branch 5 taken 24 times.
✓ Branch 7 taken 1786528 times.
✓ Branch 8 taken 10909 times.
✓ Branch 12 taken 10400 times.
✓ Branch 13 taken 14000 times.
✓ Branch 15 taken 10400 times.
✗ Branch 16 not taken.
✓ Branch 3 taken 926094 times.
✓ Branch 10 taken 6517 times.
✓ Branch 11 taken 7 times.
✗ Branch 6 not taken.
✓ Branch 9 taken 20 times.
✗ Branch 14 not taken.
4782099 CVFEElementVolumeVariables(const GridVolumeVariables& gridVolVars)
50 : gridVolVarsPtr_(&gridVolVars) {}
51
52 1429739790 const VolumeVariables& operator [](std::size_t scvIdx) const
53
6/6
✓ Branch 0 taken 21505128 times.
✓ Branch 1 taken 23552996 times.
✓ Branch 2 taken 139579651 times.
✓ Branch 3 taken 176352129 times.
✓ Branch 4 taken 40525374 times.
✓ Branch 5 taken 88482914 times.
725735872 { return gridVolVars().volVars(eIdx_, scvIdx); }
54
55 template<class SubControlVolume, typename std::enable_if_t<!std::is_integral<SubControlVolume>::value, int> = 0>
56 3392549112 const VolumeVariables& operator [](const SubControlVolume& scv) const
57
1/2
✓ Branch 1 taken 80 times.
✗ Branch 2 not taken.
1590516758 { return gridVolVars().volVars(eIdx_, scv.indexInElement()); }
58
59 /*!
60 * \brief bind the local view (r-value overload)
61 * This overload is called when an instance of this class is a temporary in the usage context
62 * This allows a usage like this: `const auto view = localView(...).bind(element);`
63 */
64 template<class FVElementGeometry, class SolutionVector>
65 358349 CVFEElementVolumeVariables bind(const typename FVElementGeometry::GridGeometry::GridView::template Codim<0>::Entity& element,
66 const FVElementGeometry& fvGeometry,
67 const SolutionVector& sol) &&
68 {
69 358349 this->bindElement(element, fvGeometry, sol);
70 return std::move(*this);
71 }
72
73 // For compatibility reasons with the case of not storing the vol vars.
74 // function to be called before assembling an element, preparing the vol vars within the stencil
75 template<class FVElementGeometry, class SolutionVector>
76 8333784 void bind(const typename FVElementGeometry::GridGeometry::GridView::template Codim<0>::Entity& element,
77 const FVElementGeometry& fvGeometry,
78 const SolutionVector& sol) &
79 {
80 8333784 bindElement(element, fvGeometry, sol);
81 303520 }
82
83 /*!
84 * \brief bind the local view (r-value overload)
85 * This overload is called when an instance of this class is a temporary in the usage context
86 * This allows a usage like this: `const auto view = localView(...).bind(element);`
87 */
88 template<class FVElementGeometry, class SolutionVector>
89 39030 CVFEElementVolumeVariables bindElement(const typename FVElementGeometry::GridGeometry::GridView::template Codim<0>::Entity& element,
90 const FVElementGeometry& fvGeometry,
91 const SolutionVector& sol) &&
92 {
93 39030 this->bindElement(element, fvGeometry, sol);
94 return std::move(*this);
95 }
96
97 // function to prepare the vol vars within the element
98 template<class FVElementGeometry, class SolutionVector>
99
13/24
✓ Branch 1 taken 55304 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 10647 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 138216 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 290541 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 2 times.
✗ Branch 14 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✓ Branch 25 taken 10400 times.
✓ Branch 26 taken 640 times.
✓ Branch 28 taken 10400 times.
✗ Branch 29 not taken.
✓ Branch 23 taken 4416 times.
✗ Branch 24 not taken.
✓ Branch 3 taken 15078 times.
✓ Branch 6 taken 30156 times.
✗ Branch 27 not taken.
✓ Branch 15 taken 1193235 times.
✓ Branch 18 taken 71568 times.
✗ Branch 19 not taken.
17318562 void bindElement(const typename FVElementGeometry::GridGeometry::GridView::template Codim<0>::Entity& element,
100 const FVElementGeometry& fvGeometry,
101 const SolutionVector& sol) &
102 {
103
18/31
✓ Branch 1 taken 55304 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 15078 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 153294 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 320697 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 30158 times.
✓ Branch 14 taken 5 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 1193237 times.
✓ Branch 18 taken 261051 times.
✓ Branch 19 taken 1193235 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 92366 times.
✓ Branch 31 taken 14816 times.
✗ Branch 32 not taken.
✓ Branch 34 taken 14812 times.
✓ Branch 35 taken 640 times.
✓ Branch 37 taken 10400 times.
✓ Branch 38 taken 640 times.
✓ Branch 40 taken 10400 times.
✗ Branch 41 not taken.
✓ Branch 6 taken 10647 times.
✓ Branch 9 taken 614847 times.
✗ Branch 17 not taken.
✗ Branch 36 not taken.
✗ Branch 39 not taken.
✗ Branch 20 not taken.
✗ Branch 23 not taken.
17318562 eIdx_ = fvGeometry.gridGeometry().elementMapper().index(element);
104 6106785 }
105
106 //! The global volume variables object we are a restriction of
107 3410969720 const GridVolumeVariables& gridVolVars() const
108
24/26
✓ Branch 1 taken 2252434 times.
✓ Branch 2 taken 7 times.
✓ Branch 3 taken 15840 times.
✓ Branch 4 taken 37500861 times.
✓ Branch 6 taken 6968329 times.
✓ Branch 7 taken 59453281 times.
✓ Branch 8 taken 106528162 times.
✓ Branch 9 taken 302022314 times.
✓ Branch 10 taken 147618756 times.
✓ Branch 11 taken 11363226 times.
✓ Branch 12 taken 409018687 times.
✓ Branch 13 taken 84286916 times.
✓ Branch 14 taken 130437508 times.
✓ Branch 15 taken 116249920 times.
✓ Branch 16 taken 8589768 times.
✓ Branch 17 taken 78913678 times.
✓ Branch 18 taken 25403468 times.
✓ Branch 19 taken 248826950 times.
✓ Branch 20 taken 9268958 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 64494264 times.
✗ Branch 23 not taken.
✓ Branch 24 taken 514648 times.
✓ Branch 25 taken 40560 times.
✓ Branch 5 taken 48656471 times.
✓ Branch 0 taken 2089776 times.
3433507964 { return *gridVolVarsPtr_; }
109
110 private:
111 const GridVolumeVariables* gridVolVarsPtr_;
112 std::size_t eIdx_;
113 };
114
115
116 /*!
117 * \ingroup CVFEDiscretization
118 * \brief The local (stencil) volume variables class for control-volume finite element without caching
119 */
120 template<class GVV>
121
67/111
✓ Branch 0 taken 292 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✓ Branch 4 taken 314 times.
✓ Branch 5 taken 1259 times.
✓ Branch 6 taken 42900 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✓ Branch 9 taken 892 times.
✓ Branch 10 taken 140893 times.
✓ Branch 11 taken 5512137 times.
✓ Branch 12 taken 3 times.
✓ Branch 13 taken 1619 times.
✓ Branch 14 taken 5507401 times.
✓ Branch 15 taken 1122 times.
✓ Branch 18 taken 789354 times.
✓ Branch 19 taken 57360 times.
✓ Branch 20 taken 2475 times.
✓ Branch 21 taken 3561 times.
✓ Branch 22 taken 261381 times.
✓ Branch 23 taken 20364 times.
✓ Branch 26 taken 319650 times.
✓ Branch 27 taken 163973 times.
✗ Branch 28 not taken.
✓ Branch 29 taken 4516 times.
✓ Branch 30 taken 64 times.
✓ Branch 31 taken 958 times.
✓ Branch 32 taken 1628 times.
✓ Branch 33 taken 153853 times.
✓ Branch 34 taken 1387536 times.
✓ Branch 35 taken 487 times.
✗ Branch 37 not taken.
✗ Branch 38 not taken.
✓ Branch 39 taken 260112 times.
✓ Branch 40 taken 6552 times.
✓ Branch 41 taken 6981 times.
✓ Branch 42 taken 64064 times.
✗ Branch 43 not taken.
✓ Branch 44 taken 153856 times.
✓ Branch 46 taken 400 times.
✓ Branch 47 taken 16 times.
✗ Branch 48 not taken.
✓ Branch 49 taken 6724 times.
✗ Branch 50 not taken.
✓ Branch 51 taken 3021 times.
✓ Branch 52 taken 3021 times.
✗ Branch 53 not taken.
✓ Branch 54 taken 353 times.
✗ Branch 55 not taken.
✓ Branch 57 taken 352 times.
✓ Branch 58 taken 1 times.
✓ Branch 59 taken 7712 times.
✗ Branch 60 not taken.
✓ Branch 61 taken 326574 times.
✓ Branch 62 taken 12168 times.
✓ Branch 64 taken 7708 times.
✗ Branch 65 not taken.
✓ Branch 66 taken 175910 times.
✓ Branch 67 taken 14628 times.
✗ Branch 69 not taken.
✓ Branch 70 taken 50000 times.
✓ Branch 71 taken 2 times.
✗ Branch 72 not taken.
✗ Branch 73 not taken.
✓ Branch 74 taken 100000 times.
✓ Branch 75 taken 2 times.
✗ Branch 76 not taken.
✗ Branch 77 not taken.
✓ Branch 78 taken 50000 times.
✓ Branch 79 taken 705 times.
✗ Branch 80 not taken.
✓ Branch 81 taken 50001 times.
✗ Branch 82 not taken.
✓ Branch 83 taken 1 times.
✗ Branch 84 not taken.
✓ Branch 85 taken 1 times.
✗ Branch 86 not taken.
✗ Branch 87 not taken.
✓ Branch 88 taken 964000 times.
✗ Branch 89 not taken.
✗ Branch 90 not taken.
✓ Branch 36 taken 196032 times.
✓ Branch 45 taken 153840 times.
✓ Branch 56 taken 7712 times.
✓ Branch 16 taken 57594 times.
✓ Branch 17 taken 742 times.
✓ Branch 25 taken 7 times.
✓ Branch 24 taken 1232 times.
✗ Branch 68 not taken.
✗ Branch 63 not taken.
✓ Branch 91 taken 964000 times.
✗ Branch 92 not taken.
✗ Branch 93 not taken.
✗ Branch 94 not taken.
✗ Branch 95 not taken.
✗ Branch 96 not taken.
✓ Branch 101 taken 1000 times.
✗ Branch 102 not taken.
✗ Branch 104 not taken.
✓ Branch 105 taken 100 times.
✗ Branch 107 not taken.
✗ Branch 108 not taken.
✓ Branch 109 taken 1 times.
✗ Branch 110 not taken.
✗ Branch 112 not taken.
✗ Branch 113 not taken.
✓ Branch 114 taken 1 times.
✗ Branch 115 not taken.
✗ Branch 117 not taken.
✗ Branch 118 not taken.
21521611 class CVFEElementVolumeVariables<GVV, /*cachingEnabled*/false>
122 {
123 public:
124 //! export type of the grid volume variables
125 using GridVolumeVariables = GVV;
126
127 //! export type of the volume variables
128 using VolumeVariables = typename GridVolumeVariables::VolumeVariables;
129
130 //! Constructor
131 9819655 CVFEElementVolumeVariables(const GridVolumeVariables& gridVolVars)
132
25/34
✓ Branch 1 taken 292 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 44147 times.
✓ Branch 5 taken 154316 times.
✓ Branch 7 taken 5539306 times.
✓ Branch 8 taken 153840 times.
✓ Branch 10 taken 215832 times.
✓ Branch 11 taken 16 times.
✓ Branch 13 taken 219675 times.
✓ Branch 14 taken 352 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 6944 times.
✓ Branch 18 taken 3021 times.
✗ Branch 19 not taken.
✓ Branch 20 taken 7712 times.
✓ Branch 21 taken 3021 times.
✓ Branch 23 taken 388742 times.
✗ Branch 24 not taken.
✓ Branch 26 taken 1146830 times.
✗ Branch 27 not taken.
✓ Branch 29 taken 2 times.
✓ Branch 30 taken 1 times.
✓ Branch 32 taken 2 times.
✗ Branch 33 not taken.
✓ Branch 35 taken 1 times.
✗ Branch 36 not taken.
✓ Branch 38 taken 1 times.
✗ Branch 39 not taken.
✓ Branch 6 taken 754 times.
✓ Branch 12 taken 260096 times.
✓ Branch 3 taken 17170 times.
✓ Branch 9 taken 4489 times.
✓ Branch 17 taken 8108 times.
✗ Branch 31 not taken.
9501648 : gridVolVarsPtr_(&gridVolVars) {}
133
134 /*!
135 * \brief bind the local view (r-value overload)
136 * This overload is called when an instance of this class is a temporary in the usage context
137 * This allows a usage like this: `const auto view = localView(...).bind(element);`
138 */
139 template<class FVElementGeometry, class SolutionVector>
140 318007 CVFEElementVolumeVariables bind(const typename FVElementGeometry::GridGeometry::GridView::template Codim<0>::Entity& element,
141 const FVElementGeometry& fvGeometry,
142 const SolutionVector& sol) &&
143 {
144
4/8
✓ Branch 1 taken 161146 times.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✓ Branch 4 taken 161146 times.
✓ Branch 6 taken 156861 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✓ Branch 9 taken 156861 times.
318007 this->bindElement(element, fvGeometry, sol);
145
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 161146 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 156861 times.
318007 return std::move(*this);
146 }
147
148 // specialization for control-volume finite element, simply forwards to the bindElement method
149 template<class FVElementGeometry, class SolutionVector>
150 8948819 void bind(const typename FVElementGeometry::GridGeometry::GridView::template Codim<0>::Entity& element,
151 const FVElementGeometry& fvGeometry,
152 const SolutionVector& sol) &
153 {
154
21/39
✓ Branch 1 taken 57360 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 289615 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 15132 times.
✓ Branch 8 taken 57282 times.
✓ Branch 10 taken 31352 times.
✓ Branch 11 taken 92 times.
✓ Branch 15 taken 19752 times.
✗ Branch 16 not taken.
✓ Branch 18 taken 17398 times.
✓ Branch 19 taken 704 times.
✓ Branch 21 taken 1007 times.
✓ Branch 22 taken 64 times.
✓ Branch 24 taken 2184 times.
✓ Branch 25 taken 800 times.
✓ Branch 27 taken 2184 times.
✗ Branch 28 not taken.
✓ Branch 30 taken 101007 times.
✗ Branch 31 not taken.
✓ Branch 33 taken 1007 times.
✗ Branch 34 not taken.
✗ Branch 36 not taken.
✗ Branch 37 not taken.
✗ Branch 39 not taken.
✗ Branch 40 not taken.
✗ Branch 12 not taken.
✓ Branch 13 taken 8788 times.
✓ Branch 14 taken 31352 times.
✗ Branch 17 not taken.
✗ Branch 20 not taken.
✗ Branch 23 not taken.
✗ Branch 26 not taken.
✓ Branch 35 taken 200 times.
✓ Branch 38 taken 100 times.
✓ Branch 41 taken 1928 times.
✗ Branch 42 not taken.
✗ Branch 9 not taken.
✗ Branch 6 not taken.
8948819 bindElement(element, fvGeometry, sol);
155 639308 }
156
157 /*!
158 * \brief bind the local view (r-value overload)
159 * This overload is called when an instance of this class is a temporary in the usage context
160 * This allows a usage like this: `const auto view = localView(...).bind(element);`
161 */
162 template<class FVElementGeometry, class SolutionVector>
163 40626 CVFEElementVolumeVariables bindElement(const typename FVElementGeometry::GridGeometry::GridView::template Codim<0>::Entity& element,
164 const FVElementGeometry& fvGeometry,
165 const SolutionVector& sol) &&
166 {
167
1/2
✓ Branch 1 taken 40626 times.
✗ Branch 2 not taken.
40626 this->bindElement(element, fvGeometry, sol);
168 40626 return std::move(*this);
169 }
170
171 // specialization for control-volume finite element
172 template<class FVElementGeometry, class SolutionVector>
173 25878690 void bindElement(const typename FVElementGeometry::GridGeometry::GridView::template Codim<0>::Entity& element,
174 const FVElementGeometry& fvGeometry,
175 const SolutionVector& sol) &
176 {
177 // get the solution at the dofs of the element
178 25878690 auto elemSol = elementSolution(element, sol, fvGeometry.gridGeometry());
179
180 // resize volume variables to the required size
181 25878690 volumeVariables_.resize(fvGeometry.numScv());
182
2/2
✓ Branch 0 taken 68062052 times.
✓ Branch 1 taken 20348240 times.
108266848 for (auto&& scv : scvs(fvGeometry))
183 82388176 volumeVariables_[scv.indexInElement()].update(elemSol, gridVolVars().problem(), element, scv);
184 25878672 }
185
186 2475379450 const VolumeVariables& operator [](std::size_t scvIdx) const
187
25/28
✓ Branch 0 taken 43689 times.
✓ Branch 1 taken 119376906 times.
✓ Branch 2 taken 57872147 times.
✓ Branch 3 taken 62037073 times.
✓ Branch 4 taken 2073204 times.
✓ Branch 5 taken 287590939 times.
✓ Branch 6 taken 173773019 times.
✓ Branch 7 taken 150145682 times.
✓ Branch 8 taken 36603554 times.
✓ Branch 9 taken 483255944 times.
✓ Branch 10 taken 230244904 times.
✓ Branch 11 taken 248018983 times.
✓ Branch 12 taken 12454755 times.
✓ Branch 13 taken 240888424 times.
✓ Branch 14 taken 5156382 times.
✓ Branch 15 taken 44265443 times.
✓ Branch 16 taken 164295 times.
✓ Branch 17 taken 6379081 times.
✓ Branch 18 taken 376 times.
✓ Branch 19 taken 103884 times.
✓ Branch 20 taken 2084560 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 2084560 times.
✗ Branch 23 not taken.
✗ Branch 24 not taken.
✓ Branch 25 taken 1360 times.
✓ Branch 26 taken 375 times.
✓ Branch 27 taken 985 times.
1297354099 { return volumeVariables_[scvIdx]; }
188
189 VolumeVariables& operator [](std::size_t scvIdx)
190 { return volumeVariables_[scvIdx]; }
191
192 template<class SubControlVolume, typename std::enable_if_t<!std::is_integral<SubControlVolume>::value, int> = 0>
193 5390040360 const VolumeVariables& operator [](const SubControlVolume& scv) const
194
34/36
✓ Branch 0 taken 308190412 times.
✓ Branch 1 taken 5256640 times.
✓ Branch 2 taken 377179075 times.
✓ Branch 3 taken 528114383 times.
✓ Branch 6 taken 43945292 times.
✓ Branch 7 taken 11714162 times.
✓ Branch 8 taken 4223456 times.
✓ Branch 9 taken 6913492 times.
✓ Branch 11 taken 10797453 times.
✓ Branch 12 taken 3539896 times.
✓ Branch 16 taken 122938 times.
✓ Branch 17 taken 34955041 times.
✓ Branch 18 taken 1841206 times.
✓ Branch 19 taken 3203411 times.
✓ Branch 20 taken 15321191 times.
✓ Branch 21 taken 8595266 times.
✓ Branch 22 taken 4874452 times.
✓ Branch 23 taken 3839952 times.
✓ Branch 24 taken 82761 times.
✓ Branch 25 taken 667718 times.
✓ Branch 26 taken 1300 times.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
✓ Branch 29 taken 2600 times.
✓ Branch 30 taken 154560 times.
✓ Branch 31 taken 5784 times.
✓ Branch 32 taken 2913 times.
✓ Branch 33 taken 2871 times.
✓ Branch 34 taken 1 times.
✓ Branch 35 taken 37039 times.
✓ Branch 4 taken 599019174 times.
✓ Branch 5 taken 275807918 times.
✓ Branch 10 taken 9570917 times.
✓ Branch 13 taken 23640852 times.
✓ Branch 14 taken 36767 times.
✓ Branch 15 taken 4225598 times.
5399218013 { return volumeVariables_[scv.indexInElement()]; }
195
196 template<class SubControlVolume, typename std::enable_if_t<!std::is_integral<SubControlVolume>::value, int> = 0>
197 142741355 VolumeVariables& operator [](const SubControlVolume& scv)
198
5/9
✗ Branch 0 not taken.
✓ Branch 1 taken 2732208 times.
✓ Branch 2 taken 849392 times.
✓ Branch 3 taken 3611766 times.
✓ Branch 9 taken 57 times.
✗ Branch 10 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 2202 times.
✗ Branch 6 not taken.
142741355 { return volumeVariables_[scv.indexInElement()]; }
199
200 //! The global volume variables object we are a restriction of
201 67401313 const GridVolumeVariables& gridVolVars() const
202
11/18
✓ Branch 1 taken 91 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 101 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 50 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 13 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 5 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 3 times.
✗ Branch 17 not taken.
✓ Branch 9 taken 42315 times.
✓ Branch 12 taken 46190 times.
✓ Branch 15 taken 2 times.
✓ Branch 6 taken 5130 times.
✓ Branch 19 taken 1 times.
✗ Branch 20 not taken.
68157313 { return *gridVolVarsPtr_; }
203
204 private:
205 const GridVolumeVariables* gridVolVarsPtr_;
206 std::vector<VolumeVariables> volumeVariables_;
207 };
208
209 } // end namespace Dumux
210
211 #endif
212