3.1-git
DUNE for Multi-{Phase, Component, Scale, Physics, ...} flow and transport in porous media
tensorlambdafactory.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 * See the file COPYING for full copying permissions. *
5 * *
6 * This program is free software: you can redistribute it and/or modify *
7 * it under the terms of the GNU General Public License as published by *
8 * the Free Software Foundation, either version 3 of the License, or *
9 * (at your option) any later version. *
10 * *
11 * This program is distributed in the hope that it will be useful, *
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
14 * GNU General Public License for more details. *
15 * *
16 * You should have received a copy of the GNU General Public License *
17 * along with this program. If not, see <http://www.gnu.org/licenses/>. *
18 *****************************************************************************/
30#ifndef DUMUX_DISCRETIZATION_MPFA_TENSOR_LAMBDA_FACTORY_HH
31#define DUMUX_DISCRETIZATION_MPFA_TENSOR_LAMBDA_FACTORY_HH
32
35
36#include <dumux/common/deprecated.hh> // effective thermal conductivity interface
37
38namespace Dumux {
39
52template<DiscretizationMethod discMethod>
54
56template<>
58{
59public:
60
62 static auto getAdvectionLambda()
63 {
64 return [] (const auto& problem,
65 const auto& element,
66 const auto& volVars,
67 const auto& fvGeometry,
68 const auto& scv)
69 { return volVars.permeability(); };
70 }
71
73 static auto getDiffusionLambda(unsigned int phaseIdx, unsigned int compIdx)
74 {
75 return [phaseIdx, compIdx] (const auto& problem,
76 const auto& element,
77 const auto& volVars,
78 const auto& fvGeometry,
79 const auto& scv)
80 { return volVars.diffusionCoefficient(phaseIdx, compIdx); };
81 }
82
84 template<class ThermalConductivityModel>
86 {
87 return [] (const auto& problem,
88 const auto& element,
89 const auto& volVars,
90 const auto& fvGeometry,
91 const auto& scv)
92 { return Deprecated::template effectiveThermalConductivity<ThermalConductivityModel>(
93 volVars, problem.spatialParams(), element, fvGeometry, scv); };
94 }
95};
96
97} // end namespace Dumux
98
99#endif
Helpers for deprecation.
Helper class to be used to obtain lambda functions for the tensors involved in the laws that describe...
The available discretization methods in Dumux.
DiscretizationMethod
The available discretization methods in Dumux.
Definition: method.hh:37
make the local view function available whenever we use the grid geometry
Definition: adapt.hh:29
Helper class to be used to obtain lambda functions for the tensors involved in the laws that describe...
Definition: tensorlambdafactory.hh:53
static auto getDiffusionLambda(unsigned int phaseIdx, unsigned int compIdx)
return void lambda here
Definition: tensorlambdafactory.hh:73
static auto getHeatConductionLambda()
return void lambda here
Definition: tensorlambdafactory.hh:85
static auto getAdvectionLambda()
return void lambda here
Definition: tensorlambdafactory.hh:62