GCC Code Coverage Report


Directory: ../../../builds/dumux-repositories/
File: /builds/dumux-repositories/dumux/dumux/porenetwork/solidenergy/volumevariables.hh
Date: 2024-09-21 20:52:54
Exec Total Coverage
Lines: 1 10 10.0%
Functions: 0 4 0.0%
Branches: 0 4 0.0%

Line Branch Exec Source
1 // -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
2 // vi: set et ts=4 sw=4 sts=4:
3 //
4 // SPDX-FileCopyrightInfo: Copyright © DuMux Project contributors, see AUTHORS.md in root folder
5 // SPDX-License-Identifier: GPL-3.0-or-later
6 //
7 /*!
8 * \file
9 * \ingroup PNMSolidEnergyModel
10 * \brief Quantities required by the solid-energy fully implicit model defined on a vertex.
11 */
12
13 #ifndef DUMUX_PNM_SOLID_ENERGY_VOLUME_VARIABLES_HH
14 #define DUMUX_PNM_SOLID_ENERGY_VOLUME_VARIABLES_HH
15
16 #include <dumux/porousmediumflow/solidenergy/volumevariables.hh>
17
18 namespace Dumux::PoreNetwork {
19
20 /*!
21 * \ingroup PNMSolidEnergyModel
22 * \brief Contains the quantities which are constant within a
23 * finite volume in the solid-energy model.
24 *
25 * \tparam Traits Class encapsulating types to be used by the vol vars
26 */
27 template<class Traits>
28
0/4
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
1585084 class SolidEnergyVolumeVariables : public Dumux::SolidEnergyVolumeVariables<Traits>
29 {
30 using ParentType = Dumux::SolidEnergyVolumeVariables<Traits>;
31
32 using Scalar = typename Traits::PrimaryVariables::value_type;
33 public:
34
35 /*!
36 * \brief Updates all quantities for a given control volume.
37 *
38 * \param elemSol A vector containing all primary variables connected to the element
39 * \param problem The object specifying the problem which ought to
40 * be simulatedgit
41 * \param element An element which contains part of the control volume
42 * \param scv The sub-control volume
43 */
44 template<class ElemSol, class Problem, class Element, class Scv>
45 void update(const ElemSol& elemSol,
46 const Problem& problem,
47 const Element& element,
48 const Scv& scv)
49 {
50 ParentType::update(elemSol, problem, element, scv);
51
52 poreInscribedRadius_ = problem.spatialParams().poreInscribedRadius(element, scv, elemSol);
53 poreVolume_ = problem.gridGeometry().poreVolume(scv.dofIndex());
54 }
55
56 Scalar poreInscribedRadius() const
57 { return poreInscribedRadius_; }
58
59
60 Scalar poreVolume() const
61 { return poreVolume_; }
62
63 protected:
64
65 Scalar poreInscribedRadius_;
66 Scalar poreVolume_;
67 };
68
69 } // end namespace Dumux::PoreNetwork
70
71 #endif
72