fvbaseproperties.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 This file is part of the Open Porous Media project (OPM).
5
6 OPM 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 2 of the License, or
9 (at your option) any later version.
10
11 OPM 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 OPM. If not, see <http://www.gnu.org/licenses/>.
18
19 Consult the COPYING file in the top-level source directory of this
20 module for the precise wording of the license and the list of
21 copyright holders.
22*/
30#ifndef EWOMS_FV_BASE_PROPERTIES_HH
31#define EWOMS_FV_BASE_PROPERTIES_HH
32
35
36namespace Opm::Properties {
37
38namespace TTag {
39struct FvBaseNewtonMethod;
40struct VtkPrimaryVars;
41struct FiniteDifferenceLocalLinearizer;
42struct ParallelBiCGStabLinearSolver;
43}
44
45namespace TTag {
46
49{ using InheritsFrom = std::tuple<VtkPrimaryVars, FvBaseNewtonMethod, ImplicitModel>; };
50
51} // namespace TTag
52
53
55template<class TypeTag, class MyTypeTag>
57template<class TypeTag, class MyTypeTag>
59template<class TypeTag>
60struct Splices<TypeTag, TTag::FvBaseDiscretization>
61{
62 using type = std::tuple<GetSplicePropType<TypeTag, TTag::FvBaseDiscretization, Properties::LinearSolverSplice>,
64};
65
67template<class TypeTag>
69
71template<class TypeTag>
73
82template<class TypeTag, class MyTypeTag>
83struct Evaluation { using type = UndefinedProperty; };
84
86template<class TypeTag, class MyTypeTag>
87struct Stencil { using type = UndefinedProperty; };
88
90template<class TypeTag, class MyTypeTag>
92
93template<class TypeTag, class MyTypeTag>
95
97template<class TypeTag, class MyTypeTag>
98struct Problem { using type = UndefinedProperty; };
100template<class TypeTag, class MyTypeTag>
102
104template<class TypeTag, class MyTypeTag>
107template<class TypeTag, class MyTypeTag>
110template<class TypeTag, class MyTypeTag>
113template<class TypeTag, class MyTypeTag>
117template<class TypeTag, class MyTypeTag>
119
121template<class TypeTag, class MyTypeTag>
123
125template<class TypeTag, class MyTypeTag>
126struct EqVector { using type = UndefinedProperty; };
128template<class TypeTag, class MyTypeTag>
130
132template<class TypeTag, class MyTypeTag>
135template<class TypeTag, class MyTypeTag>
138template<class TypeTag, class MyTypeTag>
140
142template<class TypeTag, class MyTypeTag>
144
146template<class TypeTag, class MyTypeTag>
149template<class TypeTag, class MyTypeTag>
152template<class TypeTag, class MyTypeTag>
154
156template<class TypeTag, class MyTypeTag>
159template<class TypeTag, class MyTypeTag>
162template<class TypeTag, class MyTypeTag>
165template<class TypeTag, class MyTypeTag>
168template<class TypeTag, class MyTypeTag>
170
172template<class TypeTag, class MyTypeTag>
174
176template<class TypeTag, class MyTypeTag>
178
180template<class TypeTag, class MyTypeTag>
182
184template<class TypeTag, class MyTypeTag>
186
190template<class TypeTag, class MyTypeTag>
192template<class TypeTag, class MyTypeTag>
194
199template<class TypeTag, class MyTypeTag>
201
202// high-level simulation control
203
210template<class TypeTag, class MyTypeTag>
212
216template<class TypeTag, class MyTypeTag>
217struct OutputDir { using type = UndefinedProperty; };
218
225template<class TypeTag, class MyTypeTag>
227
237template<class TypeTag, class MyTypeTag>
239
249template<class TypeTag, class MyTypeTag>
251
253template<class TypeTag, class MyTypeTag>
255
261template<class TypeTag, class MyTypeTag>
263
269template<class TypeTag, class MyTypeTag>
271
276template<class TypeTag, class MyTypeTag>
278
284template<class TypeTag, class MyTypeTag>
286
296template<class TypeTag, class MyTypeTag>
298
305template<class TypeTag, class MyTypeTag>
307
316template<class TypeTag, class MyTypeTag>
318
319// mappers from local to global DOF indices
320
324template<class TypeTag, class MyTypeTag>
326
330template<class TypeTag, class MyTypeTag>
332
336template<class TypeTag, class MyTypeTag>
337struct DofMapper { using type = UndefinedProperty; };
338
342template<class TypeTag, class MyTypeTag>
344
350template<class TypeTag, class MyTypeTag>
352
354template<class TypeTag, class MyTypeTag>
356
357
359template<class TypeTag, class MyTypeTag>
361
362template<class TypeTag>
363struct Vanguard<TypeTag, TTag::NumericModel> { using type = Opm::DgfVanguard<TypeTag>; };
364
365} // namespace Opm::Properties
366
367#endif
Defines a type tags and some fundamental properties all models.
Provides a simulator vanguard which creates a grid by parsing a Dune Grid Format (DGF) file.
Definition: dgfvanguard.hh:50
The base class for the finite volume discretization schemes.
Definition: fvbasediscretization.hh:349
Definition: blackoilmodel.hh:72
typename Properties::Detail::GetSplicePropImpl< TypeTag, SpliceTypeTag, Property >::type::type GetSplicePropType
Definition: propertysystem.hh:245
Linearizes the global non-linear system of equations.
Definition: fvbaseproperties.hh:122
The type of the base class for all problems which use this model.
Definition: fvbaseproperties.hh:101
The secondary variables of a boundary segment.
Definition: fvbaseproperties.hh:160
Type of object for specifying boundary conditions.
Definition: fvbaseproperties.hh:136
The secondary variables of a constraint degree of freedom.
Definition: fvbaseproperties.hh:163
The class which represents a constraint degree of freedom.
Definition: fvbaseproperties.hh:139
Continue with a non-converged solution instead of giving up if we encounter a time step size smaller ...
Definition: fvbaseproperties.hh:285
The part of the intensive quantities which is specific to the spatial discretization.
Definition: fvbaseproperties.hh:173
The part of the VTK ouput modules which is specific to the spatial discretization.
Definition: fvbaseproperties.hh:181
The part of the extensive quantities which is specific to the spatial discretization.
Definition: fvbaseproperties.hh:177
The discretization specific part of the intensive quantities.
Definition: fvbaseproperties.hh:153
The discretization specific part of the local residual.
Definition: fvbaseproperties.hh:108
Definition: fvbaseproperties.hh:94
The class describing the discrete function space when dune-fem is used, otherwise it points to the st...
Definition: fvbaseproperties.hh:91
The type of the spatial discretization used by the model.
Definition: fvbaseproperties.hh:105
The mapper to find the global index of a degree of freedom.
Definition: fvbaseproperties.hh:337
The secondary variables of all degrees of freedom in an element's stencil.
Definition: fvbaseproperties.hh:157
A vector of holding a quantity for each equation for each DOF of an element.
Definition: fvbaseproperties.hh:129
The mapper to find the global index of an element.
Definition: fvbaseproperties.hh:331
Determines if the VTK output is written to disk asynchronously.
Definition: fvbaseproperties.hh:238
Specify whether the some degrees of fredom can be constraint.
Definition: fvbaseproperties.hh:254
Specify if experimental features should be enabled or not.
Definition: fvbaseproperties.hh:360
Switch to enable or disable grid adaptation.
Definition: fvbaseproperties.hh:211
Specify whether all intensive quantities for the grid should be cached in the discretization.
Definition: fvbaseproperties.hh:297
Specify whether the storage terms for previous solutions should be cached.
Definition: fvbaseproperties.hh:306
Specify whether to use the already calculated solutions as starting values of the intensive quantitie...
Definition: fvbaseproperties.hh:317
Global switch to enable or disable the writing of VTK output files.
Definition: fvbaseproperties.hh:226
A vector of holding a quantity for each equation (usually at a given spatial location)
Definition: fvbaseproperties.hh:126
Representation of a function evaluation and all necessary derivatives with regard to the intensive qu...
Definition: fvbaseproperties.hh:83
Data required to calculate a flux over a face.
Definition: fvbaseproperties.hh:166
Specify whether the storage terms use extensive quantities or not.
Definition: fvbaseproperties.hh:351
Calculates gradients of arbitrary quantities at flux integration points.
Definition: fvbaseproperties.hh:169
The class to create grid communication handles.
Definition: fvbaseproperties.hh:185
The secondary variables within a sub-control volume.
Definition: fvbaseproperties.hh:150
set the splices for the finite volume discretizations
Definition: fvbaseproperties.hh:56
Definition: fvbaseproperties.hh:118
The type of the local linearizer.
Definition: fvbaseproperties.hh:114
Definition: fvbaseproperties.hh:58
The type of the local residual function.
Definition: fvbaseproperties.hh:111
The maximum allowed number of timestep divisions for the Newton solver.
Definition: fvbaseproperties.hh:277
Specify the maximum size of a time integration [s].
Definition: fvbaseproperties.hh:262
Specify the minimal size of a time integration [s].
Definition: fvbaseproperties.hh:270
The directory to which simulation output ought to be written to.
Definition: fvbaseproperties.hh:217
A vector of primary variables within a sub-control volume.
Definition: fvbaseproperties.hh:147
The type of the problem.
Definition: fvbaseproperties.hh:98
Vector containing volumetric or areal rates of quantities.
Definition: fvbaseproperties.hh:133
Vector containing all primary variables of the grid.
Definition: fvbaseproperties.hh:143
std::tuple< GetSplicePropType< TypeTag, TTag::FvBaseDiscretization, Properties::LinearSolverSplice >, GetSplicePropType< TypeTag, TTag::FvBaseDiscretization, Properties::LocalLinearizerSplice > > type
Definition: fvbaseproperties.hh:63
Definition: propertysystem.hh:44
The class describing the stencil of the spatial discretization.
Definition: fvbaseproperties.hh:87
Definition: fvbasefdlocallinearizer.hh:58
The type tag for models based on the finite volume schemes.
Definition: fvbaseproperties.hh:49
std::tuple< VtkPrimaryVars, FvBaseNewtonMethod, ImplicitModel > InheritsFrom
Definition: fvbaseproperties.hh:49
Definition: parallelbicgstabbackend.hh:47
The OpenMP threads manager.
Definition: fvbaseproperties.hh:191
Definition: fvbaseproperties.hh:193
The history size required by the time discretization.
Definition: fvbaseproperties.hh:343
a tag to mark properties as undefined
Definition: propertysystem.hh:40
Definition: fvbaseproperties.hh:200
Specify whether to use volumetric residuals or not.
Definition: fvbaseproperties.hh:355
Property which provides a Vanguard (manages grids)
Definition: basicproperties.hh:89
The mapper to find the global index of a vertex.
Definition: fvbaseproperties.hh:325
Specify the format the VTK output is written to disk.
Definition: fvbaseproperties.hh:250