version 3.10-dev
fvproperties.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// SPDX-FileCopyrightInfo: Copyright © DuMux Project contributors, see AUTHORS.md in root folder
5// SPDX-License-Identifier: GPL-3.0-or-later
6//
13#ifndef DUMUX_FV_PROPERTIES_HH
14#define DUMUX_FV_PROPERTIES_HH
15
16#include <dune/istl/bvector.hh>
17#include <dune/istl/bcrsmatrix.hh>
18
22
24
25namespace Dumux {
26namespace Properties {
27
29// Create new type tags
30namespace TTag {
31struct FiniteVolumeModel { using InheritsFrom = std::tuple<GridProperties>; };
32} // end namespace TTag
33
35template<class TypeTag>
36struct GridVariables<TypeTag, TTag::FiniteVolumeModel>
37{
38private:
42public:
44};
45
47template<class TypeTag>
48struct EnableGridGeometryCache<TypeTag, TTag::FiniteVolumeModel> { static constexpr bool value = false; };
49
51template<class TypeTag>
52struct EnableGridVolumeVariablesCache<TypeTag, TTag::FiniteVolumeModel> { static constexpr bool value = false; };
53
55template<class TypeTag>
56struct EnableGridFluxVariablesCache<TypeTag, TTag::FiniteVolumeModel> { static constexpr bool value = false; };
57
58// TODO: bundle SolutionVector, JacobianMatrix
59// in LinearAlgebra traits
60
62template<class TypeTag>
63struct SolutionVector<TypeTag, TTag::FiniteVolumeModel> { using type = Dune::BlockVector<GetPropType<TypeTag, Properties::PrimaryVariables>>; };
64
66template<class TypeTag>
67struct JacobianMatrix<TypeTag, TTag::FiniteVolumeModel>
68{
69private:
72 using MatrixBlock = typename Dune::FieldMatrix<Scalar, numEq, numEq>;
73public:
75};
76
77} // namespace Properties
78} // namespace Dumux
79
80 #endif
The grid variable class for finite volume schemes storing variables on scv and scvf (volume and flux ...
Definition: discretization/fvgridvariables.hh:30
Definition: matrix.hh:20
Class to specify the type of a boundary.
Defines all properties used in Dumux.
The grid variable class for finite volume schemes, storing variables on scv and scvf (volume and flux...
Defines a type tags and some fundamental grid-related properties.
typename GetProp< TypeTag, Property >::type GetPropType
get the type alias defined in the property
Definition: propertysystem.hh:296
Definition: adapt.hh:17
typename Dune::BCRSMatrix< MatrixBlock > type
Definition: fvproperties.hh:74
Dune::BlockVector< GetPropType< TypeTag, Properties::PrimaryVariables > > type
Definition: fvproperties.hh:63
Definition: fvproperties.hh:31
std::tuple< GridProperties > InheritsFrom
Definition: fvproperties.hh:31