GCC Code Coverage Report


Directory: ../../../builds/dumux-repositories/
File: /builds/dumux-repositories/dumux/dumux/common/fvproblem.hh
Date: 2024-05-04 19:09:25
Exec Total Coverage
Lines: 41 59 69.5%
Functions: 837 2886 29.0%
Branches: 1466 2992 49.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-FileCopyrightInfo: 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 Core
10 * \brief Base class for all finite volume problems
11 */
12 #ifndef DUMUX_COMMON_FV_PROBLEM_HH
13 #define DUMUX_COMMON_FV_PROBLEM_HH
14
15 #include <memory>
16 #include <map>
17
18 #include <dune/common/fvector.hh>
19 #include <dune/grid/common/gridenums.hh>
20
21 #include <dumux/common/properties.hh>
22 #include <dumux/common/parameters.hh>
23 #include <dumux/common/boundarytypes.hh>
24 #include <dumux/common/numeqvector.hh>
25 #include <dumux/discretization/method.hh>
26 #include <dumux/discretization/extrusion.hh>
27
28 #include <dumux/assembly/initialsolution.hh>
29
30 namespace Dumux {
31
32 /*!
33 * \ingroup Core
34 * \brief Base class for all finite-volume problems
35 *
36 * \note All quantities (regarding the units) are specified assuming a
37 * three-dimensional world. Problems discretized using 2D grids
38 * are assumed to be extruded by \f$1 m\f$ and 1D grids are assumed
39 * to have a cross section of \f$1m \times 1m\f$.
40 */
41 template<class TypeTag>
42 class FVProblem
43 {
44 using Implementation = GetPropType<TypeTag, Properties::Problem>;
45
46 using GridGeometry = GetPropType<TypeTag, Properties::GridGeometry>;
47 using FVElementGeometry = typename GridGeometry::LocalView;
48 using GridView = typename GridGeometry::GridView;
49 using SubControlVolume = typename FVElementGeometry::SubControlVolume;
50 using SubControlVolumeFace = typename FVElementGeometry::SubControlVolumeFace;
51 using Extrusion = Extrusion_t<GridGeometry>;
52 using Element = typename GridView::template Codim<0>::Entity;
53 using GlobalPosition = typename Element::Geometry::GlobalCoordinate;
54
55 enum { dim = GridView::dimension };
56
57 using PointSource = GetPropType<TypeTag, Properties::PointSource>;
58 using PointSourceHelper = GetPropType<TypeTag, Properties::PointSourceHelper>;
59 using PointSourceMap = std::map< std::pair<std::size_t, std::size_t>,
60 std::vector<PointSource> >;
61
62 static constexpr bool isCVFE = DiscretizationMethods::isCVFE<typename GridGeometry::DiscretizationMethod>;
63 static constexpr bool isStaggered = GridGeometry::discMethod == DiscretizationMethods::staggered;
64
65 using Scalar = GetPropType<TypeTag, Properties::Scalar>;
66 using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>;
67 using NumEqVector = Dumux::NumEqVector<GetPropType<TypeTag, Properties::PrimaryVariables>>;
68 using BoundaryTypes = Dumux::BoundaryTypes<PrimaryVariables::size()>;
69
70 public:
71 //! export traits of this problem
72 struct Traits
73 {
74 using Scalar = FVProblem::Scalar;
75 using PrimaryVariables = FVProblem::PrimaryVariables;
76 using NumEqVector = FVProblem::NumEqVector;
77 };
78
79 /*!
80 * \brief Constructor
81 * \param gridGeometry The finite volume grid geometry
82 * \param paramGroup The parameter group in which to look for runtime parameters first (default is "")
83 */
84 1194 FVProblem(std::shared_ptr<const GridGeometry> gridGeometry, const std::string& paramGroup = "")
85 : gridGeometry_(gridGeometry)
86
3/12
✓ Branch 2 taken 791 times.
✗ Branch 3 not taken.
✓ Branch 5 taken 791 times.
✗ Branch 6 not taken.
✓ Branch 8 taken 791 times.
✗ Branch 9 not taken.
✗ Branch 11 not taken.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
1194 , paramGroup_(paramGroup)
87 {
88 // set a default name for the problem
89
2/4
✓ Branch 1 taken 791 times.
✗ Branch 2 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 791 times.
1194 problemName_ = getParamFromGroup<std::string>(paramGroup, "Problem.Name", "sim");
90 1194 }
91
92 /*!
93 * \brief The problem name.
94 *
95 * This is used as a prefix for files generated by the simulation.
96 * It could be either overwritten by the problem files, or simply
97 * declared over the setName() function in the application file.
98 */
99 const std::string& name() const
100 {
101
4/6
✓ Branch 1 taken 214 times.
✓ Branch 2 taken 14 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 49 times.
✓ Branch 5 taken 22 times.
✗ Branch 6 not taken.
303 return problemName_;
102 }
103
104 /*!
105 * \brief Set the problem name.
106 *
107 * \param newName The problem's name
108 */
109 void setName(const std::string& newName)
110 {
111 problemName_ = newName;
112 }
113
114 /*!
115 * \name Boundary conditions and sources defining the problem
116 */
117 // \{
118
119 /*!
120 * \brief Specifies which kind of boundary condition should be
121 * used for which equation on a given boundary segment.
122 *
123 * \param element The finite element
124 * \param scv The sub control volume
125 */
126 auto boundaryTypes(const Element &element,
127 const SubControlVolume &scv) const
128 {
129 if (!isCVFE)
130 DUNE_THROW(Dune::InvalidStateException,
131 "boundaryTypes(..., scv) called for non-CVFE method.");
132
133 // forward it to the method which only takes the global coordinate
134
16/18
✓ Branch 0 taken 1600840 times.
✓ Branch 1 taken 46408 times.
✓ Branch 2 taken 1192812 times.
✓ Branch 3 taken 28448 times.
✓ Branch 4 taken 63301 times.
✓ Branch 5 taken 22911 times.
✓ Branch 6 taken 18017 times.
✓ Branch 7 taken 6296 times.
✓ Branch 8 taken 132237 times.
✓ Branch 9 taken 7084 times.
✓ Branch 10 taken 125656 times.
✓ Branch 11 taken 2632 times.
✓ Branch 12 taken 10588 times.
✓ Branch 13 taken 3700 times.
✗ Branch 14 not taken.
✓ Branch 15 taken 8 times.
✗ Branch 16 not taken.
✓ Branch 17 taken 8 times.
9723610 return asImp_().boundaryTypesAtPos(scv.dofPosition());
135 }
136
137 /*!
138 * \brief Specifies which kind of boundary condition should be
139 * used for which equation on a given boundary segment.
140 *
141 * \param element The finite element
142 * \param scvf The sub control volume face
143 */
144 auto boundaryTypes(const Element &element,
145 const SubControlVolumeFace &scvf) const
146 {
147 if (isCVFE)
148 DUNE_THROW(Dune::InvalidStateException,
149 "boundaryTypes(..., scvf) called for CVFE method.");
150
151 // forward it to the method which only takes the global coordinate
152
77/108
✓ Branch 0 taken 58730 times.
✓ Branch 1 taken 2113371 times.
✓ Branch 2 taken 69112 times.
✓ Branch 3 taken 4128294 times.
✓ Branch 4 taken 220292 times.
✓ Branch 5 taken 911599 times.
✓ Branch 6 taken 275829 times.
✓ Branch 7 taken 9539792 times.
✓ Branch 8 taken 200770 times.
✓ Branch 9 taken 8870460 times.
✓ Branch 10 taken 61012 times.
✓ Branch 11 taken 226098 times.
✓ Branch 12 taken 3004595 times.
✓ Branch 13 taken 122882 times.
✓ Branch 14 taken 3176625 times.
✓ Branch 15 taken 1943160 times.
✓ Branch 16 taken 25805954 times.
✓ Branch 17 taken 9124357 times.
✓ Branch 18 taken 9216499 times.
✓ Branch 19 taken 61729882 times.
✓ Branch 20 taken 5860066 times.
✓ Branch 21 taken 2209418 times.
✓ Branch 22 taken 27556564 times.
✓ Branch 23 taken 5882702 times.
✓ Branch 24 taken 267420 times.
✓ Branch 25 taken 4001612 times.
✓ Branch 26 taken 15970 times.
✓ Branch 27 taken 9050 times.
✓ Branch 28 taken 7488 times.
✓ Branch 29 taken 15878 times.
✓ Branch 30 taken 39078 times.
✓ Branch 31 taken 9878 times.
✓ Branch 32 taken 38878 times.
✓ Branch 33 taken 10040 times.
✓ Branch 34 taken 19568 times.
✓ Branch 35 taken 28750 times.
✓ Branch 36 taken 474 times.
✓ Branch 37 taken 190 times.
✓ Branch 38 taken 424 times.
✓ Branch 39 taken 240 times.
✓ Branch 40 taken 216 times.
✓ Branch 41 taken 224 times.
✗ Branch 42 not taken.
✓ Branch 43 taken 8 times.
✗ Branch 44 not taken.
✗ Branch 45 not taken.
✗ Branch 159 not taken.
✗ Branch 160 not taken.
✗ Branch 164 not taken.
✗ Branch 165 not taken.
✗ Branch 169 not taken.
✗ Branch 170 not taken.
✓ Branch 333 taken 30 times.
✓ Branch 334 taken 10 times.
✓ Branch 338 taken 40 times.
✗ Branch 339 not taken.
✓ Branch 346 taken 1 times.
✗ Branch 347 not taken.
✓ Branch 351 taken 30 times.
✓ Branch 352 taken 10 times.
✓ Branch 356 taken 40 times.
✗ Branch 357 not taken.
✓ Branch 364 taken 1 times.
✗ Branch 365 not taken.
✓ Branch 369 taken 30 times.
✓ Branch 370 taken 10 times.
✓ Branch 374 taken 40 times.
✗ Branch 375 not taken.
✓ Branch 382 taken 1 times.
✗ Branch 383 not taken.
✓ Branch 399 taken 30 times.
✓ Branch 400 taken 10 times.
✓ Branch 404 taken 40 times.
✗ Branch 405 not taken.
✓ Branch 412 taken 1 times.
✗ Branch 413 not taken.
✗ Branch 417 not taken.
✗ Branch 418 not taken.
✓ Branch 422 taken 30 times.
✓ Branch 423 taken 10 times.
✓ Branch 427 taken 40 times.
✗ Branch 428 not taken.
✓ Branch 435 taken 1 times.
✗ Branch 436 not taken.
✗ Branch 440 not taken.
✗ Branch 441 not taken.
✓ Branch 445 taken 30 times.
✓ Branch 446 taken 10 times.
✓ Branch 450 taken 40 times.
✗ Branch 451 not taken.
✓ Branch 458 taken 1 times.
✗ Branch 459 not taken.
✗ Branch 463 not taken.
✗ Branch 464 not taken.
✓ Branch 468 taken 30 times.
✓ Branch 469 taken 10 times.
✓ Branch 473 taken 40 times.
✗ Branch 474 not taken.
✓ Branch 481 taken 1 times.
✗ Branch 482 not taken.
✗ Branch 486 not taken.
✗ Branch 487 not taken.
✓ Branch 491 taken 15 times.
✓ Branch 492 taken 5 times.
✓ Branch 496 taken 15 times.
✓ Branch 497 taken 5 times.
✓ Branch 501 taken 15 times.
✓ Branch 502 taken 5 times.
1382201326 return asImp_().boundaryTypesAtPos(scvf.ipGlobal());
153 }
154
155 /*!
156 * \brief Specifies which kind of boundary condition should be
157 * used for which equation on a given boundary segment.
158 *
159 * \param globalPos The position of the finite volume in global coordinates
160 */
161 BoundaryTypes boundaryTypesAtPos(const GlobalPosition &globalPos) const
162 {
163 //! As a default, i.e. if the user's problem does not overload any boundaryTypes method
164 //! set Dirichlet boundary conditions everywhere for all primary variables
165 BoundaryTypes bcTypes;
166 bcTypes.setAllDirichlet();
167 return bcTypes;
168 }
169
170 /*!
171 * \brief Evaluate the boundary conditions for a dirichlet
172 * control volume face.
173 *
174 * \param element The finite element
175 * \param scvf the sub control volume face
176 * \note used for cell-centered discretization schemes
177 */
178 PrimaryVariables dirichlet(const Element &element, const SubControlVolumeFace &scvf) const
179 {
180 // forward it to the method which only takes the global coordinate
181 if (isCVFE)
182 {
183 DUNE_THROW(Dune::InvalidStateException, "dirichlet(scvf) called for CVFE method.");
184 }
185 else
186
39/61
✓ Branch 0 taken 261397 times.
✓ Branch 1 taken 820441 times.
✓ Branch 2 taken 266521 times.
✓ Branch 3 taken 142626 times.
✓ Branch 4 taken 552409 times.
✓ Branch 5 taken 302977 times.
✓ Branch 6 taken 61437 times.
✓ Branch 7 taken 760057 times.
✓ Branch 8 taken 196900 times.
✓ Branch 9 taken 10864 times.
✓ Branch 10 taken 10482 times.
✓ Branch 11 taken 121330 times.
✓ Branch 12 taken 12074 times.
✓ Branch 13 taken 123800 times.
✓ Branch 14 taken 12154 times.
✓ Branch 15 taken 123012 times.
✓ Branch 16 taken 14958 times.
✓ Branch 17 taken 120032 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 10 times.
✗ Branch 20 not taken.
✗ Branch 21 not taken.
✓ Branch 22 taken 10 times.
✗ Branch 23 not taken.
✗ Branch 24 not taken.
✓ Branch 25 taken 10 times.
✗ Branch 26 not taken.
✗ Branch 27 not taken.
✓ Branch 28 taken 10 times.
✗ Branch 29 not taken.
✓ Branch 30 taken 5976 times.
✓ Branch 31 taken 1498 times.
✓ Branch 32 taken 5976 times.
✓ Branch 33 taken 1488 times.
✓ Branch 34 taken 10 times.
✗ Branch 35 not taken.
✗ Branch 36 not taken.
✓ Branch 37 taken 10 times.
✗ Branch 38 not taken.
✓ Branch 40 taken 10 times.
✗ Branch 41 not taken.
✓ Branch 43 taken 10 times.
✗ Branch 44 not taken.
✓ Branch 46 taken 10 times.
✗ Branch 47 not taken.
✓ Branch 49 taken 10 times.
✗ Branch 50 not taken.
✓ Branch 52 taken 10 times.
✗ Branch 53 not taken.
✓ Branch 55 taken 10 times.
✗ Branch 56 not taken.
✓ Branch 58 taken 10 times.
✗ Branch 59 not taken.
✓ Branch 61 taken 5 times.
✗ Branch 62 not taken.
✓ Branch 64 taken 5 times.
✗ Branch 65 not taken.
✓ Branch 67 taken 5 times.
✗ Branch 68 not taken.
✓ Branch 70 taken 5 times.
✗ Branch 71 not taken.
7580274 return asImp_().dirichletAtPos(scvf.ipGlobal());
187 }
188
189 /*!
190 * \brief Evaluate the boundary conditions for a dirichlet
191 * control volume.
192 *
193 * \param element The finite element
194 * \param scv the sub control volume
195 * \note used for cell-centered discretization schemes
196 */
197 PrimaryVariables dirichlet(const Element &element, const SubControlVolume &scv) const
198 {
199 // forward it to the method which only takes the global coordinate
200 if (!isCVFE && !isStaggered)
201 {
202 DUNE_THROW(Dune::InvalidStateException, "dirichlet(scv) called for other than CVFE or staggered method.");
203 }
204 else
205
10/12
✓ Branch 0 taken 12673 times.
✓ Branch 1 taken 12737 times.
✓ Branch 2 taken 12673 times.
✓ Branch 3 taken 12737 times.
✓ Branch 4 taken 160579 times.
✓ Branch 5 taken 122953 times.
✓ Branch 6 taken 160579 times.
✓ Branch 7 taken 122953 times.
✓ Branch 8 taken 136 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 136 times.
✗ Branch 11 not taken.
1706849 return asImp_().dirichletAtPos(scv.dofPosition());
206 }
207
208 /*!
209 * \brief Evaluate the boundary conditions for a dirichlet
210 * control volume.
211 *
212 * \param globalPos The position of the center of the finite volume
213 * for which the dirichlet condition ought to be
214 * set in global coordinates
215 */
216 PrimaryVariables dirichletAtPos(const GlobalPosition &globalPos) const
217 {
218 // Throw an exception (there is no reasonable default value
219 // for Dirichlet conditions)
220 DUNE_THROW(Dune::InvalidStateException,
221 "The problem specifies that some boundary "
222 "segments are dirichlet, but does not provide "
223 "a dirichlet() or a dirichletAtPos() method.");
224 }
225
226 /*!
227 * \brief If internal Dirichlet constraints are enabled
228 * Enables / disables internal (non-boundary) Dirichlet constraints. If this is overloaded
229 * to return true, the assembler calls problem.hasInternalDirichletConstraint(element, scv).
230 * This means you have to implement the following member function
231 *
232 * std::bitset<N> hasInternalDirichletConstraint(const Element& element, const SubControlVolume& scv) const;
233 *
234 * where N is the number of equations and where the return value defines for each equation if the corresponding dof associated
235 * with the element/scv pair is constraint. If true is returned for a dof, the assembler calls
236 * problem.internalDirichlet(element, scv). This means you have to additionally implement the following member function
237 *
238 * PrimaryVariables internalDirichlet(const Element& element, const SubControlVolume& scv) const;
239 *
240 * which returns the enforced Dirichlet values the dof associated with the element/scv pair.
241 */
242 static constexpr bool enableInternalDirichletConstraints()
243 { return false; }
244
245 /*!
246 * \brief Evaluate the boundary conditions for a neumann
247 * boundary segment.
248 *
249 * This is the method for the case where the Neumann condition is
250 * potentially solution dependent
251 *
252 * \param element The finite element
253 * \param fvGeometry The finite-volume geometry
254 * \param elemVolVars All volume variables for the element
255 * \param elemFluxVarsCache Flux variables caches for all faces in stencil
256 * \param scvf The sub control volume face
257 *
258 * Negative values mean influx.
259 * E.g. for the mass balance that would be the mass flux in \f$ [ kg / (m^2 \cdot s)] \f$.
260 */
261 template<class ElementVolumeVariables, class ElementFluxVariablesCache>
262 NumEqVector neumann(const Element& element,
263 const FVElementGeometry& fvGeometry,
264 const ElementVolumeVariables& elemVolVars,
265 const ElementFluxVariablesCache& elemFluxVarsCache,
266 const SubControlVolumeFace& scvf) const
267 {
268 // forward it to the interface with only the global position
269
14/16
✓ Branch 0 taken 7311055 times.
✓ Branch 1 taken 426028 times.
✓ Branch 2 taken 5762484 times.
✓ Branch 3 taken 14988 times.
✓ Branch 4 taken 56582 times.
✓ Branch 5 taken 56089 times.
✓ Branch 6 taken 56222 times.
✓ Branch 7 taken 56089 times.
✗ Branch 8 not taken.
✗ Branch 9 not taken.
✓ Branch 10 taken 21864 times.
✓ Branch 11 taken 21864 times.
✓ Branch 12 taken 21864 times.
✓ Branch 13 taken 21864 times.
✓ Branch 14 taken 36624 times.
✓ Branch 15 taken 7104 times.
92117291 return asImp_().neumannAtPos(scvf.ipGlobal());
270 }
271
272 /*!
273 * \brief Evaluate the boundary conditions for a neumann
274 * boundary segment.
275 *
276 * \param globalPos The position of the boundary face's integration point in global coordinates
277 *
278 * Negative values mean influx.
279 * E.g. for the mass balance that would be the mass flux in \f$ [ kg / (m^2 \cdot s)] \f$.
280 */
281 NumEqVector neumannAtPos(const GlobalPosition &globalPos) const
282 {
283 //! As a default, i.e. if the user's problem does not overload any neumann method
284 //! return no-flow Neumann boundary conditions at all Neumann boundaries
285
4/6
✓ Branch 0 taken 502824 times.
✓ Branch 1 taken 234004 times.
✓ Branch 2 taken 5696 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 12 times.
✗ Branch 5 not taken.
17461363 return NumEqVector(0.0);
286 }
287
288 /*!
289 * \brief Evaluate the source term for all phases within a given
290 * sub-control-volume.
291 *
292 * This is the method for the case where the source term is
293 * potentially solution dependent and requires some quantities that
294 * are specific to the fully-implicit method.
295 *
296 * \param element The finite element
297 * \param fvGeometry The finite-volume geometry
298 * \param elemVolVars All volume variables for the element
299 * \param scv The sub control volume
300 *
301 * For this method, the return parameter stores the conserved quantity rate
302 * generated or annihilate per volume unit. Positive values mean
303 * that the conserved quantity is created, negative ones mean that it vanishes.
304 * E.g. for the mass balance that would be a mass rate in \f$ [ kg / (m^3 \cdot s)] \f$.
305 */
306 template<class ElementVolumeVariables>
307 NumEqVector source(const Element &element,
308 const FVElementGeometry& fvGeometry,
309 const ElementVolumeVariables& elemVolVars,
310 const SubControlVolume &scv) const
311 {
312 // forward to solution independent, fully-implicit specific interface
313
4/14
✗ Branch 0 not taken.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✓ Branch 4 taken 17400 times.
✓ Branch 5 taken 245400 times.
✓ Branch 6 taken 17400 times.
✓ Branch 7 taken 245400 times.
✗ Branch 8 not taken.
✗ Branch 9 not taken.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
513866964 return asImp_().sourceAtPos(scv.center());
314 }
315
316 /*!
317 * \brief Evaluate the source term for all phases within a given
318 * sub-control-volume.
319 *
320 * \param globalPos The position of the center of the finite volume
321 * for which the source term ought to be
322 * specified in global coordinates
323 *
324 * For this method, the values parameter stores the conserved quantity rate
325 * generated or annihilate per volume unit. Positive values mean
326 * that the conserved quantity is created, negative ones mean that it vanishes.
327 * E.g. for the mass balance that would be a mass rate in \f$ [ kg / (m^3 \cdot s)] \f$.
328 */
329 NumEqVector sourceAtPos(const GlobalPosition &globalPos) const
330 {
331 //! As a default, i.e. if the user's problem does not overload any source method
332 //! return 0.0 (no source terms)
333
1/11
✓ Branch 1 taken 97894 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.
✗ Branch 9 not taken.
✗ Branch 10 not taken.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
780945573 return NumEqVector(0.0);
334 }
335
336 /*!
337 * \brief Applies a vector of point sources. The point sources
338 * are possibly solution dependent.
339 *
340 * \param pointSources A vector of PointSource s that contain
341 source values for all phases and space positions.
342 *
343 * For this method, the values method of the point source
344 * has to return the absolute rate values in units
345 * \f$ [ \textnormal{unit of conserved quantity} / s ] \f$.
346 * Positive values mean that the conserved quantity is created, negative ones mean that it vanishes.
347 * E.g. for the mass balance that would be a mass rate in \f$ [ kg / s ] \f$.
348 */
349 void addPointSources(std::vector<PointSource>& pointSources) const {}
350
351 /*!
352 * \brief Evaluate the point sources (added by addPointSources)
353 * for all phases within a given sub-control-volume.
354 *
355 * This is the method for the case where the point source is
356 * solution dependent
357 *
358 * \param source A single point source
359 * \param element The finite element
360 * \param fvGeometry The finite-volume geometry
361 * \param elemVolVars All volume variables for the element
362 * \param scv The sub control volume
363 *
364 * For this method, the values() method of the point sources returns
365 * the absolute conserved quantity rate generated or annihilate in
366 * units \f$ [ \textnormal{unit of conserved quantity} / s ] \f$.
367 * Positive values mean that the conserved quantity is created, negative ones mean that it vanishes.
368 * E.g. for the mass balance that would be a mass rate in \f$ [ kg / s ] \f$.
369 */
370 template<class ElementVolumeVariables>
371 void pointSource(PointSource& source,
372 const Element &element,
373 const FVElementGeometry& fvGeometry,
374 const ElementVolumeVariables& elemVolVars,
375 const SubControlVolume &scv) const
376 {
377 // forward to space dependent interface method
378 22260 asImp_().pointSourceAtPos(source, source.position());
379 }
380
381 /*!
382 * \brief Evaluate the point sources (added by addPointSources)
383 * for all phases within a given sub-control-volume.
384 *
385 * This is the method for the case where the point source is space dependent
386 *
387 * \param pointSource A single point source
388 * \param globalPos The point source position in global coordinates
389 *
390 * For this method, the \a values() method of the point sources returns
391 * the absolute conserved quantity rate generated or annihilate in
392 * units \f$ [ \textnormal{unit of conserved quantity} / s ] \f$. Positive values mean
393 * that the conserved quantity is created, negative ones mean that it vanishes.
394 * E.g. for the mass balance that would be a mass rate in \f$ [ kg / s ] \f$.
395 */
396 void pointSourceAtPos(PointSource& pointSource,
397 const GlobalPosition &globalPos) const {}
398
399 /*!
400 * \brief Add source term derivative to the Jacobian
401 * \note Only needed in case of analytic differentiation and solution dependent sources
402 */
403 template<class MatrixBlock, class VolumeVariables>
404 void addSourceDerivatives(MatrixBlock& block,
405 const Element& element,
406 const FVElementGeometry& fvGeometry,
407 const VolumeVariables& volVars,
408 const SubControlVolume& scv) const {}
409
410 /*!
411 * \brief Adds contribution of point sources for a specific sub control volume
412 * to the values.
413 * Caution: Only overload this method in the implementation if you know
414 * what you are doing.
415 */
416 template<class ElementVolumeVariables>
417 921824298 NumEqVector scvPointSources(const Element &element,
418 const FVElementGeometry& fvGeometry,
419 const ElementVolumeVariables& elemVolVars,
420 const SubControlVolume &scv) const
421 {
422 921824298 NumEqVector source(0);
423 921824298 auto scvIdx = scv.indexInElement();
424 2765861304 auto key = std::make_pair(gridGeometry_->elementMapper().index(element), scvIdx);
425 2739676244 if (pointSourceMap_.count(key))
426 {
427 // Add the contributions to the dof source values
428 // We divide by the volume. In the local residual this will be multiplied with the same
429 // factor again. That's because the user specifies absolute values in kg/s.
430 51593300 const auto volume = Extrusion::volume(fvGeometry, scv)*elemVolVars[scv].extrusionFactor();
431
432
4/4
✓ Branch 2 taken 38547465 times.
✓ Branch 3 taken 12905438 times.
✓ Branch 4 taken 38547465 times.
✓ Branch 5 taken 12905438 times.
205754708 for (const auto& ps : pointSourceMap_.at(key))
433 {
434 // we make a copy of the local point source here
435
0/2
✗ Branch 1 not taken.
✗ Branch 2 not taken.
77090144 auto pointSource = ps;
436
437 // Note: two concepts are implemented here. The PointSource property can be set to a
438 // customized point source function achieving variable point sources,
439 // see TimeDependentPointSource for an example. The second imitated the standard
440 // dumux source interface with solDependentPointSource / pointSourceAtPos, methods
441 // that can be overloaded in the actual problem class also achieving variable point sources.
442 // The first one is more convenient for simple function like a time dependent source.
443 // The second one might be more convenient for e.g. a solution dependent point source.
444
445 // we do an update e.g. used for TimeDependentPointSource
446
1/2
✓ Branch 1 taken 9440 times.
✗ Branch 2 not taken.
77080704 pointSource.update(asImp_(), element, fvGeometry, elemVolVars, scv);
447 // call convenience problem interface function
448
1/2
✓ Branch 0 taken 72 times.
✗ Branch 1 not taken.
77080704 asImp_().pointSource(pointSource, element, fvGeometry, elemVolVars, scv);
449 // at last take care about multiplying with the correct volume
450
1/2
✓ Branch 0 taken 72 times.
✗ Branch 1 not taken.
77080704 pointSource /= volume*pointSource.embeddings();
451 // add the point source values to the local residual
452
2/4
✓ Branch 0 taken 9440 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 72 times.
✗ Branch 3 not taken.
154161408 source += pointSource.values();
453 }
454 }
455
456 921824298 return source;
457 }
458
459 /*!
460 * \brief Compute the point source map, i.e. which scvs have point source contributions
461 * \note Call this on the problem before assembly if you want to enable point sources set
462 * via the addPointSources member function.
463 */
464 131 void computePointSourceMap()
465 {
466 // clear the given point source maps in case it's not empty
467 142 pointSourceMap_.clear();
468
469 // get and apply point sources if any given in the problem
470
5/10
✓ Branch 1 taken 82 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 71 times.
✓ Branch 4 taken 8 times.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✓ Branch 8 taken 2 times.
✗ Branch 9 not taken.
✓ Branch 11 taken 2 times.
✗ Branch 12 not taken.
284 std::vector<PointSource> sources;
471
1/2
✓ Branch 1 taken 79 times.
✗ Branch 2 not taken.
140 asImp_().addPointSources(sources);
472
473 // if there are point sources calculate point source locations and save them in a map
474
7/9
✓ Branch 0 taken 74 times.
✓ Branch 1 taken 8 times.
✓ Branch 2 taken 74 times.
✓ Branch 3 taken 5 times.
✓ Branch 4 taken 3 times.
✓ Branch 5 taken 2 times.
✗ Branch 6 not taken.
✓ Branch 8 taken 2 times.
✗ Branch 9 not taken.
284 if (!sources.empty())
475
1/2
✓ Branch 1 taken 74 times.
✗ Branch 2 not taken.
121 PointSourceHelper::computePointSourceMap(*gridGeometry_, sources, pointSourceMap_, paramGroup());
476 131 }
477
478 /*!
479 * \brief Get the point source map. It stores the point sources per scv
480 */
481 const PointSourceMap& pointSourceMap() const
482 { return pointSourceMap_; }
483
484 /*!
485 * \brief Applies the initial solution for all degrees of freedom of the grid.
486 * \param sol the initial solution vector
487 */
488 template<class SolutionVector>
489 void applyInitialSolution(SolutionVector& sol) const
490 {
491
5/8
✓ Branch 1 taken 364 times.
✓ Branch 2 taken 1 times.
✓ Branch 4 taken 94 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 4 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 3 times.
✗ Branch 11 not taken.
375 assembleInitialSolution(sol, asImp_());
492 }
493
494 /*!
495 * \brief Evaluate the initial value for a entity
496 *
497 * \param entity The dof entity
498 */
499 template<class Entity>
500 424768 PrimaryVariables initial(const Entity& entity) const
501 {
502
6/13
✓ Branch 1 taken 528 times.
✓ Branch 2 taken 71969 times.
✓ Branch 3 taken 19640 times.
✓ Branch 4 taken 4301 times.
✓ Branch 5 taken 22874 times.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
✓ Branch 8 taken 72 times.
✗ Branch 9 not taken.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
1781469 return asImp_().initialAtPos(entity.geometry().center());
503 }
504
505 /*!
506 * \brief Evaluate the initial value for a control volume.
507 *
508 * \param globalPos The global position
509 */
510 1 PrimaryVariables initialAtPos(const GlobalPosition &globalPos) const
511 {
512 // Throw an exception (there is no reasonable default value
513 // for initial values)
514
7/16
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 11 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 15 taken 1 times.
✗ Branch 16 not taken.
✓ Branch 18 taken 1 times.
✗ Branch 19 not taken.
✓ Branch 21 taken 1 times.
✗ Branch 22 not taken.
✓ Branch 23 taken 1 times.
✗ Branch 24 not taken.
✗ Branch 26 not taken.
✓ Branch 27 taken 1 times.
✗ Branch 29 not taken.
✗ Branch 30 not taken.
11 DUNE_THROW(Dune::InvalidStateException,
515 "The problem does not provide "
516 "an initial() or an initialAtPos() method.");
517 }
518
519 //! The finite volume grid geometry
520 const GridGeometry& gridGeometry() const
521
1040/2216
✓ Branch 0 taken 3412929 times.
✓ Branch 1 taken 4852277 times.
✓ Branch 2 taken 267551775 times.
✓ Branch 3 taken 18100289 times.
✓ Branch 4 taken 265082986 times.
✓ Branch 5 taken 22285575 times.
✓ Branch 6 taken 259657758 times.
✓ Branch 7 taken 20618253 times.
✓ Branch 8 taken 259448280 times.
✓ Branch 9 taken 15033340 times.
✓ Branch 10 taken 4303612 times.
✓ Branch 11 taken 10488940 times.
✓ Branch 12 taken 5626824 times.
✓ Branch 13 taken 6195626 times.
✓ Branch 14 taken 6622146 times.
✓ Branch 15 taken 7491406 times.
✓ Branch 16 taken 7070071 times.
✓ Branch 17 taken 2958498 times.
✓ Branch 18 taken 11019815 times.
✓ Branch 19 taken 4946443 times.
✓ Branch 20 taken 3534347 times.
✓ Branch 21 taken 3790596 times.
✓ Branch 22 taken 5352375 times.
✓ Branch 23 taken 3231280 times.
✓ Branch 24 taken 6664454 times.
✓ Branch 25 taken 1585818 times.
✓ Branch 26 taken 6418441 times.
✓ Branch 27 taken 309240 times.
✓ Branch 28 taken 1839045 times.
✓ Branch 29 taken 7461781 times.
✓ Branch 30 taken 1169061 times.
✓ Branch 31 taken 7248016 times.
✓ Branch 32 taken 2597172 times.
✓ Branch 33 taken 424841 times.
✓ Branch 34 taken 2207074 times.
✓ Branch 35 taken 4406521 times.
✓ Branch 36 taken 1198403 times.
✓ Branch 37 taken 1560553 times.
✓ Branch 38 taken 4416926 times.
✓ Branch 39 taken 1549671 times.
✓ Branch 40 taken 436253 times.
✓ Branch 41 taken 4449018 times.
✓ Branch 42 taken 474174 times.
✓ Branch 43 taken 532024 times.
✓ Branch 44 taken 4452371 times.
✓ Branch 45 taken 783918 times.
✓ Branch 46 taken 123322 times.
✓ Branch 47 taken 20028134 times.
✓ Branch 48 taken 421260 times.
✓ Branch 49 taken 437007 times.
✓ Branch 50 taken 19984507 times.
✓ Branch 51 taken 725183 times.
✓ Branch 52 taken 397149 times.
✓ Branch 53 taken 21164562 times.
✓ Branch 54 taken 855781 times.
✓ Branch 55 taken 2745218 times.
✓ Branch 56 taken 19459495 times.
✓ Branch 57 taken 1057580 times.
✓ Branch 58 taken 509197 times.
✓ Branch 59 taken 888861 times.
✓ Branch 60 taken 889938 times.
✓ Branch 61 taken 30316504 times.
✓ Branch 62 taken 1180051 times.
✓ Branch 63 taken 30543288 times.
✓ Branch 64 taken 324006 times.
✓ Branch 65 taken 653812 times.
✓ Branch 66 taken 398209 times.
✓ Branch 67 taken 615380 times.
✓ Branch 68 taken 619330 times.
✓ Branch 69 taken 689394 times.
✓ Branch 70 taken 662472 times.
✓ Branch 71 taken 6764146 times.
✓ Branch 72 taken 437228 times.
✓ Branch 73 taken 5835477 times.
✓ Branch 74 taken 1433083 times.
✓ Branch 75 taken 744722 times.
✓ Branch 76 taken 508260 times.
✓ Branch 77 taken 620212 times.
✓ Branch 78 taken 490304 times.
✓ Branch 79 taken 490233 times.
✓ Branch 80 taken 555052 times.
✓ Branch 81 taken 584911 times.
✓ Branch 82 taken 221447 times.
✓ Branch 83 taken 564317 times.
✓ Branch 84 taken 440585 times.
✓ Branch 85 taken 573121 times.
✓ Branch 86 taken 654837 times.
✓ Branch 87 taken 766523 times.
✓ Branch 88 taken 625354 times.
✓ Branch 89 taken 790520 times.
✓ Branch 90 taken 817000 times.
✓ Branch 91 taken 599172 times.
✓ Branch 92 taken 686068 times.
✓ Branch 93 taken 1127024 times.
✓ Branch 94 taken 569682 times.
✓ Branch 95 taken 478541 times.
✓ Branch 96 taken 1030730 times.
✓ Branch 97 taken 1407125 times.
✓ Branch 98 taken 261991 times.
✓ Branch 99 taken 2517146 times.
✓ Branch 100 taken 850013 times.
✓ Branch 101 taken 655837 times.
✓ Branch 102 taken 1960788 times.
✓ Branch 103 taken 1122991 times.
✓ Branch 104 taken 99484 times.
✓ Branch 105 taken 1685916 times.
✓ Branch 106 taken 560374 times.
✓ Branch 107 taken 245921 times.
✓ Branch 108 taken 1634013 times.
✓ Branch 109 taken 607280 times.
✓ Branch 110 taken 198830 times.
✓ Branch 111 taken 1020956 times.
✓ Branch 112 taken 561029 times.
✓ Branch 113 taken 831858 times.
✓ Branch 114 taken 975314 times.
✓ Branch 115 taken 294441 times.
✓ Branch 116 taken 800837 times.
✓ Branch 117 taken 256012 times.
✓ Branch 118 taken 267501 times.
✓ Branch 119 taken 1138119 times.
✓ Branch 120 taken 248114 times.
✓ Branch 121 taken 479843 times.
✓ Branch 122 taken 2460251 times.
✓ Branch 123 taken 639720 times.
✓ Branch 124 taken 5238052 times.
✓ Branch 125 taken 34215802 times.
✓ Branch 126 taken 9194876 times.
✓ Branch 127 taken 54505161 times.
✓ Branch 128 taken 7897879 times.
✓ Branch 129 taken 27519786 times.
✓ Branch 130 taken 2763257 times.
✓ Branch 131 taken 7684115 times.
✓ Branch 132 taken 2425845 times.
✓ Branch 133 taken 3132262 times.
✓ Branch 134 taken 2046096 times.
✓ Branch 135 taken 3083192 times.
✓ Branch 136 taken 8880729 times.
✓ Branch 137 taken 58502433 times.
✓ Branch 138 taken 23580752 times.
✓ Branch 139 taken 338489470 times.
✓ Branch 140 taken 48603472 times.
✓ Branch 141 taken 285363699 times.
✓ Branch 142 taken 33787002 times.
✓ Branch 143 taken 4879837 times.
✓ Branch 144 taken 4162636 times.
✓ Branch 145 taken 33521540 times.
✓ Branch 146 taken 8919639 times.
✓ Branch 147 taken 51841521 times.
✓ Branch 148 taken 10360111 times.
✓ Branch 149 taken 114999449 times.
✓ Branch 150 taken 21443864 times.
✓ Branch 151 taken 97111709 times.
✓ Branch 152 taken 107835677 times.
✓ Branch 153 taken 3835688 times.
✓ Branch 154 taken 92881172 times.
✓ Branch 155 taken 17817233 times.
✓ Branch 156 taken 18582901 times.
✓ Branch 157 taken 311195035 times.
✓ Branch 158 taken 20990281 times.
✓ Branch 159 taken 309891837 times.
✓ Branch 160 taken 81516987 times.
✓ Branch 161 taken 14813201 times.
✓ Branch 162 taken 78251292 times.
✓ Branch 163 taken 1874156 times.
✓ Branch 164 taken 1276517 times.
✓ Branch 165 taken 76984997 times.
✓ Branch 166 taken 1874152 times.
✓ Branch 167 taken 76843761 times.
✓ Branch 168 taken 6122569 times.
✓ Branch 169 taken 73409875 times.
✓ Branch 170 taken 5980113 times.
✓ Branch 171 taken 73408646 times.
✓ Branch 172 taken 98 times.
✓ Branch 173 taken 115 times.
✓ Branch 174 taken 79 times.
✓ Branch 175 taken 434908 times.
✓ Branch 176 taken 104 times.
✓ Branch 177 taken 79 times.
✓ Branch 178 taken 434907 times.
✗ Branch 179 not taken.
✓ Branch 180 taken 79 times.
✓ Branch 181 taken 19 times.
✗ Branch 182 not taken.
✓ Branch 183 taken 84 times.
✓ Branch 184 taken 19 times.
✓ Branch 185 taken 5 times.
✓ Branch 186 taken 274 times.
✓ Branch 187 taken 1837 times.
✓ Branch 188 taken 195 times.
✓ Branch 189 taken 1898 times.
✓ Branch 190 taken 18 times.
✗ Branch 191 not taken.
✓ Branch 192 taken 79 times.
✓ Branch 193 taken 421 times.
✗ Branch 194 not taken.
✓ Branch 196 taken 421 times.
✓ Branch 197 taken 79 times.
✗ Branch 198 not taken.
✓ Branch 199 taken 409 times.
✓ Branch 200 taken 79 times.
✗ Branch 201 not taken.
✓ Branch 202 taken 409 times.
✓ Branch 203 taken 79 times.
✓ Branch 204 taken 10166527 times.
✓ Branch 205 taken 959690 times.
✓ Branch 206 taken 10166626 times.
✓ Branch 207 taken 959693 times.
✓ Branch 208 taken 463932 times.
✓ Branch 209 taken 9702622 times.
✓ Branch 210 taken 463915 times.
✓ Branch 211 taken 9702620 times.
✓ Branch 212 taken 11546069 times.
✓ Branch 213 taken 8506207 times.
✓ Branch 214 taken 11546066 times.
✓ Branch 215 taken 8506208 times.
✓ Branch 216 taken 1880835 times.
✓ Branch 217 taken 16678747 times.
✓ Branch 218 taken 4376350 times.
✓ Branch 219 taken 16823579 times.
✓ Branch 220 taken 8541988 times.
✓ Branch 221 taken 5153098 times.
✓ Branch 222 taken 33846526 times.
✓ Branch 223 taken 8928048 times.
✓ Branch 224 taken 32970906 times.
✓ Branch 225 taken 9634766 times.
✓ Branch 226 taken 6739939 times.
✓ Branch 227 taken 31801114 times.
✓ Branch 228 taken 27738556 times.
✓ Branch 229 taken 31633520 times.
✓ Branch 230 taken 57318856 times.
✓ Branch 231 taken 7222706 times.
✓ Branch 232 taken 32519608 times.
✓ Branch 233 taken 31476589 times.
✓ Branch 234 taken 21564992 times.
✓ Branch 235 taken 59831812 times.
✓ Branch 236 taken 47375694 times.
✓ Branch 237 taken 37215379 times.
✓ Branch 238 taken 31231603 times.
✓ Branch 239 taken 25254043 times.
✓ Branch 240 taken 12319177 times.
✓ Branch 241 taken 43289972 times.
✓ Branch 242 taken 37953493 times.
✓ Branch 243 taken 29500303 times.
✓ Branch 244 taken 29943884 times.
✓ Branch 245 taken 11412723 times.
✓ Branch 246 taken 1150525 times.
✓ Branch 247 taken 35820245 times.
✓ Branch 248 taken 2234185 times.
✓ Branch 249 taken 34995433 times.
✓ Branch 250 taken 30921279 times.
✓ Branch 251 taken 7200007 times.
✓ Branch 252 taken 30921280 times.
✓ Branch 253 taken 7200044 times.
✓ Branch 254 taken 2234182 times.
✓ Branch 255 taken 34995431 times.
✓ Branch 256 taken 891709 times.
✓ Branch 257 taken 28687060 times.
✓ Branch 258 taken 11059314 times.
✓ Branch 259 taken 335197 times.
✓ Branch 260 taken 11059278 times.
✓ Branch 261 taken 335196 times.
✓ Branch 262 taken 335195 times.
✓ Branch 263 taken 10724124 times.
✓ Branch 264 taken 335192 times.
✓ Branch 265 taken 10724159 times.
✓ Branch 266 taken 2 times.
✓ Branch 267 taken 36 times.
✓ Branch 268 taken 39 times.
✓ Branch 269 taken 2 times.
✓ Branch 270 taken 34 times.
✓ Branch 271 taken 3 times.
✗ Branch 272 not taken.
✓ Branch 273 taken 34 times.
✓ Branch 274 taken 3 times.
✓ Branch 275 taken 36 times.
✓ Branch 276 taken 34 times.
✓ Branch 277 taken 1 times.
✓ Branch 278 taken 36 times.
✓ Branch 279 taken 34 times.
✓ Branch 280 taken 1 times.
✗ Branch 281 not taken.
✓ Branch 282 taken 34 times.
✓ Branch 283 taken 37 times.
✗ Branch 284 not taken.
✓ Branch 285 taken 34 times.
✓ Branch 286 taken 37 times.
✗ Branch 287 not taken.
✓ Branch 288 taken 34 times.
✓ Branch 289 taken 3 times.
✗ Branch 290 not taken.
✓ Branch 291 taken 2 times.
✓ Branch 292 taken 1 times.
✓ Branch 293 taken 2 times.
✗ Branch 294 not taken.
✓ Branch 295 taken 35 times.
✓ Branch 296 taken 2 times.
✓ Branch 297 taken 1 times.
✓ Branch 298 taken 35 times.
✓ Branch 299 taken 1 times.
✓ Branch 301 taken 2 times.
✗ Branch 302 not taken.
✓ Branch 303 taken 34 times.
✓ Branch 304 taken 2 times.
✗ Branch 305 not taken.
✓ Branch 306 taken 34 times.
✓ Branch 307 taken 1 times.
✗ Branch 308 not taken.
✓ Branch 310 taken 1 times.
✗ Branch 311 not taken.
✓ Branch 313 taken 1 times.
✗ Branch 314 not taken.
✓ Branch 316 taken 1 times.
✓ Branch 317 taken 1 times.
✗ Branch 318 not taken.
✓ Branch 319 taken 2 times.
✗ Branch 320 not taken.
✓ Branch 321 taken 1 times.
✓ Branch 322 taken 1 times.
✗ Branch 323 not taken.
✓ Branch 324 taken 1 times.
✓ Branch 325 taken 1 times.
✗ Branch 326 not taken.
✓ Branch 328 taken 1 times.
✗ Branch 329 not taken.
✓ Branch 331 taken 1 times.
✗ Branch 332 not taken.
✓ Branch 334 taken 1 times.
✗ Branch 335 not taken.
✓ Branch 337 taken 1 times.
✗ Branch 338 not taken.
✓ Branch 340 taken 1 times.
✗ Branch 341 not taken.
✓ Branch 343 taken 1 times.
✗ Branch 344 not taken.
✓ Branch 346 taken 1 times.
✗ Branch 347 not taken.
✓ Branch 349 taken 1 times.
✗ Branch 350 not taken.
✓ Branch 352 taken 1 times.
✗ Branch 353 not taken.
✓ Branch 355 taken 1 times.
✗ Branch 356 not taken.
✓ Branch 358 taken 1 times.
✗ Branch 359 not taken.
✓ Branch 361 taken 1 times.
✗ Branch 362 not taken.
✓ Branch 364 taken 1 times.
✗ Branch 365 not taken.
✓ Branch 367 taken 1 times.
✗ Branch 368 not taken.
✓ Branch 370 taken 1 times.
✗ Branch 371 not taken.
✓ Branch 373 taken 1 times.
✗ Branch 374 not taken.
✓ Branch 376 taken 1 times.
✗ Branch 377 not taken.
✓ Branch 379 taken 1 times.
✗ Branch 380 not taken.
✓ Branch 382 taken 1 times.
✗ Branch 383 not taken.
✓ Branch 385 taken 1 times.
✗ Branch 386 not taken.
✓ Branch 388 taken 1 times.
✗ Branch 389 not taken.
✓ Branch 391 taken 1 times.
✗ Branch 392 not taken.
✓ Branch 394 taken 1 times.
✗ Branch 395 not taken.
✓ Branch 397 taken 1 times.
✗ Branch 398 not taken.
✓ Branch 400 taken 1 times.
✗ Branch 401 not taken.
✓ Branch 403 taken 1 times.
✗ Branch 404 not taken.
✓ Branch 406 taken 1 times.
✗ Branch 407 not taken.
✓ Branch 409 taken 1 times.
✗ Branch 410 not taken.
✓ Branch 412 taken 1 times.
✗ Branch 413 not taken.
✓ Branch 415 taken 1 times.
✗ Branch 416 not taken.
✓ Branch 418 taken 1 times.
✗ Branch 419 not taken.
✓ Branch 421 taken 1 times.
✗ Branch 422 not taken.
✓ Branch 424 taken 1 times.
✗ Branch 425 not taken.
✓ Branch 427 taken 1 times.
✗ Branch 428 not taken.
✓ Branch 430 taken 1 times.
✗ Branch 431 not taken.
✓ Branch 433 taken 1 times.
✗ Branch 434 not taken.
✓ Branch 436 taken 1 times.
✗ Branch 437 not taken.
✓ Branch 439 taken 1 times.
✗ Branch 440 not taken.
✓ Branch 442 taken 1 times.
✗ Branch 443 not taken.
✓ Branch 445 taken 1 times.
✗ Branch 446 not taken.
✓ Branch 448 taken 1 times.
✗ Branch 449 not taken.
✓ Branch 451 taken 1 times.
✗ Branch 452 not taken.
✓ Branch 454 taken 1 times.
✗ Branch 455 not taken.
✓ Branch 457 taken 1 times.
✗ Branch 458 not taken.
✓ Branch 460 taken 1 times.
✗ Branch 461 not taken.
✓ Branch 463 taken 1 times.
✗ Branch 464 not taken.
✓ Branch 466 taken 1 times.
✗ Branch 467 not taken.
✓ Branch 469 taken 1 times.
✗ Branch 470 not taken.
✓ Branch 472 taken 1 times.
✗ Branch 473 not taken.
✓ Branch 475 taken 1 times.
✗ Branch 476 not taken.
✓ Branch 478 taken 1 times.
✗ Branch 479 not taken.
✓ Branch 481 taken 1 times.
✗ Branch 482 not taken.
✓ Branch 484 taken 1 times.
✗ Branch 485 not taken.
✓ Branch 487 taken 1 times.
✗ Branch 488 not taken.
✓ Branch 490 taken 1 times.
✗ Branch 491 not taken.
✓ Branch 493 taken 1 times.
✗ Branch 494 not taken.
✓ Branch 496 taken 1 times.
✗ Branch 497 not taken.
✓ Branch 499 taken 1 times.
✗ Branch 500 not taken.
✓ Branch 502 taken 1 times.
✗ Branch 503 not taken.
✓ Branch 505 taken 1 times.
✗ Branch 506 not taken.
✓ Branch 508 taken 1 times.
✗ Branch 509 not taken.
✓ Branch 511 taken 1 times.
✗ Branch 512 not taken.
✓ Branch 514 taken 1 times.
✗ Branch 515 not taken.
✓ Branch 517 taken 1 times.
✗ Branch 518 not taken.
✓ Branch 520 taken 1 times.
✗ Branch 521 not taken.
✓ Branch 523 taken 1 times.
✗ Branch 524 not taken.
✓ Branch 526 taken 1 times.
✗ Branch 527 not taken.
✓ Branch 529 taken 1 times.
✗ Branch 530 not taken.
✓ Branch 532 taken 1 times.
✗ Branch 533 not taken.
✓ Branch 535 taken 1 times.
✗ Branch 536 not taken.
✓ Branch 538 taken 1 times.
✗ Branch 539 not taken.
✓ Branch 541 taken 1 times.
✗ Branch 542 not taken.
✓ Branch 544 taken 1 times.
✗ Branch 545 not taken.
✓ Branch 547 taken 1 times.
✗ Branch 548 not taken.
✓ Branch 550 taken 1 times.
✗ Branch 551 not taken.
✓ Branch 553 taken 1 times.
✗ Branch 554 not taken.
✓ Branch 556 taken 1 times.
✗ Branch 557 not taken.
✓ Branch 559 taken 1 times.
✗ Branch 560 not taken.
✓ Branch 562 taken 1 times.
✗ Branch 563 not taken.
✓ Branch 565 taken 1 times.
✗ Branch 566 not taken.
✓ Branch 568 taken 1 times.
✗ Branch 569 not taken.
✓ Branch 571 taken 1 times.
✗ Branch 572 not taken.
✓ Branch 574 taken 1 times.
✗ Branch 575 not taken.
✓ Branch 577 taken 1 times.
✗ Branch 578 not taken.
✓ Branch 580 taken 1 times.
✗ Branch 581 not taken.
✓ Branch 583 taken 1 times.
✗ Branch 584 not taken.
✓ Branch 586 taken 1 times.
✗ Branch 587 not taken.
✓ Branch 589 taken 1 times.
✗ Branch 590 not taken.
✓ Branch 592 taken 1 times.
✗ Branch 593 not taken.
✓ Branch 595 taken 1 times.
✗ Branch 596 not taken.
✓ Branch 598 taken 1 times.
✗ Branch 599 not taken.
✓ Branch 601 taken 1 times.
✗ Branch 602 not taken.
✓ Branch 604 taken 1 times.
✗ Branch 605 not taken.
✓ Branch 607 taken 1 times.
✗ Branch 608 not taken.
✓ Branch 610 taken 1 times.
✗ Branch 611 not taken.
✓ Branch 613 taken 1 times.
✗ Branch 614 not taken.
✓ Branch 616 taken 1 times.
✗ Branch 617 not taken.
✓ Branch 619 taken 1 times.
✗ Branch 620 not taken.
✓ Branch 622 taken 1 times.
✗ Branch 623 not taken.
✓ Branch 625 taken 1 times.
✗ Branch 626 not taken.
✓ Branch 628 taken 1 times.
✗ Branch 629 not taken.
✓ Branch 631 taken 1 times.
✗ Branch 632 not taken.
✓ Branch 634 taken 1 times.
✗ Branch 635 not taken.
✓ Branch 637 taken 1 times.
✗ Branch 638 not taken.
✓ Branch 640 taken 1 times.
✗ Branch 641 not taken.
✓ Branch 643 taken 1 times.
✗ Branch 644 not taken.
✓ Branch 646 taken 1 times.
✗ Branch 647 not taken.
✓ Branch 649 taken 1 times.
✗ Branch 650 not taken.
✓ Branch 652 taken 1 times.
✗ Branch 653 not taken.
✓ Branch 655 taken 1 times.
✗ Branch 656 not taken.
✓ Branch 658 taken 1 times.
✗ Branch 659 not taken.
✓ Branch 661 taken 1 times.
✗ Branch 662 not taken.
✓ Branch 664 taken 1 times.
✗ Branch 665 not taken.
✓ Branch 667 taken 1 times.
✗ Branch 668 not taken.
✓ Branch 670 taken 1 times.
✗ Branch 671 not taken.
✓ Branch 673 taken 1 times.
✗ Branch 674 not taken.
✓ Branch 676 taken 1 times.
✗ Branch 677 not taken.
✓ Branch 679 taken 1 times.
✗ Branch 680 not taken.
✓ Branch 682 taken 1 times.
✗ Branch 683 not taken.
✓ Branch 685 taken 1 times.
✗ Branch 686 not taken.
✓ Branch 688 taken 1 times.
✗ Branch 689 not taken.
✓ Branch 691 taken 1 times.
✗ Branch 692 not taken.
✓ Branch 694 taken 1 times.
✗ Branch 695 not taken.
✓ Branch 697 taken 1 times.
✗ Branch 698 not taken.
✓ Branch 700 taken 1 times.
✗ Branch 701 not taken.
✓ Branch 703 taken 1 times.
✗ Branch 704 not taken.
✓ Branch 706 taken 1 times.
✗ Branch 707 not taken.
✓ Branch 709 taken 1 times.
✗ Branch 710 not taken.
✓ Branch 712 taken 1 times.
✗ Branch 713 not taken.
✓ Branch 715 taken 1 times.
✗ Branch 716 not taken.
✓ Branch 718 taken 1 times.
✗ Branch 719 not taken.
✓ Branch 721 taken 1 times.
✗ Branch 722 not taken.
✓ Branch 724 taken 1 times.
✗ Branch 725 not taken.
✓ Branch 727 taken 1 times.
✗ Branch 728 not taken.
✓ Branch 730 taken 1 times.
✗ Branch 731 not taken.
✓ Branch 733 taken 1 times.
✗ Branch 734 not taken.
✓ Branch 736 taken 1 times.
✗ Branch 737 not taken.
✓ Branch 739 taken 1 times.
✗ Branch 740 not taken.
✓ Branch 742 taken 1 times.
✗ Branch 743 not taken.
✓ Branch 745 taken 1 times.
✗ Branch 746 not taken.
✓ Branch 748 taken 1 times.
✗ Branch 749 not taken.
✓ Branch 751 taken 1 times.
✗ Branch 752 not taken.
✓ Branch 754 taken 1 times.
✗ Branch 755 not taken.
✓ Branch 757 taken 1 times.
✗ Branch 758 not taken.
✓ Branch 760 taken 1 times.
✗ Branch 761 not taken.
✓ Branch 763 taken 1 times.
✗ Branch 764 not taken.
✓ Branch 766 taken 1 times.
✗ Branch 767 not taken.
✓ Branch 769 taken 1 times.
✗ Branch 770 not taken.
✓ Branch 772 taken 1 times.
✗ Branch 773 not taken.
✓ Branch 775 taken 1 times.
✗ Branch 776 not taken.
✓ Branch 778 taken 1 times.
✗ Branch 779 not taken.
✓ Branch 781 taken 1 times.
✗ Branch 782 not taken.
✓ Branch 784 taken 1 times.
✗ Branch 785 not taken.
✓ Branch 787 taken 1 times.
✗ Branch 788 not taken.
✓ Branch 790 taken 1 times.
✗ Branch 791 not taken.
✓ Branch 793 taken 1 times.
✗ Branch 794 not taken.
✓ Branch 796 taken 1 times.
✗ Branch 797 not taken.
✓ Branch 799 taken 1 times.
✗ Branch 800 not taken.
✓ Branch 802 taken 1 times.
✗ Branch 803 not taken.
✓ Branch 805 taken 1 times.
✗ Branch 806 not taken.
✓ Branch 808 taken 1 times.
✗ Branch 809 not taken.
✓ Branch 811 taken 1 times.
✗ Branch 812 not taken.
✓ Branch 814 taken 1 times.
✗ Branch 815 not taken.
✓ Branch 817 taken 1 times.
✗ Branch 818 not taken.
✓ Branch 820 taken 1 times.
✗ Branch 821 not taken.
✓ Branch 823 taken 1 times.
✗ Branch 824 not taken.
✓ Branch 826 taken 1 times.
✗ Branch 827 not taken.
✓ Branch 829 taken 1 times.
✗ Branch 830 not taken.
✓ Branch 832 taken 1 times.
✗ Branch 833 not taken.
✓ Branch 835 taken 1 times.
✗ Branch 836 not taken.
✓ Branch 838 taken 1 times.
✗ Branch 839 not taken.
✓ Branch 841 taken 1 times.
✗ Branch 842 not taken.
✓ Branch 844 taken 1 times.
✗ Branch 845 not taken.
✓ Branch 847 taken 1 times.
✗ Branch 848 not taken.
✓ Branch 850 taken 1 times.
✗ Branch 851 not taken.
✓ Branch 853 taken 1 times.
✗ Branch 854 not taken.
✓ Branch 856 taken 1 times.
✗ Branch 857 not taken.
✓ Branch 859 taken 1 times.
✗ Branch 860 not taken.
✓ Branch 862 taken 1 times.
✗ Branch 863 not taken.
✓ Branch 865 taken 1 times.
✗ Branch 866 not taken.
✓ Branch 868 taken 1 times.
✗ Branch 869 not taken.
✓ Branch 871 taken 1 times.
✗ Branch 872 not taken.
✓ Branch 874 taken 1 times.
✗ Branch 875 not taken.
✓ Branch 877 taken 1 times.
✗ Branch 878 not taken.
✓ Branch 880 taken 1 times.
✗ Branch 881 not taken.
✓ Branch 883 taken 1 times.
✗ Branch 884 not taken.
✓ Branch 886 taken 1 times.
✗ Branch 887 not taken.
✓ Branch 889 taken 1 times.
✗ Branch 890 not taken.
✓ Branch 892 taken 1 times.
✗ Branch 893 not taken.
✓ Branch 895 taken 1 times.
✗ Branch 896 not taken.
✓ Branch 898 taken 1 times.
✗ Branch 899 not taken.
✓ Branch 901 taken 1 times.
✗ Branch 902 not taken.
✓ Branch 904 taken 1 times.
✗ Branch 905 not taken.
✓ Branch 907 taken 1 times.
✗ Branch 908 not taken.
✓ Branch 910 taken 1 times.
✗ Branch 911 not taken.
✓ Branch 913 taken 1 times.
✗ Branch 914 not taken.
✓ Branch 916 taken 1 times.
✗ Branch 917 not taken.
✓ Branch 919 taken 1 times.
✗ Branch 920 not taken.
✓ Branch 922 taken 1 times.
✗ Branch 923 not taken.
✓ Branch 925 taken 1 times.
✗ Branch 926 not taken.
✓ Branch 928 taken 1 times.
✗ Branch 929 not taken.
✓ Branch 931 taken 1 times.
✗ Branch 932 not taken.
✓ Branch 934 taken 1 times.
✗ Branch 935 not taken.
✓ Branch 937 taken 1 times.
✗ Branch 938 not taken.
✓ Branch 940 taken 1 times.
✗ Branch 941 not taken.
✓ Branch 943 taken 1 times.
✗ Branch 944 not taken.
✓ Branch 946 taken 1 times.
✗ Branch 947 not taken.
✓ Branch 949 taken 1 times.
✗ Branch 950 not taken.
✓ Branch 952 taken 1 times.
✗ Branch 953 not taken.
✓ Branch 955 taken 1 times.
✗ Branch 956 not taken.
✓ Branch 958 taken 1 times.
✗ Branch 959 not taken.
✓ Branch 961 taken 1 times.
✗ Branch 962 not taken.
✓ Branch 964 taken 1 times.
✗ Branch 965 not taken.
✓ Branch 967 taken 1 times.
✗ Branch 968 not taken.
✓ Branch 970 taken 1 times.
✗ Branch 971 not taken.
✓ Branch 973 taken 1 times.
✗ Branch 974 not taken.
✓ Branch 976 taken 1 times.
✗ Branch 977 not taken.
✓ Branch 979 taken 1 times.
✗ Branch 980 not taken.
✓ Branch 982 taken 1 times.
✗ Branch 983 not taken.
✓ Branch 985 taken 1 times.
✗ Branch 986 not taken.
✓ Branch 988 taken 1 times.
✗ Branch 989 not taken.
✓ Branch 991 taken 1 times.
✗ Branch 992 not taken.
✓ Branch 994 taken 1 times.
✗ Branch 995 not taken.
✓ Branch 997 taken 1 times.
✗ Branch 998 not taken.
✓ Branch 1000 taken 1 times.
✗ Branch 1001 not taken.
✓ Branch 1003 taken 1 times.
✗ Branch 1004 not taken.
✓ Branch 1006 taken 1 times.
✗ Branch 1007 not taken.
✓ Branch 1009 taken 1 times.
✗ Branch 1010 not taken.
✓ Branch 1012 taken 1 times.
✗ Branch 1013 not taken.
✓ Branch 1015 taken 1 times.
✗ Branch 1016 not taken.
✓ Branch 1018 taken 1 times.
✗ Branch 1019 not taken.
✓ Branch 1021 taken 1 times.
✗ Branch 1022 not taken.
✓ Branch 1024 taken 1 times.
✗ Branch 1025 not taken.
✓ Branch 1027 taken 1 times.
✗ Branch 1028 not taken.
✓ Branch 1030 taken 1 times.
✗ Branch 1031 not taken.
✓ Branch 1033 taken 1 times.
✗ Branch 1034 not taken.
✓ Branch 1036 taken 1 times.
✗ Branch 1037 not taken.
✓ Branch 1039 taken 1 times.
✗ Branch 1040 not taken.
✓ Branch 1042 taken 1 times.
✗ Branch 1043 not taken.
✓ Branch 1045 taken 1 times.
✗ Branch 1046 not taken.
✓ Branch 1048 taken 1 times.
✗ Branch 1049 not taken.
✓ Branch 1051 taken 1 times.
✗ Branch 1052 not taken.
✓ Branch 1054 taken 1 times.
✗ Branch 1055 not taken.
✓ Branch 1057 taken 1 times.
✗ Branch 1058 not taken.
✓ Branch 1060 taken 1 times.
✗ Branch 1061 not taken.
✓ Branch 1063 taken 1 times.
✗ Branch 1064 not taken.
✓ Branch 1066 taken 1 times.
✗ Branch 1067 not taken.
✓ Branch 1069 taken 1 times.
✗ Branch 1070 not taken.
✓ Branch 1072 taken 1 times.
✗ Branch 1073 not taken.
✓ Branch 1075 taken 1 times.
✗ Branch 1076 not taken.
✓ Branch 1078 taken 1 times.
✗ Branch 1079 not taken.
✗ Branch 1081 not taken.
✗ Branch 1082 not taken.
✗ Branch 1084 not taken.
✗ Branch 1085 not taken.
✗ Branch 1087 not taken.
✗ Branch 1088 not taken.
✗ Branch 1090 not taken.
✗ Branch 1091 not taken.
✗ Branch 1093 not taken.
✗ Branch 1094 not taken.
✗ Branch 1096 not taken.
✗ Branch 1097 not taken.
✗ Branch 1099 not taken.
✗ Branch 1100 not taken.
✗ Branch 1102 not taken.
✗ Branch 1103 not taken.
✗ Branch 1105 not taken.
✗ Branch 1106 not taken.
✗ Branch 1108 not taken.
✗ Branch 1109 not taken.
✗ Branch 1111 not taken.
✗ Branch 1112 not taken.
✗ Branch 1114 not taken.
✗ Branch 1115 not taken.
✗ Branch 1117 not taken.
✗ Branch 1118 not taken.
✗ Branch 1120 not taken.
✗ Branch 1121 not taken.
✗ Branch 1123 not taken.
✗ Branch 1124 not taken.
✗ Branch 1126 not taken.
✗ Branch 1127 not taken.
✗ Branch 1129 not taken.
✗ Branch 1130 not taken.
✗ Branch 1132 not taken.
✗ Branch 1133 not taken.
✗ Branch 1135 not taken.
✗ Branch 1136 not taken.
✗ Branch 1138 not taken.
✗ Branch 1139 not taken.
✗ Branch 1141 not taken.
✗ Branch 1142 not taken.
✗ Branch 1144 not taken.
✗ Branch 1145 not taken.
✗ Branch 1147 not taken.
✗ Branch 1148 not taken.
✗ Branch 1150 not taken.
✗ Branch 1151 not taken.
✗ Branch 1153 not taken.
✗ Branch 1154 not taken.
✗ Branch 1156 not taken.
✗ Branch 1157 not taken.
✗ Branch 1159 not taken.
✗ Branch 1160 not taken.
✗ Branch 1162 not taken.
✗ Branch 1163 not taken.
✗ Branch 1165 not taken.
✗ Branch 1166 not taken.
✗ Branch 1168 not taken.
✗ Branch 1169 not taken.
✗ Branch 1171 not taken.
✗ Branch 1172 not taken.
✗ Branch 1174 not taken.
✗ Branch 1175 not taken.
✗ Branch 1177 not taken.
✗ Branch 1178 not taken.
✗ Branch 1180 not taken.
✗ Branch 1181 not taken.
✗ Branch 1183 not taken.
✗ Branch 1184 not taken.
✗ Branch 1186 not taken.
✗ Branch 1187 not taken.
✗ Branch 1189 not taken.
✗ Branch 1190 not taken.
✗ Branch 1192 not taken.
✗ Branch 1193 not taken.
✗ Branch 1195 not taken.
✗ Branch 1196 not taken.
✗ Branch 1198 not taken.
✗ Branch 1199 not taken.
✗ Branch 1201 not taken.
✗ Branch 1202 not taken.
✗ Branch 1204 not taken.
✗ Branch 1205 not taken.
✗ Branch 1207 not taken.
✗ Branch 1208 not taken.
✗ Branch 1210 not taken.
✗ Branch 1211 not taken.
✗ Branch 1213 not taken.
✗ Branch 1214 not taken.
✗ Branch 1216 not taken.
✗ Branch 1217 not taken.
✗ Branch 1219 not taken.
✗ Branch 1220 not taken.
✗ Branch 1222 not taken.
✗ Branch 1223 not taken.
✗ Branch 1225 not taken.
✗ Branch 1226 not taken.
✗ Branch 1228 not taken.
✗ Branch 1229 not taken.
✗ Branch 1231 not taken.
✗ Branch 1232 not taken.
✗ Branch 1234 not taken.
✗ Branch 1235 not taken.
✗ Branch 1237 not taken.
✗ Branch 1238 not taken.
✗ Branch 1240 not taken.
✗ Branch 1241 not taken.
✗ Branch 1243 not taken.
✗ Branch 1244 not taken.
✗ Branch 1246 not taken.
✗ Branch 1247 not taken.
✗ Branch 1249 not taken.
✗ Branch 1250 not taken.
✗ Branch 1252 not taken.
✗ Branch 1253 not taken.
✗ Branch 1255 not taken.
✗ Branch 1256 not taken.
✗ Branch 1258 not taken.
✗ Branch 1259 not taken.
✗ Branch 1261 not taken.
✗ Branch 1262 not taken.
✗ Branch 1264 not taken.
✗ Branch 1265 not taken.
✗ Branch 1267 not taken.
✗ Branch 1268 not taken.
✗ Branch 1270 not taken.
✗ Branch 1271 not taken.
✗ Branch 1273 not taken.
✗ Branch 1274 not taken.
✗ Branch 1276 not taken.
✗ Branch 1277 not taken.
✗ Branch 1279 not taken.
✗ Branch 1280 not taken.
✗ Branch 1282 not taken.
✗ Branch 1283 not taken.
✗ Branch 1285 not taken.
✗ Branch 1286 not taken.
✗ Branch 1288 not taken.
✗ Branch 1289 not taken.
✗ Branch 1291 not taken.
✗ Branch 1292 not taken.
✗ Branch 1294 not taken.
✗ Branch 1295 not taken.
✓ Branch 1433 taken 1 times.
✗ Branch 1434 not taken.
✓ Branch 1436 taken 1 times.
✗ Branch 1437 not taken.
✓ Branch 1439 taken 1 times.
✗ Branch 1440 not taken.
✓ Branch 1442 taken 1 times.
✗ Branch 1443 not taken.
✓ Branch 1471 taken 1 times.
✗ Branch 1472 not taken.
✓ Branch 1474 taken 1 times.
✗ Branch 1475 not taken.
✓ Branch 1477 taken 1 times.
✗ Branch 1478 not taken.
✓ Branch 1480 taken 1 times.
✗ Branch 1481 not taken.
✓ Branch 1485 taken 1 times.
✗ Branch 1486 not taken.
✓ Branch 1488 taken 1 times.
✗ Branch 1489 not taken.
✓ Branch 1491 taken 1 times.
✗ Branch 1492 not taken.
✓ Branch 1494 taken 1 times.
✗ Branch 1495 not taken.
✓ Branch 1511 taken 1 times.
✗ Branch 1512 not taken.
✓ Branch 1514 taken 1 times.
✗ Branch 1515 not taken.
✓ Branch 1517 taken 1 times.
✗ Branch 1518 not taken.
✓ Branch 1520 taken 1 times.
✗ Branch 1521 not taken.
✓ Branch 1523 taken 1 times.
✗ Branch 1524 not taken.
✓ Branch 1526 taken 1 times.
✗ Branch 1527 not taken.
✓ Branch 1555 taken 1 times.
✗ Branch 1556 not taken.
✓ Branch 1558 taken 1 times.
✗ Branch 1559 not taken.
✓ Branch 1561 taken 1 times.
✗ Branch 1562 not taken.
✓ Branch 1564 taken 1 times.
✗ Branch 1565 not taken.
✓ Branch 1569 taken 1 times.
✗ Branch 1570 not taken.
✓ Branch 1572 taken 1 times.
✗ Branch 1573 not taken.
✓ Branch 1575 taken 1 times.
✗ Branch 1576 not taken.
✓ Branch 1578 taken 1 times.
✗ Branch 1579 not taken.
✓ Branch 1595 taken 1 times.
✗ Branch 1596 not taken.
✓ Branch 1598 taken 1 times.
✗ Branch 1599 not taken.
✓ Branch 1601 taken 1 times.
✗ Branch 1602 not taken.
✓ Branch 1604 taken 1 times.
✗ Branch 1605 not taken.
✓ Branch 1607 taken 1 times.
✗ Branch 1608 not taken.
✓ Branch 1610 taken 1 times.
✗ Branch 1611 not taken.
✓ Branch 1639 taken 1 times.
✗ Branch 1640 not taken.
✓ Branch 1642 taken 1 times.
✗ Branch 1643 not taken.
✓ Branch 1645 taken 1 times.
✗ Branch 1646 not taken.
✓ Branch 1648 taken 1 times.
✗ Branch 1649 not taken.
✓ Branch 1653 taken 1 times.
✗ Branch 1654 not taken.
✓ Branch 1656 taken 1 times.
✗ Branch 1657 not taken.
✓ Branch 1659 taken 1 times.
✗ Branch 1660 not taken.
✓ Branch 1662 taken 1 times.
✗ Branch 1663 not taken.
✓ Branch 1679 taken 1 times.
✗ Branch 1680 not taken.
✓ Branch 1682 taken 1 times.
✗ Branch 1683 not taken.
✓ Branch 1685 taken 1 times.
✗ Branch 1686 not taken.
✓ Branch 1688 taken 1 times.
✗ Branch 1689 not taken.
✓ Branch 1691 taken 1 times.
✗ Branch 1692 not taken.
✓ Branch 1694 taken 1 times.
✗ Branch 1695 not taken.
✓ Branch 1723 taken 1 times.
✗ Branch 1724 not taken.
✓ Branch 1726 taken 1 times.
✗ Branch 1727 not taken.
✓ Branch 1729 taken 1 times.
✗ Branch 1730 not taken.
✓ Branch 1732 taken 1 times.
✗ Branch 1733 not taken.
✓ Branch 1737 taken 1 times.
✗ Branch 1738 not taken.
✓ Branch 1740 taken 1 times.
✗ Branch 1741 not taken.
✓ Branch 1743 taken 1 times.
✗ Branch 1744 not taken.
✓ Branch 1746 taken 1 times.
✗ Branch 1747 not taken.
✓ Branch 1763 taken 1 times.
✗ Branch 1764 not taken.
✓ Branch 1766 taken 1 times.
✗ Branch 1767 not taken.
✓ Branch 1769 taken 1 times.
✗ Branch 1770 not taken.
✓ Branch 1772 taken 1 times.
✗ Branch 1773 not taken.
✓ Branch 1775 taken 1 times.
✗ Branch 1776 not taken.
✓ Branch 1778 taken 1 times.
✗ Branch 1779 not taken.
✓ Branch 1807 taken 1 times.
✗ Branch 1808 not taken.
✓ Branch 1810 taken 1 times.
✗ Branch 1811 not taken.
✓ Branch 1813 taken 1 times.
✗ Branch 1814 not taken.
✓ Branch 1816 taken 1 times.
✗ Branch 1817 not taken.
✓ Branch 1821 taken 1 times.
✗ Branch 1822 not taken.
✓ Branch 1824 taken 1 times.
✗ Branch 1825 not taken.
✓ Branch 1827 taken 1 times.
✗ Branch 1828 not taken.
✓ Branch 1830 taken 1 times.
✗ Branch 1831 not taken.
✓ Branch 1847 taken 1 times.
✗ Branch 1848 not taken.
✓ Branch 1850 taken 1 times.
✗ Branch 1851 not taken.
✓ Branch 1853 taken 1 times.
✗ Branch 1854 not taken.
✓ Branch 1856 taken 1 times.
✗ Branch 1857 not taken.
✓ Branch 1859 taken 1 times.
✗ Branch 1860 not taken.
✓ Branch 1862 taken 1 times.
✗ Branch 1863 not taken.
✓ Branch 1891 taken 1 times.
✗ Branch 1892 not taken.
✓ Branch 1894 taken 1 times.
✗ Branch 1895 not taken.
✓ Branch 1897 taken 1 times.
✗ Branch 1898 not taken.
✓ Branch 1900 taken 1 times.
✗ Branch 1901 not taken.
✓ Branch 1905 taken 1 times.
✗ Branch 1906 not taken.
✓ Branch 1908 taken 1 times.
✗ Branch 1909 not taken.
✓ Branch 1911 taken 1 times.
✗ Branch 1912 not taken.
✓ Branch 1914 taken 1 times.
✗ Branch 1915 not taken.
✓ Branch 1931 taken 1 times.
✗ Branch 1932 not taken.
✓ Branch 1934 taken 1 times.
✗ Branch 1935 not taken.
✓ Branch 1937 taken 1 times.
✗ Branch 1938 not taken.
✓ Branch 1940 taken 1 times.
✗ Branch 1941 not taken.
✓ Branch 1943 taken 1 times.
✗ Branch 1944 not taken.
✓ Branch 1946 taken 1 times.
✗ Branch 1947 not taken.
✓ Branch 1975 taken 1 times.
✗ Branch 1976 not taken.
✓ Branch 1978 taken 1 times.
✗ Branch 1979 not taken.
✓ Branch 1981 taken 1 times.
✗ Branch 1982 not taken.
✓ Branch 1984 taken 1 times.
✗ Branch 1985 not taken.
✓ Branch 1989 taken 1 times.
✗ Branch 1990 not taken.
✓ Branch 1992 taken 1 times.
✗ Branch 1993 not taken.
✓ Branch 1995 taken 1 times.
✗ Branch 1996 not taken.
✓ Branch 1998 taken 1 times.
✗ Branch 1999 not taken.
✓ Branch 2015 taken 1 times.
✗ Branch 2016 not taken.
✓ Branch 2018 taken 1 times.
✗ Branch 2019 not taken.
✓ Branch 2021 taken 1 times.
✗ Branch 2022 not taken.
✓ Branch 2024 taken 1 times.
✗ Branch 2025 not taken.
✓ Branch 2027 taken 1 times.
✗ Branch 2028 not taken.
✓ Branch 2030 taken 1 times.
✗ Branch 2031 not taken.
✓ Branch 2059 taken 1 times.
✗ Branch 2060 not taken.
✓ Branch 2062 taken 1 times.
✗ Branch 2063 not taken.
✓ Branch 2065 taken 1 times.
✗ Branch 2066 not taken.
✓ Branch 2068 taken 1 times.
✗ Branch 2069 not taken.
✓ Branch 2073 taken 1 times.
✗ Branch 2074 not taken.
✓ Branch 2076 taken 1 times.
✗ Branch 2077 not taken.
✓ Branch 2079 taken 1 times.
✗ Branch 2080 not taken.
✓ Branch 2082 taken 1 times.
✗ Branch 2083 not taken.
✓ Branch 2099 taken 1 times.
✗ Branch 2100 not taken.
✓ Branch 2102 taken 1 times.
✗ Branch 2103 not taken.
✓ Branch 2105 taken 1 times.
✗ Branch 2106 not taken.
✓ Branch 2108 taken 1 times.
✗ Branch 2109 not taken.
✓ Branch 2111 taken 1 times.
✗ Branch 2112 not taken.
✓ Branch 2114 taken 1 times.
✗ Branch 2115 not taken.
✓ Branch 2143 taken 1 times.
✗ Branch 2144 not taken.
✓ Branch 2146 taken 1 times.
✗ Branch 2147 not taken.
✓ Branch 2149 taken 1 times.
✗ Branch 2150 not taken.
✓ Branch 2152 taken 1 times.
✗ Branch 2153 not taken.
✓ Branch 2157 taken 1 times.
✗ Branch 2158 not taken.
✓ Branch 2160 taken 1 times.
✗ Branch 2161 not taken.
✓ Branch 2163 taken 1 times.
✗ Branch 2164 not taken.
✓ Branch 2166 taken 1 times.
✗ Branch 2167 not taken.
✓ Branch 2183 taken 1 times.
✗ Branch 2184 not taken.
✓ Branch 2186 taken 1 times.
✗ Branch 2187 not taken.
✗ Branch 2189 not taken.
✗ Branch 2190 not taken.
✗ Branch 2192 not taken.
✗ Branch 2193 not taken.
✗ Branch 2195 not taken.
✗ Branch 2196 not taken.
✗ Branch 2198 not taken.
✗ Branch 2199 not taken.
✗ Branch 2201 not taken.
✗ Branch 2202 not taken.
✗ Branch 2204 not taken.
✗ Branch 2205 not taken.
✓ Branch 2207 taken 1 times.
✗ Branch 2208 not taken.
✓ Branch 2210 taken 1 times.
✗ Branch 2211 not taken.
✓ Branch 2213 taken 1 times.
✗ Branch 2214 not taken.
✓ Branch 2216 taken 1 times.
✗ Branch 2217 not taken.
✓ Branch 2245 taken 1 times.
✗ Branch 2246 not taken.
✓ Branch 2248 taken 1 times.
✗ Branch 2249 not taken.
✓ Branch 2251 taken 1 times.
✗ Branch 2252 not taken.
✓ Branch 2254 taken 1 times.
✗ Branch 2255 not taken.
✓ Branch 2259 taken 1 times.
✗ Branch 2260 not taken.
✓ Branch 2262 taken 1 times.
✗ Branch 2263 not taken.
✓ Branch 2265 taken 1 times.
✗ Branch 2266 not taken.
✓ Branch 2268 taken 1 times.
✗ Branch 2269 not taken.
✓ Branch 2285 taken 1 times.
✗ Branch 2286 not taken.
✓ Branch 2288 taken 1 times.
✗ Branch 2289 not taken.
✗ Branch 2291 not taken.
✗ Branch 2292 not taken.
✗ Branch 2294 not taken.
✗ Branch 2295 not taken.
✗ Branch 2297 not taken.
✗ Branch 2298 not taken.
✗ Branch 2300 not taken.
✗ Branch 2301 not taken.
✗ Branch 2303 not taken.
✗ Branch 2304 not taken.
✗ Branch 2306 not taken.
✗ Branch 2307 not taken.
✓ Branch 2309 taken 1 times.
✗ Branch 2310 not taken.
✓ Branch 2312 taken 1 times.
✗ Branch 2313 not taken.
✓ Branch 2315 taken 1 times.
✗ Branch 2316 not taken.
✓ Branch 2318 taken 1 times.
✗ Branch 2319 not taken.
✓ Branch 2347 taken 1 times.
✗ Branch 2348 not taken.
✓ Branch 2350 taken 1 times.
✗ Branch 2351 not taken.
✓ Branch 2353 taken 1 times.
✗ Branch 2354 not taken.
✓ Branch 2356 taken 1 times.
✗ Branch 2357 not taken.
✓ Branch 2361 taken 1 times.
✗ Branch 2362 not taken.
✓ Branch 2364 taken 1 times.
✗ Branch 2365 not taken.
✓ Branch 2367 taken 1 times.
✗ Branch 2368 not taken.
✓ Branch 2370 taken 1 times.
✗ Branch 2371 not taken.
✓ Branch 2387 taken 1 times.
✗ Branch 2388 not taken.
✓ Branch 2390 taken 1 times.
✗ Branch 2391 not taken.
✗ Branch 2393 not taken.
✗ Branch 2394 not taken.
✗ Branch 2396 not taken.
✗ Branch 2397 not taken.
✗ Branch 2399 not taken.
✗ Branch 2400 not taken.
✗ Branch 2402 not taken.
✗ Branch 2403 not taken.
✗ Branch 2405 not taken.
✗ Branch 2406 not taken.
✗ Branch 2408 not taken.
✗ Branch 2409 not taken.
✓ Branch 2411 taken 1 times.
✗ Branch 2412 not taken.
✓ Branch 2414 taken 1 times.
✗ Branch 2415 not taken.
✓ Branch 2417 taken 1 times.
✗ Branch 2418 not taken.
✓ Branch 2420 taken 1 times.
✗ Branch 2421 not taken.
✓ Branch 2449 taken 1 times.
✗ Branch 2450 not taken.
✓ Branch 2452 taken 1 times.
✗ Branch 2453 not taken.
✓ Branch 2455 taken 1 times.
✗ Branch 2456 not taken.
✓ Branch 2458 taken 1 times.
✗ Branch 2459 not taken.
✓ Branch 2463 taken 1 times.
✗ Branch 2464 not taken.
✓ Branch 2466 taken 1 times.
✗ Branch 2467 not taken.
✓ Branch 2469 taken 1 times.
✗ Branch 2470 not taken.
✓ Branch 2472 taken 1 times.
✗ Branch 2473 not taken.
✓ Branch 2489 taken 1 times.
✗ Branch 2490 not taken.
✓ Branch 2492 taken 1 times.
✗ Branch 2493 not taken.
✗ Branch 2495 not taken.
✗ Branch 2496 not taken.
✗ Branch 2498 not taken.
✗ Branch 2499 not taken.
✗ Branch 2501 not taken.
✗ Branch 2502 not taken.
✗ Branch 2504 not taken.
✗ Branch 2505 not taken.
✗ Branch 2507 not taken.
✗ Branch 2508 not taken.
✗ Branch 2510 not taken.
✗ Branch 2511 not taken.
✓ Branch 2513 taken 1 times.
✗ Branch 2514 not taken.
✓ Branch 2516 taken 1 times.
✗ Branch 2517 not taken.
✓ Branch 2519 taken 1 times.
✗ Branch 2520 not taken.
✓ Branch 2522 taken 1 times.
✗ Branch 2523 not taken.
✓ Branch 2551 taken 1 times.
✗ Branch 2552 not taken.
✓ Branch 2554 taken 1 times.
✗ Branch 2555 not taken.
✓ Branch 2557 taken 1 times.
✗ Branch 2558 not taken.
✓ Branch 2560 taken 1 times.
✗ Branch 2561 not taken.
✓ Branch 2565 taken 1 times.
✗ Branch 2566 not taken.
✓ Branch 2568 taken 1 times.
✗ Branch 2569 not taken.
✓ Branch 2571 taken 1 times.
✗ Branch 2572 not taken.
✓ Branch 2574 taken 1 times.
✗ Branch 2575 not taken.
✓ Branch 2591 taken 1 times.
✗ Branch 2592 not taken.
✓ Branch 2594 taken 1 times.
✗ Branch 2595 not taken.
✓ Branch 2597 taken 1 times.
✗ Branch 2598 not taken.
✓ Branch 2600 taken 1 times.
✗ Branch 2601 not taken.
✓ Branch 2603 taken 1 times.
✗ Branch 2604 not taken.
✓ Branch 2606 taken 1 times.
✗ Branch 2607 not taken.
✓ Branch 2635 taken 1 times.
✗ Branch 2636 not taken.
✓ Branch 2638 taken 1 times.
✗ Branch 2639 not taken.
✓ Branch 2641 taken 1 times.
✗ Branch 2642 not taken.
✓ Branch 2644 taken 1 times.
✗ Branch 2645 not taken.
✓ Branch 2649 taken 1 times.
✗ Branch 2650 not taken.
✓ Branch 2652 taken 1 times.
✗ Branch 2653 not taken.
✓ Branch 2655 taken 1 times.
✗ Branch 2656 not taken.
✓ Branch 2658 taken 1 times.
✗ Branch 2659 not taken.
✓ Branch 2675 taken 1 times.
✗ Branch 2676 not taken.
✓ Branch 2678 taken 1 times.
✗ Branch 2679 not taken.
✓ Branch 2681 taken 1 times.
✗ Branch 2682 not taken.
✓ Branch 2684 taken 1 times.
✗ Branch 2685 not taken.
✓ Branch 2687 taken 1 times.
✗ Branch 2688 not taken.
✓ Branch 2690 taken 1 times.
✗ Branch 2691 not taken.
✓ Branch 2719 taken 1 times.
✗ Branch 2720 not taken.
✓ Branch 2722 taken 1 times.
✗ Branch 2723 not taken.
✓ Branch 2725 taken 1 times.
✗ Branch 2726 not taken.
✓ Branch 2728 taken 1 times.
✗ Branch 2729 not taken.
✓ Branch 2733 taken 1 times.
✗ Branch 2734 not taken.
✓ Branch 2736 taken 1 times.
✗ Branch 2737 not taken.
✓ Branch 2739 taken 1 times.
✗ Branch 2740 not taken.
✓ Branch 2742 taken 1 times.
✗ Branch 2743 not taken.
✓ Branch 2759 taken 1 times.
✗ Branch 2760 not taken.
✓ Branch 2762 taken 1 times.
✗ Branch 2763 not taken.
✓ Branch 2765 taken 1 times.
✗ Branch 2766 not taken.
✓ Branch 2768 taken 1 times.
✗ Branch 2769 not taken.
✓ Branch 2771 taken 1 times.
✗ Branch 2772 not taken.
✓ Branch 2774 taken 1 times.
✗ Branch 2775 not taken.
✓ Branch 2803 taken 1 times.
✗ Branch 2804 not taken.
✓ Branch 2806 taken 1 times.
✗ Branch 2807 not taken.
✓ Branch 2809 taken 1 times.
✗ Branch 2810 not taken.
✓ Branch 2812 taken 1 times.
✗ Branch 2813 not taken.
✓ Branch 2817 taken 1 times.
✗ Branch 2818 not taken.
✓ Branch 2820 taken 1 times.
✗ Branch 2821 not taken.
✓ Branch 2823 taken 1 times.
✗ Branch 2824 not taken.
✓ Branch 2826 taken 1 times.
✗ Branch 2827 not taken.
✓ Branch 2843 taken 1 times.
✗ Branch 2844 not taken.
✓ Branch 2846 taken 1 times.
✗ Branch 2847 not taken.
✓ Branch 2851 taken 1 times.
✗ Branch 2852 not taken.
✓ Branch 2854 taken 1 times.
✗ Branch 2855 not taken.
✓ Branch 2857 taken 1 times.
✗ Branch 2858 not taken.
✓ Branch 2860 taken 1 times.
✗ Branch 2861 not taken.
✓ Branch 2889 taken 1 times.
✗ Branch 2890 not taken.
✓ Branch 2892 taken 1 times.
✗ Branch 2893 not taken.
✓ Branch 2895 taken 1 times.
✗ Branch 2896 not taken.
✓ Branch 2898 taken 1 times.
✗ Branch 2899 not taken.
✓ Branch 2903 taken 1 times.
✗ Branch 2904 not taken.
✓ Branch 2906 taken 1 times.
✗ Branch 2907 not taken.
✓ Branch 2909 taken 1 times.
✗ Branch 2910 not taken.
✓ Branch 2912 taken 1 times.
✗ Branch 2913 not taken.
✓ Branch 2929 taken 1 times.
✗ Branch 2930 not taken.
✓ Branch 2932 taken 1 times.
✗ Branch 2933 not taken.
✗ Branch 2935 not taken.
✗ Branch 2936 not taken.
✗ Branch 2938 not taken.
✗ Branch 2939 not taken.
✗ Branch 2941 not taken.
✗ Branch 2942 not taken.
✗ Branch 2944 not taken.
✗ Branch 2945 not taken.
✗ Branch 2947 not taken.
✗ Branch 2948 not taken.
✗ Branch 2950 not taken.
✗ Branch 2951 not taken.
✓ Branch 2955 taken 1 times.
✗ Branch 2956 not taken.
✓ Branch 2958 taken 1 times.
✗ Branch 2959 not taken.
✓ Branch 2961 taken 1 times.
✗ Branch 2962 not taken.
✓ Branch 2964 taken 1 times.
✗ Branch 2965 not taken.
✓ Branch 2993 taken 1 times.
✗ Branch 2994 not taken.
✓ Branch 2996 taken 1 times.
✗ Branch 2997 not taken.
✓ Branch 2999 taken 1 times.
✗ Branch 3000 not taken.
✓ Branch 3002 taken 1 times.
✗ Branch 3003 not taken.
✓ Branch 3007 taken 1 times.
✗ Branch 3008 not taken.
✓ Branch 3010 taken 1 times.
✗ Branch 3011 not taken.
✓ Branch 3013 taken 1 times.
✗ Branch 3014 not taken.
✓ Branch 3016 taken 1 times.
✗ Branch 3017 not taken.
✓ Branch 3033 taken 1 times.
✗ Branch 3034 not taken.
✓ Branch 3036 taken 1 times.
✗ Branch 3037 not taken.
✗ Branch 3039 not taken.
✗ Branch 3040 not taken.
✗ Branch 3042 not taken.
✗ Branch 3043 not taken.
✗ Branch 3045 not taken.
✗ Branch 3046 not taken.
✗ Branch 3048 not taken.
✗ Branch 3049 not taken.
✗ Branch 3051 not taken.
✗ Branch 3052 not taken.
✗ Branch 3054 not taken.
✗ Branch 3055 not taken.
✓ Branch 3059 taken 1 times.
✗ Branch 3060 not taken.
✓ Branch 3062 taken 1 times.
✗ Branch 3063 not taken.
✓ Branch 3065 taken 1 times.
✗ Branch 3066 not taken.
✓ Branch 3068 taken 1 times.
✗ Branch 3069 not taken.
✓ Branch 3097 taken 1 times.
✗ Branch 3098 not taken.
✓ Branch 3100 taken 1 times.
✗ Branch 3101 not taken.
✓ Branch 3103 taken 1 times.
✗ Branch 3104 not taken.
✓ Branch 3106 taken 1 times.
✗ Branch 3107 not taken.
✓ Branch 3111 taken 1 times.
✗ Branch 3112 not taken.
✓ Branch 3114 taken 1 times.
✗ Branch 3115 not taken.
✓ Branch 3117 taken 1 times.
✗ Branch 3118 not taken.
✓ Branch 3120 taken 1 times.
✗ Branch 3121 not taken.
✓ Branch 3137 taken 1 times.
✗ Branch 3138 not taken.
✓ Branch 3140 taken 1 times.
✗ Branch 3141 not taken.
✗ Branch 3143 not taken.
✗ Branch 3144 not taken.
✗ Branch 3146 not taken.
✗ Branch 3147 not taken.
✗ Branch 3149 not taken.
✗ Branch 3150 not taken.
✗ Branch 3152 not taken.
✗ Branch 3153 not taken.
✗ Branch 3155 not taken.
✗ Branch 3156 not taken.
✗ Branch 3158 not taken.
✗ Branch 3159 not taken.
✓ Branch 3163 taken 1 times.
✗ Branch 3164 not taken.
✓ Branch 3166 taken 1 times.
✗ Branch 3167 not taken.
✓ Branch 3169 taken 1 times.
✗ Branch 3170 not taken.
✓ Branch 3172 taken 1 times.
✗ Branch 3173 not taken.
✓ Branch 3201 taken 1 times.
✗ Branch 3202 not taken.
✓ Branch 3204 taken 1 times.
✗ Branch 3205 not taken.
✓ Branch 3207 taken 1 times.
✗ Branch 3208 not taken.
✓ Branch 3210 taken 1 times.
✗ Branch 3211 not taken.
✓ Branch 3215 taken 1 times.
✗ Branch 3216 not taken.
✓ Branch 3218 taken 1 times.
✗ Branch 3219 not taken.
✓ Branch 3221 taken 1 times.
✗ Branch 3222 not taken.
✓ Branch 3224 taken 1 times.
✗ Branch 3225 not taken.
✓ Branch 3241 taken 1 times.
✗ Branch 3242 not taken.
✓ Branch 3244 taken 1 times.
✗ Branch 3245 not taken.
✗ Branch 3247 not taken.
✗ Branch 3248 not taken.
✗ Branch 3250 not taken.
✗ Branch 3251 not taken.
✗ Branch 3253 not taken.
✗ Branch 3254 not taken.
✗ Branch 3256 not taken.
✗ Branch 3257 not taken.
✗ Branch 3259 not taken.
✗ Branch 3260 not taken.
✗ Branch 3262 not taken.
✗ Branch 3263 not taken.
✗ Branch 3283 not taken.
✗ Branch 3284 not taken.
✗ Branch 3286 not taken.
✗ Branch 3287 not taken.
✗ Branch 3289 not taken.
✗ Branch 3290 not taken.
✗ Branch 3292 not taken.
✗ Branch 3293 not taken.
✗ Branch 3295 not taken.
✗ Branch 3296 not taken.
✗ Branch 3298 not taken.
✗ Branch 3299 not taken.
✗ Branch 3301 not taken.
✗ Branch 3302 not taken.
✗ Branch 3304 not taken.
✗ Branch 3305 not taken.
✗ Branch 3307 not taken.
✗ Branch 3308 not taken.
✗ Branch 3310 not taken.
✗ Branch 3311 not taken.
✗ Branch 3313 not taken.
✗ Branch 3314 not taken.
✗ Branch 3316 not taken.
✗ Branch 3317 not taken.
✗ Branch 3319 not taken.
✗ Branch 3320 not taken.
✗ Branch 3322 not taken.
✗ Branch 3323 not taken.
✗ Branch 3329 not taken.
✗ Branch 3330 not taken.
✗ Branch 3332 not taken.
✗ Branch 3333 not taken.
✗ Branch 3337 not taken.
✗ Branch 3338 not taken.
✗ Branch 3340 not taken.
✗ Branch 3341 not taken.
✗ Branch 3345 not taken.
✗ Branch 3346 not taken.
✗ Branch 3348 not taken.
✗ Branch 3349 not taken.
✗ Branch 3351 not taken.
✗ Branch 3352 not taken.
✗ Branch 3354 not taken.
✗ Branch 3355 not taken.
✗ Branch 3361 not taken.
✗ Branch 3362 not taken.
✗ Branch 3364 not taken.
✗ Branch 3365 not taken.
✗ Branch 3367 not taken.
✗ Branch 3368 not taken.
✗ Branch 3370 not taken.
✗ Branch 3371 not taken.
✗ Branch 3373 not taken.
✗ Branch 3374 not taken.
✗ Branch 3376 not taken.
✗ Branch 3377 not taken.
✗ Branch 3379 not taken.
✗ Branch 3380 not taken.
✗ Branch 3382 not taken.
✗ Branch 3383 not taken.
✗ Branch 3385 not taken.
✗ Branch 3386 not taken.
✗ Branch 3388 not taken.
✗ Branch 3389 not taken.
✗ Branch 3391 not taken.
✗ Branch 3392 not taken.
✗ Branch 3394 not taken.
✗ Branch 3395 not taken.
✗ Branch 3397 not taken.
✗ Branch 3398 not taken.
✗ Branch 3400 not taken.
✗ Branch 3401 not taken.
✗ Branch 3407 not taken.
✗ Branch 3408 not taken.
✗ Branch 3410 not taken.
✗ Branch 3411 not taken.
✗ Branch 3415 not taken.
✗ Branch 3416 not taken.
✗ Branch 3418 not taken.
✗ Branch 3419 not taken.
✗ Branch 3423 not taken.
✗ Branch 3424 not taken.
✗ Branch 3426 not taken.
✗ Branch 3427 not taken.
✗ Branch 3429 not taken.
✗ Branch 3430 not taken.
✗ Branch 3432 not taken.
✗ Branch 3433 not taken.
✗ Branch 3439 not taken.
✗ Branch 3440 not taken.
✗ Branch 3442 not taken.
✗ Branch 3443 not taken.
✗ Branch 3445 not taken.
✗ Branch 3446 not taken.
✗ Branch 3448 not taken.
✗ Branch 3449 not taken.
✗ Branch 3451 not taken.
✗ Branch 3452 not taken.
✗ Branch 3454 not taken.
✗ Branch 3455 not taken.
✗ Branch 3457 not taken.
✗ Branch 3458 not taken.
✗ Branch 3460 not taken.
✗ Branch 3461 not taken.
✗ Branch 3463 not taken.
✗ Branch 3464 not taken.
✗ Branch 3466 not taken.
✗ Branch 3467 not taken.
✗ Branch 3469 not taken.
✗ Branch 3470 not taken.
✗ Branch 3472 not taken.
✗ Branch 3473 not taken.
✗ Branch 3475 not taken.
✗ Branch 3476 not taken.
✗ Branch 3478 not taken.
✗ Branch 3479 not taken.
✗ Branch 3485 not taken.
✗ Branch 3486 not taken.
✗ Branch 3488 not taken.
✗ Branch 3489 not taken.
✗ Branch 3493 not taken.
✗ Branch 3494 not taken.
✗ Branch 3496 not taken.
✗ Branch 3497 not taken.
✗ Branch 3501 not taken.
✗ Branch 3502 not taken.
✗ Branch 3504 not taken.
✗ Branch 3505 not taken.
✗ Branch 3507 not taken.
✗ Branch 3508 not taken.
✗ Branch 3510 not taken.
✗ Branch 3511 not taken.
✗ Branch 3517 not taken.
✗ Branch 3518 not taken.
✗ Branch 3520 not taken.
✗ Branch 3521 not taken.
✗ Branch 3523 not taken.
✗ Branch 3524 not taken.
✗ Branch 3526 not taken.
✗ Branch 3527 not taken.
✗ Branch 3529 not taken.
✗ Branch 3530 not taken.
✗ Branch 3532 not taken.
✗ Branch 3533 not taken.
✗ Branch 3535 not taken.
✗ Branch 3536 not taken.
✗ Branch 3538 not taken.
✗ Branch 3539 not taken.
✗ Branch 3541 not taken.
✗ Branch 3542 not taken.
✗ Branch 3544 not taken.
✗ Branch 3545 not taken.
✗ Branch 3547 not taken.
✗ Branch 3548 not taken.
✗ Branch 3550 not taken.
✗ Branch 3551 not taken.
✗ Branch 3553 not taken.
✗ Branch 3554 not taken.
✗ Branch 3556 not taken.
✗ Branch 3557 not taken.
✗ Branch 3563 not taken.
✗ Branch 3564 not taken.
✗ Branch 3566 not taken.
✗ Branch 3567 not taken.
✗ Branch 3571 not taken.
✗ Branch 3572 not taken.
✗ Branch 3574 not taken.
✗ Branch 3575 not taken.
✗ Branch 3579 not taken.
✗ Branch 3580 not taken.
✗ Branch 3582 not taken.
✗ Branch 3583 not taken.
✗ Branch 3585 not taken.
✗ Branch 3586 not taken.
✗ Branch 3588 not taken.
✗ Branch 3589 not taken.
✓ Branch 3593 taken 1 times.
✗ Branch 3594 not taken.
✓ Branch 3596 taken 1 times.
✗ Branch 3597 not taken.
✓ Branch 3599 taken 1 times.
✗ Branch 3600 not taken.
✓ Branch 3602 taken 1 times.
✗ Branch 3603 not taken.
✓ Branch 3605 taken 1 times.
✗ Branch 3606 not taken.
✓ Branch 3608 taken 1 times.
✗ Branch 3609 not taken.
✓ Branch 3625 taken 1 times.
✗ Branch 3626 not taken.
✓ Branch 3628 taken 1 times.
✗ Branch 3629 not taken.
✓ Branch 3631 taken 1 times.
✗ Branch 3632 not taken.
✓ Branch 3634 taken 1 times.
✗ Branch 3635 not taken.
✓ Branch 3637 taken 1 times.
✗ Branch 3638 not taken.
✓ Branch 3640 taken 1 times.
✗ Branch 3641 not taken.
✓ Branch 3657 taken 1 times.
✗ Branch 3658 not taken.
✓ Branch 3660 taken 1 times.
✗ Branch 3661 not taken.
✓ Branch 3663 taken 1 times.
✗ Branch 3664 not taken.
✓ Branch 3666 taken 1 times.
✗ Branch 3667 not taken.
✓ Branch 3669 taken 1 times.
✗ Branch 3670 not taken.
✓ Branch 3672 taken 1 times.
✗ Branch 3673 not taken.
✓ Branch 3689 taken 1 times.
✗ Branch 3690 not taken.
✓ Branch 3692 taken 1 times.
✗ Branch 3693 not taken.
✓ Branch 3695 taken 1 times.
✗ Branch 3696 not taken.
✓ Branch 3698 taken 1 times.
✗ Branch 3699 not taken.
✓ Branch 3701 taken 1 times.
✗ Branch 3702 not taken.
✓ Branch 3704 taken 1 times.
✗ Branch 3705 not taken.
✓ Branch 3721 taken 1 times.
✗ Branch 3722 not taken.
✓ Branch 3724 taken 1 times.
✗ Branch 3725 not taken.
✓ Branch 3727 taken 1 times.
✗ Branch 3728 not taken.
✓ Branch 3730 taken 1 times.
✗ Branch 3731 not taken.
✓ Branch 3741 taken 1 times.
✗ Branch 3742 not taken.
✓ Branch 3744 taken 1 times.
✗ Branch 3745 not taken.
✓ Branch 3747 taken 1 times.
✗ Branch 3748 not taken.
✓ Branch 3750 taken 1 times.
✗ Branch 3751 not taken.
✓ Branch 3761 taken 1 times.
✗ Branch 3762 not taken.
✓ Branch 3764 taken 1 times.
✗ Branch 3765 not taken.
✓ Branch 3767 taken 1 times.
✗ Branch 3768 not taken.
✓ Branch 3770 taken 1 times.
✗ Branch 3771 not taken.
✓ Branch 3781 taken 1 times.
✗ Branch 3782 not taken.
✓ Branch 3784 taken 1 times.
✗ Branch 3785 not taken.
✓ Branch 3787 taken 1 times.
✗ Branch 3788 not taken.
✓ Branch 3790 taken 1 times.
✗ Branch 3791 not taken.
✓ Branch 3801 taken 1 times.
✗ Branch 3802 not taken.
✓ Branch 3804 taken 1 times.
✗ Branch 3805 not taken.
✓ Branch 3807 taken 1 times.
✗ Branch 3808 not taken.
✓ Branch 3810 taken 1 times.
✗ Branch 3811 not taken.
✓ Branch 3813 taken 1 times.
✗ Branch 3814 not taken.
✓ Branch 3816 taken 1 times.
✗ Branch 3817 not taken.
✓ Branch 3823 taken 1 times.
✗ Branch 3824 not taken.
✓ Branch 3826 taken 1 times.
✗ Branch 3827 not taken.
✓ Branch 3831 taken 1 times.
✗ Branch 3832 not taken.
✓ Branch 3834 taken 1 times.
✗ Branch 3835 not taken.
✓ Branch 3839 taken 1 times.
✗ Branch 3840 not taken.
✓ Branch 3842 taken 1 times.
✗ Branch 3843 not taken.
✓ Branch 3857 taken 1 times.
✗ Branch 3858 not taken.
✓ Branch 3860 taken 1 times.
✗ Branch 3861 not taken.
✓ Branch 3863 taken 1 times.
✗ Branch 3864 not taken.
✓ Branch 3866 taken 1 times.
✗ Branch 3867 not taken.
✓ Branch 3869 taken 1 times.
✗ Branch 3870 not taken.
✓ Branch 3872 taken 1 times.
✗ Branch 3873 not taken.
✓ Branch 3879 taken 1 times.
✗ Branch 3880 not taken.
✓ Branch 3882 taken 1 times.
✗ Branch 3883 not taken.
✓ Branch 3887 taken 1 times.
✗ Branch 3888 not taken.
✓ Branch 3890 taken 1 times.
✗ Branch 3891 not taken.
✓ Branch 3895 taken 1 times.
✗ Branch 3896 not taken.
✓ Branch 3898 taken 1 times.
✗ Branch 3899 not taken.
✓ Branch 3913 taken 1 times.
✗ Branch 3914 not taken.
✓ Branch 3916 taken 1 times.
✗ Branch 3917 not taken.
✓ Branch 3919 taken 1 times.
✗ Branch 3920 not taken.
✓ Branch 3922 taken 1 times.
✗ Branch 3923 not taken.
✓ Branch 3925 taken 1 times.
✗ Branch 3926 not taken.
✓ Branch 3928 taken 1 times.
✗ Branch 3929 not taken.
✓ Branch 3935 taken 1 times.
✗ Branch 3936 not taken.
✓ Branch 3938 taken 1 times.
✗ Branch 3939 not taken.
✓ Branch 3943 taken 1 times.
✗ Branch 3944 not taken.
✓ Branch 3946 taken 1 times.
✗ Branch 3947 not taken.
✓ Branch 3951 taken 1 times.
✗ Branch 3952 not taken.
✓ Branch 3954 taken 1 times.
✗ Branch 3955 not taken.
✓ Branch 3969 taken 1 times.
✗ Branch 3970 not taken.
✓ Branch 3972 taken 1 times.
✗ Branch 3973 not taken.
✓ Branch 3975 taken 1 times.
✗ Branch 3976 not taken.
✓ Branch 3978 taken 1 times.
✗ Branch 3979 not taken.
✓ Branch 3981 taken 1 times.
✗ Branch 3982 not taken.
✓ Branch 3984 taken 1 times.
✗ Branch 3985 not taken.
✓ Branch 3991 taken 1 times.
✗ Branch 3992 not taken.
✓ Branch 3994 taken 1 times.
✗ Branch 3995 not taken.
✓ Branch 3999 taken 1 times.
✗ Branch 4000 not taken.
✓ Branch 4002 taken 1 times.
✗ Branch 4003 not taken.
✓ Branch 4007 taken 1 times.
✗ Branch 4008 not taken.
✓ Branch 4010 taken 1 times.
✗ Branch 4011 not taken.
✓ Branch 4025 taken 1 times.
✗ Branch 4026 not taken.
✓ Branch 4028 taken 1 times.
✗ Branch 4029 not taken.
✓ Branch 4031 taken 1 times.
✗ Branch 4032 not taken.
✓ Branch 4034 taken 1 times.
✗ Branch 4035 not taken.
✓ Branch 4037 taken 1 times.
✗ Branch 4038 not taken.
✓ Branch 4040 taken 1 times.
✗ Branch 4041 not taken.
✓ Branch 4053 taken 1 times.
✗ Branch 4054 not taken.
✓ Branch 4056 taken 1 times.
✗ Branch 4057 not taken.
✓ Branch 4059 taken 1 times.
✗ Branch 4060 not taken.
✓ Branch 4062 taken 1 times.
✗ Branch 4063 not taken.
✓ Branch 4065 taken 1 times.
✗ Branch 4066 not taken.
✓ Branch 4068 taken 1 times.
✗ Branch 4069 not taken.
✓ Branch 4081 taken 1 times.
✗ Branch 4082 not taken.
✓ Branch 4084 taken 1 times.
✗ Branch 4085 not taken.
✓ Branch 4087 taken 1 times.
✗ Branch 4088 not taken.
✓ Branch 4090 taken 1 times.
✗ Branch 4091 not taken.
✓ Branch 4093 taken 1 times.
✗ Branch 4094 not taken.
✓ Branch 4096 taken 1 times.
✗ Branch 4097 not taken.
✓ Branch 4109 taken 1 times.
✗ Branch 4110 not taken.
✓ Branch 4112 taken 1 times.
✗ Branch 4113 not taken.
✓ Branch 4115 taken 1 times.
✗ Branch 4116 not taken.
✓ Branch 4118 taken 1 times.
✗ Branch 4119 not taken.
✓ Branch 4121 taken 1 times.
✗ Branch 4122 not taken.
✓ Branch 4124 taken 1 times.
✗ Branch 4125 not taken.
✗ Branch 4152 not taken.
✓ Branch 4153 taken 1 times.
✗ Branch 4154 not taken.
✓ Branch 4155 taken 1 times.
✓ Branch 4157 taken 1 times.
✗ Branch 4158 not taken.
✓ Branch 4160 taken 1 times.
✗ Branch 4161 not taken.
✗ Branch 4162 not taken.
✓ Branch 4163 taken 1 times.
✗ Branch 4164 not taken.
✓ Branch 4165 taken 1 times.
✓ Branch 4167 taken 1 times.
✗ Branch 4168 not taken.
✓ Branch 4170 taken 1 times.
✗ Branch 4171 not taken.
✗ Branch 4172 not taken.
✓ Branch 4173 taken 1 times.
✗ Branch 4174 not taken.
✓ Branch 4175 taken 1 times.
✓ Branch 4177 taken 1 times.
✗ Branch 4178 not taken.
✓ Branch 4180 taken 1 times.
✗ Branch 4181 not taken.
✗ Branch 4182 not taken.
✓ Branch 4183 taken 1 times.
✗ Branch 4184 not taken.
✓ Branch 4185 taken 1 times.
✓ Branch 4187 taken 1 times.
✗ Branch 4188 not taken.
✓ Branch 4190 taken 1 times.
✗ Branch 4191 not taken.
✗ Branch 4192 not taken.
✓ Branch 4193 taken 1 times.
✗ Branch 4194 not taken.
✓ Branch 4195 taken 1 times.
✓ Branch 4197 taken 1 times.
✗ Branch 4198 not taken.
✓ Branch 4200 taken 1 times.
✗ Branch 4201 not taken.
✗ Branch 4202 not taken.
✓ Branch 4203 taken 1 times.
✗ Branch 4204 not taken.
✓ Branch 4205 taken 1 times.
✓ Branch 4207 taken 1 times.
✗ Branch 4208 not taken.
✓ Branch 4210 taken 1 times.
✗ Branch 4211 not taken.
✗ Branch 4212 not taken.
✓ Branch 4213 taken 1 times.
✗ Branch 4214 not taken.
✓ Branch 4215 taken 1 times.
✓ Branch 4217 taken 1 times.
✗ Branch 4218 not taken.
✓ Branch 4220 taken 1 times.
✗ Branch 4221 not taken.
✗ Branch 4222 not taken.
✓ Branch 4223 taken 1 times.
✗ Branch 4224 not taken.
✓ Branch 4225 taken 1 times.
✓ Branch 4227 taken 1 times.
✗ Branch 4228 not taken.
✓ Branch 4230 taken 1 times.
✗ Branch 4231 not taken.
✗ Branch 4232 not taken.
✓ Branch 4233 taken 1 times.
✗ Branch 4234 not taken.
✓ Branch 4235 taken 1 times.
✓ Branch 4237 taken 1 times.
✗ Branch 4238 not taken.
✓ Branch 4240 taken 1 times.
✗ Branch 4241 not taken.
✗ Branch 4242 not taken.
✓ Branch 4243 taken 1 times.
✗ Branch 4244 not taken.
✓ Branch 4245 taken 1 times.
✓ Branch 4247 taken 1 times.
✗ Branch 4248 not taken.
✓ Branch 4250 taken 1 times.
✗ Branch 4251 not taken.
✗ Branch 4252 not taken.
✓ Branch 4253 taken 1 times.
✗ Branch 4254 not taken.
✓ Branch 4255 taken 1 times.
✓ Branch 4257 taken 1 times.
✗ Branch 4258 not taken.
✓ Branch 4260 taken 1 times.
✗ Branch 4261 not taken.
✗ Branch 4262 not taken.
✓ Branch 4263 taken 1 times.
✗ Branch 4264 not taken.
✓ Branch 4265 taken 1 times.
✓ Branch 4267 taken 1 times.
✗ Branch 4268 not taken.
✓ Branch 4270 taken 1 times.
✗ Branch 4271 not taken.
✗ Branch 4272 not taken.
✓ Branch 4273 taken 1 times.
✗ Branch 4274 not taken.
✓ Branch 4275 taken 1 times.
✓ Branch 4277 taken 1 times.
✗ Branch 4278 not taken.
✓ Branch 4280 taken 1 times.
✗ Branch 4281 not taken.
✗ Branch 4282 not taken.
✓ Branch 4283 taken 1 times.
✗ Branch 4284 not taken.
✓ Branch 4285 taken 1 times.
✓ Branch 4287 taken 1 times.
✗ Branch 4288 not taken.
✓ Branch 4290 taken 1 times.
✗ Branch 4291 not taken.
✗ Branch 4292 not taken.
✓ Branch 4293 taken 1 times.
✗ Branch 4294 not taken.
✓ Branch 4295 taken 1 times.
✓ Branch 4297 taken 1 times.
✗ Branch 4298 not taken.
✓ Branch 4300 taken 1 times.
✗ Branch 4301 not taken.
✗ Branch 4302 not taken.
✓ Branch 4303 taken 1 times.
✗ Branch 4304 not taken.
✓ Branch 4305 taken 1 times.
✓ Branch 4307 taken 1 times.
✗ Branch 4308 not taken.
✓ Branch 4310 taken 1 times.
✗ Branch 4311 not taken.
✗ Branch 4312 not taken.
✓ Branch 4313 taken 1 times.
✗ Branch 4314 not taken.
✓ Branch 4315 taken 1 times.
✓ Branch 4317 taken 1 times.
✗ Branch 4318 not taken.
✓ Branch 4320 taken 1 times.
✗ Branch 4321 not taken.
✗ Branch 4322 not taken.
✓ Branch 4323 taken 1 times.
✗ Branch 4324 not taken.
✓ Branch 4325 taken 1 times.
✓ Branch 4327 taken 1 times.
✗ Branch 4328 not taken.
✓ Branch 4330 taken 1 times.
✗ Branch 4331 not taken.
✗ Branch 4332 not taken.
✓ Branch 4333 taken 1 times.
✗ Branch 4334 not taken.
✓ Branch 4335 taken 1 times.
✓ Branch 4337 taken 1 times.
✗ Branch 4338 not taken.
✓ Branch 4340 taken 1 times.
✗ Branch 4341 not taken.
✗ Branch 4342 not taken.
✓ Branch 4343 taken 1 times.
✗ Branch 4344 not taken.
✓ Branch 4345 taken 1 times.
✓ Branch 4347 taken 1 times.
✗ Branch 4348 not taken.
✓ Branch 4350 taken 1 times.
✗ Branch 4351 not taken.
✗ Branch 4352 not taken.
✓ Branch 4353 taken 1 times.
✗ Branch 4354 not taken.
✓ Branch 4355 taken 1 times.
✓ Branch 4357 taken 1 times.
✗ Branch 4358 not taken.
✓ Branch 4360 taken 1 times.
✗ Branch 4361 not taken.
✗ Branch 4362 not taken.
✓ Branch 4363 taken 1 times.
✗ Branch 4364 not taken.
✓ Branch 4365 taken 1 times.
✓ Branch 4367 taken 1 times.
✗ Branch 4368 not taken.
✓ Branch 4370 taken 1 times.
✗ Branch 4371 not taken.
✗ Branch 4372 not taken.
✓ Branch 4373 taken 1 times.
✗ Branch 4374 not taken.
✓ Branch 4375 taken 1 times.
✓ Branch 4377 taken 1 times.
✗ Branch 4378 not taken.
✓ Branch 4380 taken 1 times.
✗ Branch 4381 not taken.
✗ Branch 4382 not taken.
✓ Branch 4383 taken 1 times.
✗ Branch 4384 not taken.
✓ Branch 4385 taken 1 times.
✓ Branch 4387 taken 1 times.
✗ Branch 4388 not taken.
✓ Branch 4390 taken 1 times.
✗ Branch 4391 not taken.
4923068972 { return *gridGeometry_; }
522
523 //! The parameter group in which to retrieve runtime parameters
524 const std::string& paramGroup() const
525
211/400
✓ Branch 1 taken 344 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 496 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 2 times.
✓ Branch 7 taken 3484 times.
✓ Branch 8 taken 2 times.
✓ Branch 9 taken 2187 times.
✓ Branch 10 taken 788 times.
✓ Branch 11 taken 4 times.
✓ Branch 12 taken 17 times.
✓ Branch 13 taken 2949432 times.
✓ Branch 14 taken 22 times.
✓ Branch 15 taken 2486137 times.
✓ Branch 16 taken 560023 times.
✓ Branch 17 taken 39 times.
✓ Branch 18 taken 65012 times.
✓ Branch 19 taken 4638653 times.
✓ Branch 20 taken 74186 times.
✓ Branch 21 taken 4158611 times.
✓ Branch 22 taken 6297336 times.
✓ Branch 23 taken 230998 times.
✓ Branch 24 taken 1264744 times.
✓ Branch 25 taken 18646598 times.
✓ Branch 26 taken 285343 times.
✓ Branch 27 taken 5728527 times.
✓ Branch 28 taken 19409809 times.
✓ Branch 29 taken 1152568 times.
✓ Branch 30 taken 2555928 times.
✓ Branch 31 taken 13322246 times.
✓ Branch 32 taken 6003971 times.
✓ Branch 33 taken 1402338 times.
✓ Branch 34 taken 12141802 times.
✓ Branch 35 taken 5177060 times.
✓ Branch 36 taken 2027983 times.
✓ Branch 37 taken 8698378 times.
✓ Branch 38 taken 1523273 times.
✓ Branch 39 taken 44664 times.
✓ Branch 40 taken 2314880 times.
✓ Branch 41 taken 290754 times.
✓ Branch 42 taken 599256 times.
✓ Branch 43 taken 880352 times.
✓ Branch 44 taken 2757167 times.
✓ Branch 45 taken 2248665 times.
✓ Branch 46 taken 1830617 times.
✓ Branch 47 taken 6451 times.
✓ Branch 48 taken 10128390 times.
✓ Branch 49 taken 45 times.
✓ Branch 50 taken 6449 times.
✓ Branch 51 taken 5 times.
✓ Branch 52 taken 7715 times.
✓ Branch 53 taken 18 times.
✓ Branch 54 taken 49922 times.
✓ Branch 55 taken 35 times.
✓ Branch 56 taken 16 times.
✓ Branch 57 taken 8 times.
✓ Branch 58 taken 27 times.
✓ Branch 59 taken 15 times.
✓ Branch 60 taken 34 times.
✓ Branch 61 taken 26 times.
✓ Branch 62 taken 3869 times.
✓ Branch 63 taken 8 times.
✓ Branch 64 taken 22 times.
✓ Branch 65 taken 4 times.
✓ Branch 66 taken 4 times.
✓ Branch 67 taken 19 times.
✓ Branch 68 taken 1 times.
✓ Branch 69 taken 5 times.
✓ Branch 70 taken 18 times.
✗ Branch 71 not taken.
✓ Branch 73 taken 17 times.
✗ Branch 74 not taken.
✓ Branch 76 taken 4 times.
✗ Branch 77 not taken.
✓ Branch 79 taken 5 times.
✗ Branch 80 not taken.
✓ Branch 82 taken 6 times.
✗ Branch 83 not taken.
✓ Branch 85 taken 3 times.
✗ Branch 86 not taken.
✓ Branch 88 taken 1 times.
✓ Branch 89 taken 2 times.
✗ Branch 90 not taken.
✓ Branch 91 taken 1 times.
✓ Branch 92 taken 2 times.
✗ Branch 93 not taken.
✓ Branch 94 taken 1 times.
✓ Branch 95 taken 2 times.
✗ Branch 96 not taken.
✓ Branch 97 taken 1 times.
✓ Branch 98 taken 2 times.
✗ Branch 99 not taken.
✓ Branch 100 taken 1 times.
✓ Branch 101 taken 3 times.
✗ Branch 102 not taken.
✓ Branch 103 taken 1 times.
✓ Branch 104 taken 1 times.
✗ Branch 105 not taken.
✓ Branch 106 taken 1 times.
✓ Branch 107 taken 1 times.
✗ Branch 108 not taken.
✓ Branch 109 taken 1 times.
✓ Branch 110 taken 1 times.
✗ Branch 111 not taken.
✓ Branch 112 taken 1 times.
✓ Branch 113 taken 1 times.
✗ Branch 114 not taken.
✓ Branch 115 taken 1 times.
✓ Branch 116 taken 1 times.
✗ Branch 117 not taken.
✓ Branch 118 taken 1 times.
✓ Branch 119 taken 1 times.
✗ Branch 120 not taken.
✓ Branch 121 taken 1 times.
✓ Branch 122 taken 1 times.
✗ Branch 123 not taken.
✓ Branch 124 taken 1 times.
✓ Branch 125 taken 1 times.
✗ Branch 126 not taken.
✓ Branch 127 taken 1 times.
✓ Branch 128 taken 57 times.
✗ Branch 129 not taken.
✓ Branch 130 taken 1 times.
✗ Branch 131 not taken.
✗ Branch 133 not taken.
✗ Branch 134 not taken.
✗ Branch 136 not taken.
✗ Branch 137 not taken.
✗ Branch 139 not taken.
✗ Branch 140 not taken.
✗ Branch 142 not taken.
✗ Branch 143 not taken.
✗ Branch 145 not taken.
✗ Branch 146 not taken.
✗ Branch 148 not taken.
✗ Branch 149 not taken.
✗ Branch 151 not taken.
✗ Branch 152 not taken.
✗ Branch 154 not taken.
✗ Branch 155 not taken.
✗ Branch 157 not taken.
✗ Branch 158 not taken.
✗ Branch 160 not taken.
✗ Branch 161 not taken.
✗ Branch 163 not taken.
✗ Branch 164 not taken.
✗ Branch 166 not taken.
✗ Branch 167 not taken.
✗ Branch 169 not taken.
✗ Branch 170 not taken.
✗ Branch 172 not taken.
✗ Branch 173 not taken.
✗ Branch 175 not taken.
✗ Branch 176 not taken.
✗ Branch 178 not taken.
✗ Branch 179 not taken.
✗ Branch 181 not taken.
✗ Branch 182 not taken.
✗ Branch 184 not taken.
✗ Branch 185 not taken.
✗ Branch 187 not taken.
✗ Branch 188 not taken.
✗ Branch 190 not taken.
✗ Branch 191 not taken.
✗ Branch 193 not taken.
✗ Branch 194 not taken.
✗ Branch 196 not taken.
✗ Branch 197 not taken.
✗ Branch 199 not taken.
✗ Branch 200 not taken.
✗ Branch 202 not taken.
✗ Branch 203 not taken.
✓ Branch 229 taken 1 times.
✗ Branch 230 not taken.
✓ Branch 232 taken 1 times.
✗ Branch 233 not taken.
✓ Branch 235 taken 1 times.
✗ Branch 236 not taken.
✓ Branch 238 taken 1 times.
✗ Branch 239 not taken.
✓ Branch 241 taken 1 times.
✗ Branch 242 not taken.
✓ Branch 244 taken 1 times.
✗ Branch 245 not taken.
✓ Branch 247 taken 1 times.
✗ Branch 248 not taken.
✓ Branch 250 taken 1 times.
✗ Branch 251 not taken.
✓ Branch 253 taken 1 times.
✗ Branch 254 not taken.
✓ Branch 256 taken 1 times.
✗ Branch 257 not taken.
✓ Branch 259 taken 1 times.
✗ Branch 260 not taken.
✓ Branch 262 taken 1 times.
✗ Branch 263 not taken.
✓ Branch 265 taken 1 times.
✗ Branch 266 not taken.
✓ Branch 268 taken 1 times.
✗ Branch 269 not taken.
✓ Branch 271 taken 1 times.
✗ Branch 272 not taken.
✓ Branch 274 taken 1 times.
✗ Branch 275 not taken.
✓ Branch 277 taken 1 times.
✗ Branch 278 not taken.
✓ Branch 280 taken 1 times.
✗ Branch 281 not taken.
✓ Branch 283 taken 1 times.
✗ Branch 284 not taken.
✓ Branch 286 taken 1 times.
✗ Branch 287 not taken.
✓ Branch 289 taken 1 times.
✗ Branch 290 not taken.
✓ Branch 292 taken 1 times.
✗ Branch 293 not taken.
✓ Branch 295 taken 1 times.
✗ Branch 296 not taken.
✓ Branch 298 taken 1 times.
✗ Branch 299 not taken.
✓ Branch 301 taken 1 times.
✗ Branch 302 not taken.
✓ Branch 304 taken 1 times.
✗ Branch 305 not taken.
✓ Branch 307 taken 1 times.
✗ Branch 308 not taken.
✓ Branch 310 taken 1 times.
✗ Branch 311 not taken.
✓ Branch 313 taken 1 times.
✗ Branch 314 not taken.
✓ Branch 316 taken 1 times.
✗ Branch 317 not taken.
✓ Branch 319 taken 1 times.
✗ Branch 320 not taken.
✓ Branch 322 taken 1 times.
✗ Branch 323 not taken.
✓ Branch 325 taken 1 times.
✗ Branch 326 not taken.
✓ Branch 328 taken 1 times.
✗ Branch 329 not taken.
✓ Branch 331 taken 1 times.
✗ Branch 332 not taken.
✓ Branch 334 taken 1 times.
✗ Branch 335 not taken.
✓ Branch 337 taken 1 times.
✗ Branch 338 not taken.
✓ Branch 340 taken 1 times.
✗ Branch 341 not taken.
✓ Branch 343 taken 1 times.
✗ Branch 344 not taken.
✓ Branch 346 taken 1 times.
✗ Branch 347 not taken.
✓ Branch 349 taken 1 times.
✗ Branch 350 not taken.
✓ Branch 352 taken 1 times.
✗ Branch 353 not taken.
✓ Branch 355 taken 1 times.
✗ Branch 356 not taken.
✓ Branch 358 taken 1 times.
✗ Branch 359 not taken.
✓ Branch 361 taken 1 times.
✗ Branch 362 not taken.
✓ Branch 364 taken 1 times.
✗ Branch 365 not taken.
✓ Branch 367 taken 1 times.
✗ Branch 368 not taken.
✓ Branch 370 taken 1 times.
✗ Branch 371 not taken.
✓ Branch 373 taken 1 times.
✗ Branch 374 not taken.
✓ Branch 376 taken 1 times.
✗ Branch 377 not taken.
✓ Branch 379 taken 1 times.
✗ Branch 380 not taken.
✓ Branch 382 taken 1 times.
✗ Branch 383 not taken.
✓ Branch 385 taken 1 times.
✗ Branch 386 not taken.
✓ Branch 388 taken 1 times.
✗ Branch 389 not taken.
✓ Branch 391 taken 1 times.
✗ Branch 392 not taken.
✓ Branch 394 taken 1 times.
✗ Branch 395 not taken.
✓ Branch 397 taken 1 times.
✗ Branch 398 not taken.
✓ Branch 400 taken 1 times.
✗ Branch 401 not taken.
✓ Branch 403 taken 1 times.
✗ Branch 404 not taken.
✓ Branch 406 taken 1 times.
✗ Branch 407 not taken.
✓ Branch 409 taken 1 times.
✗ Branch 410 not taken.
✓ Branch 412 taken 1 times.
✗ Branch 413 not taken.
✓ Branch 415 taken 1 times.
✗ Branch 416 not taken.
✓ Branch 418 taken 1 times.
✗ Branch 419 not taken.
✓ Branch 421 taken 1 times.
✗ Branch 422 not taken.
✓ Branch 424 taken 1 times.
✗ Branch 425 not taken.
✓ Branch 427 taken 1 times.
✗ Branch 428 not taken.
✓ Branch 430 taken 1 times.
✗ Branch 431 not taken.
✓ Branch 433 taken 1 times.
✗ Branch 434 not taken.
✓ Branch 436 taken 1 times.
✗ Branch 437 not taken.
✓ Branch 439 taken 1 times.
✗ Branch 440 not taken.
✓ Branch 442 taken 1 times.
✗ Branch 443 not taken.
✓ Branch 445 taken 1 times.
✗ Branch 446 not taken.
✓ Branch 448 taken 1 times.
✗ Branch 449 not taken.
✓ Branch 451 taken 1 times.
✗ Branch 452 not taken.
✓ Branch 454 taken 1 times.
✗ Branch 455 not taken.
✓ Branch 457 taken 1 times.
✗ Branch 458 not taken.
✓ Branch 460 taken 1 times.
✗ Branch 461 not taken.
✓ Branch 463 taken 1 times.
✗ Branch 464 not taken.
✓ Branch 466 taken 1 times.
✗ Branch 467 not taken.
✓ Branch 469 taken 1 times.
✗ Branch 470 not taken.
✓ Branch 472 taken 1 times.
✗ Branch 473 not taken.
✓ Branch 475 taken 1 times.
✗ Branch 476 not taken.
✓ Branch 478 taken 1 times.
✗ Branch 479 not taken.
✓ Branch 481 taken 1 times.
✗ Branch 482 not taken.
✓ Branch 484 taken 1 times.
✗ Branch 485 not taken.
✓ Branch 487 taken 1 times.
✗ Branch 488 not taken.
✓ Branch 490 taken 1 times.
✗ Branch 491 not taken.
✓ Branch 493 taken 1 times.
✗ Branch 494 not taken.
✓ Branch 496 taken 1 times.
✗ Branch 497 not taken.
✓ Branch 499 taken 1 times.
✗ Branch 500 not taken.
✓ Branch 502 taken 1 times.
✗ Branch 503 not taken.
✓ Branch 505 taken 1 times.
✗ Branch 506 not taken.
✓ Branch 508 taken 1 times.
✗ Branch 509 not taken.
✓ Branch 511 taken 1 times.
✗ Branch 512 not taken.
✓ Branch 514 taken 1 times.
✗ Branch 515 not taken.
✓ Branch 517 taken 1 times.
✗ Branch 518 not taken.
✓ Branch 520 taken 1 times.
✗ Branch 521 not taken.
✓ Branch 523 taken 1 times.
✗ Branch 524 not taken.
✓ Branch 526 taken 1 times.
✗ Branch 527 not taken.
✓ Branch 529 taken 1 times.
✗ Branch 530 not taken.
✓ Branch 532 taken 1 times.
✗ Branch 533 not taken.
✓ Branch 535 taken 1 times.
✗ Branch 536 not taken.
✗ Branch 538 not taken.
✗ Branch 539 not taken.
✓ Branch 541 taken 1 times.
✗ Branch 542 not taken.
✗ Branch 544 not taken.
✗ Branch 545 not taken.
✓ Branch 547 taken 1 times.
✗ Branch 548 not taken.
✗ Branch 550 not taken.
✗ Branch 551 not taken.
✓ Branch 553 taken 1 times.
✗ Branch 554 not taken.
✗ Branch 556 not taken.
✗ Branch 557 not taken.
✓ Branch 559 taken 1 times.
✗ Branch 560 not taken.
✓ Branch 562 taken 1 times.
✗ Branch 563 not taken.
✓ Branch 565 taken 1 times.
✗ Branch 566 not taken.
✓ Branch 568 taken 1 times.
✗ Branch 569 not taken.
141978022 { return paramGroup_; }
526
527 protected:
528 //! Returns the implementation of the problem (i.e. static polymorphism)
529 Implementation &asImp_()
530 { return *static_cast<Implementation *>(this); }
531
532 //! \copydoc asImp_()
533 const Implementation &asImp_() const
534 { return *static_cast<const Implementation *>(this); }
535
536 private:
537 //! The finite volume grid geometry
538 std::shared_ptr<const GridGeometry> gridGeometry_;
539
540 //! The parameter group in which to retrieve runtime parameters
541 std::string paramGroup_;
542
543 //! The name of the problem
544 std::string problemName_;
545
546 //! A map from an scv to a vector of point sources
547 PointSourceMap pointSourceMap_;
548 };
549
550 } // end namespace Dumux
551
552 #endif
553