GCC Code Coverage Report


Directory: ../../../builds/dumux-repositories/
File: dumux/dumux/material/fluidmatrixinteractions/frictionlaws/nofriction.hh
Date: 2025-04-12 19:19:20
Exec Total Coverage
Lines: 1 3 33.3%
Functions: 0 1 0.0%
Branches: 1 2 50.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-FileCopyrightText: Copyright © DuMux Project contributors, see AUTHORS.md in root folder
5 // SPDX-License-Identifier: GPL-3.0-or-later
6 //
7 /*!
8 * \file
9 * \ingroup FrictionLaws
10 * \brief A pseudo friction law with no bottom friction
11 */
12
13 #ifndef DUMUX_MATERIAL_FLUIDMATRIX_FRICTIONLAW_NOFRICTION_HH
14 #define DUMUX_MATERIAL_FLUIDMATRIX_FRICTIONLAW_NOFRICTION_HH
15
16 #include "frictionlaw.hh"
17
18 namespace Dumux {
19 /*!
20 * \addtogroup FrictionLaws
21 * \copydetails Dumux::FrictionLawNoFriction
22 */
23
24 /*!
25 * \ingroup FrictionLaws
26 * \brief A pseudo friction law with no bottom friction
27 *
28 * ### No Friction
29 *
30 * This friction law sets the stress between the flowing fluid and the bottom,
31 * which is called bottom shear stress, to zero.
32 * The bottom shear stress is needed to calculate on the one hand the loss of
33 * momentum due to bottom friction and on the other hand the bedload transport rate.
34 *
35 */
36 template <typename VolumeVariables>
37 class FrictionLawNoFriction : public FrictionLaw<VolumeVariables>
38 {
39 using Scalar = typename VolumeVariables::PrimaryVariables::value_type;
40 public:
41 /*!
42 * \brief Constructor
43 */
44
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 3 times.
3 FrictionLawNoFriction() = default;
45
46 /*!
47 * \brief Compute the bottom shear stress.
48 *
49 * \param volVars Volume variables
50 *
51 * Compute the bottom shear stress due to bottom friction.
52 * The bottom shear stress is a projection of the shear stress tensor onto the river bed.
53 * It can therefore be represented by a (tangent) vector with two entries.
54 * For this law without bottom friction, the bottom shear stress is zero.
55 *
56 * \return shear stress in N/m^2. First entry is the x-component, the second the y-component.
57 */
58 Dune::FieldVector<Scalar, 2> bottomShearStress(const VolumeVariables& volVars) const final
59 {
60 return {0.0, 0.0};
61 }
62 };
63
64 } // end namespace Dumux
65
66 #endif
67