Loading [MathJax]/extensions/tex2jax.js
3.1-git
DUNE for Multi-{Phase, Component, Scale, Physics, ...} flow and transport in porous media
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
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
54NEW_TYPE_TAG(Pressure, INHERITS_FROM(SequentialModel));
55
57// Property tags
59//Properties for linear solvers
63}
64}
65
67
68namespace Dumux
69{
70namespace Properties
71{
74
75//Set defaults
76template<class TypeTag>
77struct PressureCoefficientMatrix<TypeTag, TTag::Pressure>
78{
79private:
80 using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar);
81 using MB = Dune::FieldMatrix<Scalar, 1, 1>;
82
83public:
84 using type = Dune::BCRSMatrix<MB>;
85};
86template<class TypeTag>
87struct PressureRHSVector<TypeTag, TTag::Pressure>
88{
89private:
90 using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar);
91
92public:
93 using type = Dune::BlockVector<Dune::FieldVector<Scalar, 1> >;
94};
95
96SET_TYPE_PROP(Pressure, PressureSolutionVector, typename GET_PROP(TypeTag, SolutionTypes)::ScalarSolution);
97
98// use the stabilized BiCG solver preconditioned by the ILU-0 by default
100
102
103}
104}
105
106#endif
#define GET_PROP(TypeTag, PropTagName)
Definition: propertysystemmacros.hh:281
#define GET_PROP_TYPE(TypeTag, PropTagName)
Definition: propertysystemmacros.hh:283
#define NEW_TYPE_TAG(...)
Definition: propertysystemmacros.hh:130
Dumux sequential linear solver backends.
Default implementation of velocity class.
#define NEW_PROP_TAG(PTagName)
Define a property tag.
Definition: propertysystemmacros.hh:159
make the local view function available whenever we use the grid geometry
Definition: adapt.hh:29
Property tag PressureRHSVector
Type of the right hand side vector given to the linear solver.
Definition: sequential/pressureproperties.hh:60
Property tag VisitFacesOnlyOnce
Type of solution vector or pressure system.
Definition: sequential/pressureproperties.hh:62
Property tag PressureSolutionVector
Definition: sequential/pressureproperties.hh:61
SET_TYPE_PROP(FVPressureOneP, Velocity, FVVelocity1P< TypeTag >)
Set velocity reconstruction implementation standard cell centered finite volume schemes as default.
Property tag Velocity
The type velocity reconstruction.
Definition: porousmediumflow/sequential/properties.hh:67
Type tag FVPressureOneP INHERITS_FROM(PressureOneP))
The type tag for the one-phase problems using a standard finite volume model.
Property tag PressureCoefficientMatrix
Gives maximum number of intersections of an element and neighboring elements.
Definition: porousmediumflow/sequential/properties.hh:74
Property tag SolutionTypes
Definition: porousmediumflow/sequential/properties.hh:58
SET_BOOL_PROP(FVPressureOneP, VisitFacesOnlyOnce, true)
Allow assembling algorithm for the pressure matrix to assemble only from one side of a cell-cell inte...
TODO: Remove this property as soon as the decoupled models are integrated.
Definition: common/properties.hh:95
Sequential ILU(0)-preconditioned BiCGSTAB solver.
Definition: seqsolverbackend.hh:580
Default implementation of a velocity class.
Definition: velocitydefault.hh:42
Dune::BCRSMatrix< MB > type
Definition: sequential/pressureproperties.hh:84
Dune::BlockVector< Dune::FieldVector< Scalar, 1 > > type
Definition: sequential/pressureproperties.hh:93
Base file for properties related to sequential models.