version 3.11-dev
Loading...
Searching...
No Matches
common/volumevariables.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-FileCopyrightText: Copyright © DuMux Project contributors, see AUTHORS.md in root folder
5// SPDX-License-Identifier: GPL-3.0-or-later
6//
12#ifndef DUMUX_COMMON_BASIC_VOLUME_VARIABLES_HH
13#define DUMUX_COMMON_BASIC_VOLUME_VARIABLES_HH
14
15#include <memory>
16
17#include <dune/common/ftraits.hh>
18
19namespace Dumux {
20
21template <class Traits>
23{
24 using PrimaryVariable = typename Traits::PrimaryVariables::value_type;
25 using Scalar = typename Dune::FieldTraits<PrimaryVariable>::real_type;
26public:
28 using PrimaryVariables = typename Traits::PrimaryVariables;
29
33 template<class ElementSolution, class Problem, class Element, class SubControlVolume>
34 void update(const ElementSolution& elemSol,
35 const Problem& problem,
36 const Element& element,
37 const SubControlVolume& scv)
38 {
39 priVars_ = elemSol[scv.indexInElement()];
40 }
41
42 PrimaryVariable priVar(const int pvIdx) const
43 { return priVars_[pvIdx]; }
44
46 { return priVars_; }
47
48 // for compatibility with more general models
49 Scalar extrusionFactor() const
50 { return 1.0; }
51
52private:
53 PrimaryVariables priVars_;
54};
55
56} // end namespace Dumux
57
58#endif
Definition common/volumevariables.hh:23
const PrimaryVariables & priVars() const
Definition common/volumevariables.hh:45
Scalar extrusionFactor() const
Definition common/volumevariables.hh:49
typename Traits::PrimaryVariables PrimaryVariables
export the type used for the primary variables
Definition common/volumevariables.hh:28
void update(const ElementSolution &elemSol, const Problem &problem, const Element &element, const SubControlVolume &scv)
Update all quantities for a given control volume.
Definition common/volumevariables.hh:34
PrimaryVariable priVar(const int pvIdx) const
Definition common/volumevariables.hh:42
Definition adapt.hh:17