3.5-git
DUNE for Multi-{Phase, Component, Scale, Physics, ...} flow and transport in porous media
fvnonequilibrium.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 *****************************************************************************/
25#ifndef DUMUX_FV_SPATIALPARAMS_NONEQUILIBRIUM_HH
26#define DUMUX_FV_SPATIALPARAMS_NONEQUILIBRIUM_HH
27
28#warning "This file is deprecated, use FVPorousMediumSpatialParamsNonEquilibrium from dumux/porousmediumflow/fvspatialparamsnonequilibrium.hh instead!"
29
31
32namespace Dumux {
33
38template<class GridGeometry, class Scalar, class Implementation>
39class
40[[deprecated("Use FVPorousMediumFlowSpatialParamsNonEquilibrium from dumux/porousmediumflow/fvspatialparamsnonequilibrium.hh instead. This class will be removed after 3.5.")]]
43{
45 using GridView = typename GridGeometry::GridView;
46 using FVElementGeometry = typename GridGeometry::LocalView;
47 using SubControlVolume = typename GridGeometry::SubControlVolume;
48 using Element = typename GridView::template Codim<0>::Entity;
49 using GlobalPosition = typename Element::Geometry::GlobalCoordinate;
50
51public:
53 using AwnSurfaceParams = Scalar;
54 using AwsSurfaceParams = Scalar;
55 using AnsSurfaceParams = Scalar;
56
57 FVNonEquilibriumSpatialParams(std::shared_ptr<const GridGeometry> gridGeometry)
58 : ParentType(gridGeometry)
59 { }
60
67 template<class ElementSolution>
68 const Scalar characteristicLength(const Element & element,
69 const SubControlVolume &scv,
70 const ElementSolution &elemSol) const
71
72 { return this->asImp_().characteristicLengthAtPos(scv.dofPosition()); }
73
79 const Scalar characteristicLengthAtPos(const GlobalPosition & globalPos) const
80 {
81 DUNE_THROW(Dune::InvalidStateException,
82 "The spatial parameters do not provide "
83 "a characteristicLengthAtPos() method.");
84 }
85
92 template<class ElementSolution>
93 const Scalar factorEnergyTransfer(const Element &element,
94 const SubControlVolume &scv,
95 const ElementSolution &elemSol) const
96 { return this->asImp_().factorEnergyTransferAtPos(scv.dofPosition()); }
97
103 const Scalar factorEnergyTransferAtPos(const GlobalPosition & globalPos) const
104 {
105 DUNE_THROW(Dune::InvalidStateException,
106 "The spatial parameters do not provide "
107 "a factorEnergyTransferAtPos() method.");
108 }
109
116 template<class ElementSolution>
117 const Scalar factorMassTransfer(const Element &element,
118 const SubControlVolume &scv,
119 const ElementSolution &elemSol) const
120 { return this->asImp_().factorMassTransferAtPos(scv.dofPosition()); }
121
122
128 const Scalar factorMassTransferAtPos(const GlobalPosition & globalPos) const
129 {
130 DUNE_THROW(Dune::InvalidStateException,
131 "The spatial parameters do not provide "
132 "a factorMassTransferAtPos() method.");
133 }
134};
135
136} // end namespace Dumux
137
138#endif
The base class for spatial parameters of multi-phase problems using a fully implicit discretization m...
Definition: adapt.hh:29
The base class for spatial parameters used with finite-volume schemes.
Definition: common/fvspatialparams.hh:46
The base class for spatial parameters of one-phase problems using a fully implicit discretization met...
Definition: fv1p.hh:80
Definition of the spatial parameters for non-equilibrium.
Definition: fvnonequilibrium.hh:43
const Scalar factorEnergyTransfer(const Element &element, const SubControlVolume &scv, const ElementSolution &elemSol) const
Return the pre-factor the the energy transfer.
Definition: fvnonequilibrium.hh:93
const Scalar characteristicLengthAtPos(const GlobalPosition &globalPos) const
Return the characteristic length for the mass transfer.
Definition: fvnonequilibrium.hh:79
FVNonEquilibriumSpatialParams(std::shared_ptr< const GridGeometry > gridGeometry)
Definition: fvnonequilibrium.hh:57
const Scalar characteristicLength(const Element &element, const SubControlVolume &scv, const ElementSolution &elemSol) const
Return the characteristic length for the mass transfer.
Definition: fvnonequilibrium.hh:68
const Scalar factorMassTransfer(const Element &element, const SubControlVolume &scv, const ElementSolution &elemSol) const
Return the pre-factor the the mass transfer.
Definition: fvnonequilibrium.hh:117
Scalar AwsSurfaceParams
Definition: fvnonequilibrium.hh:54
Scalar AwnSurfaceParams
export the types used for interfacial area calculations
Definition: fvnonequilibrium.hh:53
const Scalar factorMassTransferAtPos(const GlobalPosition &globalPos) const
Return the pre-factor the the mass transfer.
Definition: fvnonequilibrium.hh:128
const Scalar factorEnergyTransferAtPos(const GlobalPosition &globalPos) const
Return the pre factor the the energy transfer.
Definition: fvnonequilibrium.hh:103
Scalar AnsSurfaceParams
Definition: fvnonequilibrium.hh:55