3.3.0
DUNE for Multi-{Phase, Component, Scale, Physics, ...} flow and transport in porous media
sequential/pressureproperties.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 *****************************************************************************/
19#ifndef DUMUX_PRESSURE_PROPERTIES_HH
20#define DUMUX_PRESSURE_PROPERTIES_HH
21
22//Dune-includes
23#include <dune/istl/bcrsmatrix.hh>
24#include <dune/istl/bvector.hh>
25
26#include "properties.hh"
28
29
38namespace Dumux
39{
40namespace Properties
41{
50// Type tags tags
52
54// Create new type tags
55namespace TTag {
56struct Pressure { using InheritsFrom = std::tuple<SequentialModel>; };
57} // end namespace TTag
58
60// Property tags
62//Properties for linear solvers
63template<class TypeTag, class MyTypeTag>
65template<class TypeTag, class MyTypeTag>
67template<class TypeTag, class MyTypeTag>
69}
70}
71
73
74namespace Dumux
75{
76namespace Properties
77{
79template<class TypeTag>
80struct VisitFacesOnlyOnce<TypeTag, TTag::Pressure> { static constexpr bool value = false; };
81
82//Set defaults
83template<class TypeTag>
84struct PressureCoefficientMatrix<TypeTag, TTag::Pressure>
85{
86private:
88 using MB = Dune::FieldMatrix<Scalar, 1, 1>;
89
90public:
92};
93template<class TypeTag>
94struct PressureRHSVector<TypeTag, TTag::Pressure>
95{
96private:
98
99public:
100 using type = Dune::BlockVector<Dune::FieldVector<Scalar, 1> >;
101};
102
103template<class TypeTag>
104struct PressureSolutionVector<TypeTag, TTag::Pressure> { using type = typename GetProp<TypeTag, SolutionTypes>::ScalarSolution; };
105
106// use the stabilized BiCG solver preconditioned by the ILU-0 by default
107template<class TypeTag>
108struct LinearSolver<TypeTag, TTag::Pressure> { using type = ILU0BiCGSTABBackend ; };
109
110template<class TypeTag>
111struct Velocity<TypeTag, TTag:: Pressure> { using type = FVVelocityDefault<TypeTag>; };
112
113}
114}
115
116#endif
Dumux sequential linear solver backends.
Default implementation of velocity class.
Definition: adapt.hh:29
typename Properties::Detail::GetPropImpl< TypeTag, Property >::type GetProp
get the type of a property (equivalent to old macro GET_PROP(...))
Definition: propertysystem.hh:140
typename Properties::Detail::GetPropImpl< TypeTag, Property >::type::type GetPropType
get the type alias defined in the property (equivalent to old macro GET_PROP_TYPE(....
Definition: propertysystem.hh:149
TODO: Remove this property as soon as the decoupled models are integrated.
Definition: common/properties.hh:81
a tag to mark properties as undefined
Definition: propertysystem.hh:36
Definition: matrix.hh:32
Sequential ILU(0)-preconditioned BiCGSTAB solver.
Definition: seqsolverbackend.hh:621
Default implementation of a velocity class.
Definition: velocitydefault.hh:42
Definition: sequential/pressureproperties.hh:56
std::tuple< SequentialModel > InheritsFrom
Definition: sequential/pressureproperties.hh:56
Type of the right hand side vector given to the linear solver.
Definition: sequential/pressureproperties.hh:64
Definition: sequential/pressureproperties.hh:66
Type of solution vector or pressure system Indicates if faces are only regarded from one side.
Definition: sequential/pressureproperties.hh:68
Dune::BlockVector< Dune::FieldVector< Scalar, 1 > > type
Definition: sequential/pressureproperties.hh:100
typename GetProp< TypeTag, SolutionTypes >::ScalarSolution type
Definition: sequential/pressureproperties.hh:104
The type velocity reconstruction.
Definition: porousmediumflow/sequential/properties.hh:79
Gives maximum number of intersections of an element and neighboring elements.
Definition: porousmediumflow/sequential/properties.hh:93
Base file for properties related to sequential models.