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 |