3.6-git
DUNE for Multi-{Phase, Component, Scale, Physics, ...} flow and transport in porous media
Loading...
Searching...
No Matches
freeflow/navierstokes/problem.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 *****************************************************************************/
24#ifndef DUMUX_NAVIERSTOKES_PROBLEM_HH
25#define DUMUX_NAVIERSTOKES_PROBLEM_HH
26
27#warning "This header is deprecated and will be removed after release 3.6. Use the new mass and momentum problem headers"
28
29#include <dune/common/exceptions.hh>
30#include <dune/common/typetraits.hh>
36
37namespace Dumux {
38
40template<class TypeTag, class DiscretizationMethod> struct NavierStokesParentProblemImpl;
41
42// compatibility with old-style Navier-Stokes models
43template<class TypeTag>
44struct [[deprecated("Will be removed after 3.6. Directly use StaggeredFVProblem.")]]
46{
48};
49
51template<class TypeTag>
52using NavierStokesParentProblem [[deprecated("Will be removed after 3.6. Directly use StaggeredFVProblem.")]]
55>::type;
56
57template<class TypeTag, class DiscretizationMethod>
59
60template<class TypeTag>
61class [[deprecated("Class will be removed after 3.6. Use new staggered problem.")]]
63 : public NavierStokesStaggeredProblem<TypeTag>
64{
67
68public:
74 NavierStokesProblemImpl(std::shared_ptr<const GridGeometry> gridGeometry,
75 const std::string& paramGroup = "")
76 : ParentType(gridGeometry, paramGroup)
77 {}
78};
79
80template<class TypeTag>
81class [[deprecated("Class will be removed after 3.6. Use matching momentum problem.")]]
83 : public NavierStokesMomentumProblemImpl<TypeTag, DiscretizationMethods::FCStaggered>
84{
88
89public:
94 using Sources = typename ParentType::Sources;
97
99
102
104
111 NavierStokesProblemImpl(std::shared_ptr<const GridGeometry> gridGeometry,
112 std::shared_ptr<CouplingManager> couplingManager,
113 const std::string& paramGroup = "")
115 {}
116
122 NavierStokesProblemImpl(std::shared_ptr<const GridGeometry> gridGeometry,
123 const std::string& paramGroup = "")
124 : ParentType(gridGeometry, paramGroup)
125 {}
126};
127
128template<class TypeTag>
129class [[deprecated("Class will be removed after 3.6. Use matching momentum problem.")]]
131 : public NavierStokesMomentumProblemImpl<TypeTag, DiscretizationMethods::FCDiamond>
132{
136
137public:
141 using InitialValues = typename ParentType::InitialValues;
142 using Sources = typename ParentType::Sources;
143 using DirichletValues = typename ParentType::DirichletValues;
144 using BoundaryFluxes = typename ParentType::BoundaryFluxes;
145
147 using BoundaryTypes = typename ParentType::BoundaryTypes;
148
149 using ParentType::isMomentumProblem;
150
157 NavierStokesProblemImpl(std::shared_ptr<const GridGeometry> gridGeometry,
158 std::shared_ptr<CouplingManager> couplingManager,
159 const std::string& paramGroup = "")
160 : ParentType(gridGeometry, couplingManager, paramGroup)
161 {}
162
168 NavierStokesProblemImpl(std::shared_ptr<const GridGeometry> gridGeometry,
169 const std::string& paramGroup = "")
170 : ParentType(gridGeometry, paramGroup)
171 {}
172};
173
174template<class TypeTag>
175class [[deprecated("Class will be removed after 3.6. Use matching mass problem.")]]
177 : public NavierStokesMassProblemImpl<TypeTag, DiscretizationMethods::CCTpfa>
178{
182
183public:
188 using Sources = typename ParentType::Sources;
191
194
196
203 NavierStokesProblemImpl(std::shared_ptr<const GridGeometry> gridGeometry,
204 std::shared_ptr<CouplingManager> couplingManager,
205 const std::string& paramGroup = "")
207 {}
208
214 NavierStokesProblemImpl(std::shared_ptr<const GridGeometry> gridGeometry,
215 const std::string& paramGroup = "")
216 : ParentType(gridGeometry, paramGroup)
217 {}
218};
219
226template<class TypeTag>
227using NavierStokesProblem [[deprecated("Will be removed after 3.6. Use matching mass or momentum problem.")]]
228= NavierStokesProblemImpl<TypeTag, typename GetPropType<TypeTag, Properties::GridGeometry>::DiscretizationMethod>;
229
230} // end namespace Dumux
231
232#endif
The available discretization methods in Dumux.
Adaption of the non-isothermal two-phase two-component flow model to problems with CO2.
Definition adapt.hh:29
typename GetProp< TypeTag, Property >::type GetPropType
get the type alias defined in the property
Definition propertysystem.hh:180
Definition method.hh:32
const std::string & paramGroup() const
The parameter group in which to retrieve runtime parameters.
Definition common/fvproblem.hh:544
const GridGeometry & gridGeometry() const
The finite volume grid geometry.
Definition common/fvproblem.hh:540
Base class for all staggered finite-volume problems.
Definition staggeredfvproblem.hh:48
Dune::FieldVector< Scalar, ModelTraits::numEq()> BoundaryFluxes
Definition freeflow/navierstokes/mass/problem.hh:65
Dumux::BoundaryTypes< ModelTraits::numEq()> BoundaryTypes
Definition freeflow/navierstokes/mass/problem.hh:68
const CouplingManager & couplingManager() const
Definition freeflow/navierstokes/mass/problem.hh:128
Dune::FieldVector< Scalar, ModelTraits::numEq()> DirichletValues
Definition freeflow/navierstokes/mass/problem.hh:64
Dune::FieldVector< Scalar, ModelTraits::numEq()> Sources
Definition freeflow/navierstokes/mass/problem.hh:63
NavierStokesMassProblemImpl(std::shared_ptr< const GridGeometry > gridGeometry, std::shared_ptr< CouplingManager > couplingManager, const std::string &paramGroup="")
Definition freeflow/navierstokes/mass/problem.hh:79
Dune::FieldVector< Scalar, ModelTraits::numEq()> InitialValues
Definition freeflow/navierstokes/mass/problem.hh:62
static constexpr bool isMomentumProblem()
Definition freeflow/navierstokes/mass/problem.hh:71
Definition freeflow/navierstokes/momentum/problem.hh:38
NavierStokesMomentumProblemImpl(std::shared_ptr< const GridGeometry > gridGeometry, std::shared_ptr< CouplingManager > couplingManager, const std::string &paramGroup="")
The constructor.
Definition freeflow/navierstokes/momentum/problem.hh:98
const CouplingManager & couplingManager() const
Definition freeflow/navierstokes/momentum/problem.hh:501
Dune::FieldVector< Scalar, dimWorld > MomentumFluxType
Definition freeflow/navierstokes/momentum/problem.hh:84
static constexpr bool isMomentumProblem()
This problem is used for the momentum balance model.
Definition freeflow/navierstokes/momentum/problem.hh:90
NavierStokesMomentumBoundaryTypes< ModelTraits::dim()> BoundaryTypes
Export the boundary types.
Definition freeflow/navierstokes/momentum/problem.hh:87
Dune::FieldVector< Scalar, dimWorld > InitialValues
Definition freeflow/navierstokes/momentum/problem.hh:79
Dune::FieldVector< Scalar, dimWorld > BoundaryFluxes
Definition freeflow/navierstokes/momentum/problem.hh:82
Dune::FieldVector< Scalar, dimWorld > DirichletValues
Definition freeflow/navierstokes/momentum/problem.hh:81
Dune::FieldVector< Scalar, dimWorld > Sources
Definition freeflow/navierstokes/momentum/problem.hh:80
The implementation is specialized for the different discretizations.
Definition freeflow/navierstokes/problem.hh:40
StaggeredFVProblem< TypeTag > type
Definition freeflow/navierstokes/problem.hh:47
Definition freeflow/navierstokes/problem.hh:58
NavierStokesProblemImpl(std::shared_ptr< const GridGeometry > gridGeometry, const std::string &paramGroup="")
The constructor for usage without a coupling manager.
Definition freeflow/navierstokes/problem.hh:74
typename ParentType::InitialValues InitialValues
Definition freeflow/navierstokes/problem.hh:93
NavierStokesProblemImpl(std::shared_ptr< const GridGeometry > gridGeometry, const std::string &paramGroup="")
The constructor for usage without a coupling manager.
Definition freeflow/navierstokes/problem.hh:122
typename ParentType::DirichletValues DirichletValues
Definition freeflow/navierstokes/problem.hh:95
typename ParentType::MomentumFluxType MomentumFluxType
Definition freeflow/navierstokes/problem.hh:98
typename ParentType::BoundaryFluxes BoundaryFluxes
Definition freeflow/navierstokes/problem.hh:96
NavierStokesProblemImpl(std::shared_ptr< const GridGeometry > gridGeometry, std::shared_ptr< CouplingManager > couplingManager, const std::string &paramGroup="")
The constructor.
Definition freeflow/navierstokes/problem.hh:111
typename ParentType::Sources Sources
Definition freeflow/navierstokes/problem.hh:94
typename ParentType::BoundaryTypes BoundaryTypes
Export the boundary types.
Definition freeflow/navierstokes/problem.hh:101
typename ParentType::DirichletValues DirichletValues
Definition freeflow/navierstokes/problem.hh:143
typename ParentType::BoundaryFluxes BoundaryFluxes
Definition freeflow/navierstokes/problem.hh:144
typename ParentType::BoundaryTypes BoundaryTypes
Export the boundary types.
Definition freeflow/navierstokes/problem.hh:147
typename ParentType::Sources Sources
Definition freeflow/navierstokes/problem.hh:142
NavierStokesProblemImpl(std::shared_ptr< const GridGeometry > gridGeometry, std::shared_ptr< CouplingManager > couplingManager, const std::string &paramGroup="")
The constructor.
Definition freeflow/navierstokes/problem.hh:157
NavierStokesProblemImpl(std::shared_ptr< const GridGeometry > gridGeometry, const std::string &paramGroup="")
The constructor for usage without a coupling manager.
Definition freeflow/navierstokes/problem.hh:168
typename ParentType::InitialValues InitialValues
Definition freeflow/navierstokes/problem.hh:141
NavierStokesProblemImpl(std::shared_ptr< const GridGeometry > gridGeometry, std::shared_ptr< CouplingManager > couplingManager, const std::string &paramGroup="")
The constructor.
Definition freeflow/navierstokes/problem.hh:203
typename ParentType::DirichletValues DirichletValues
Definition freeflow/navierstokes/problem.hh:189
typename ParentType::BoundaryFluxes BoundaryFluxes
Definition freeflow/navierstokes/problem.hh:190
typename ParentType::InitialValues InitialValues
Definition freeflow/navierstokes/problem.hh:187
NavierStokesProblemImpl(std::shared_ptr< const GridGeometry > gridGeometry, const std::string &paramGroup="")
The constructor for usage without a coupling manager.
Definition freeflow/navierstokes/problem.hh:214
typename ParentType::BoundaryTypes BoundaryTypes
Export the boundary types.
Definition freeflow/navierstokes/problem.hh:193
typename ParentType::Sources Sources
Definition freeflow/navierstokes/problem.hh:188
NavierStokesStaggeredProblem(std::shared_ptr< const GridGeometry > gridGeometry, const std::string &paramGroup="")
The constructor.
Definition freeflow/navierstokes/staggered/problem.hh:82
Declares all properties used in Dumux.