version 3.10-dev
porenetwork/solidenergy/fluxvariablescache.hh
Go to the documentation of this file.
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//
12#ifndef DUMUX_PNM_SOLID_ENERGY_FLUXVARIABLESCACHE_HH
13#define DUMUX_PNM_SOLID_ENERGY_FLUXVARIABLESCACHE_HH
14
15namespace Dumux::PoreNetwork {
16
17template<class Scalar>
19{
20public:
22 static bool constexpr isSolDependent = false;
23
24 template<class Problem, class Element, class FVElementGeometry,
25 class ElementVolumeVariables, class SubControlVolumeFace>
26 void update(const Problem& problem,
27 const Element& element,
28 const FVElementGeometry& fvGeometry,
29 const ElementVolumeVariables& elemVolVars,
30 const SubControlVolumeFace& scvf)
31 {
32 grainContactArea_ = problem.spatialParams().throatCrossSectionalArea(element, elemVolVars);
33 throatLength_ = problem.spatialParams().throatLength(element, elemVolVars);
34 throatInscribedRadius_ = problem.spatialParams().throatInscribedRadius(element, elemVolVars);
35 }
36
37 Scalar grainContactArea() const
38 { return grainContactArea_; }
39
40 Scalar throatLength() const
41 { return throatLength_; }
42
43 Scalar throatInscribedRadius() const
44 { return throatInscribedRadius_; }
45
46private:
47 Scalar grainContactArea_;
48 Scalar throatLength_;
49 Scalar throatInscribedRadius_;
50};
51
52} // end namespace Dumux::PoreNetwork
53
54#endif
Definition: porenetwork/solidenergy/fluxvariablescache.hh:19
Scalar grainContactArea() const
Definition: porenetwork/solidenergy/fluxvariablescache.hh:37
static bool constexpr isSolDependent
whether the cache needs an update when the solution changes
Definition: porenetwork/solidenergy/fluxvariablescache.hh:22
Scalar throatInscribedRadius() const
Definition: porenetwork/solidenergy/fluxvariablescache.hh:43
void update(const Problem &problem, const Element &element, const FVElementGeometry &fvGeometry, const ElementVolumeVariables &elemVolVars, const SubControlVolumeFace &scvf)
Definition: porenetwork/solidenergy/fluxvariablescache.hh:26
Scalar throatLength() const
Definition: porenetwork/solidenergy/fluxvariablescache.hh:40
Definition: discretization/porenetwork/fvelementgeometry.hh:24