version 3.11-dev
Loading...
Searching...
No Matches
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-FileCopyrightText: Copyright © DuMux Project contributors, see AUTHORS.md in root folder
5// SPDX-License-Identifier: GPL-3.0-or-later
6//
12
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 Transition::UseVariables<TypeTag, TTag::FiniteVolumeModel> { static constexpr bool value = false; };
49
51template<class TypeTag>
52struct EnableGridGeometryCache<TypeTag, TTag::FiniteVolumeModel> { static constexpr bool value = false; };
53
55template<class TypeTag>
56struct EnableGridVolumeVariablesCache<TypeTag, TTag::FiniteVolumeModel> { static constexpr bool value = false; };
57
59template<class TypeTag>
60struct EnableGridFluxVariablesCache<TypeTag, TTag::FiniteVolumeModel> { static constexpr bool value = false; };
61
62// TODO: bundle SolutionVector, JacobianMatrix
63// in LinearAlgebra traits
64
66template<class TypeTag>
67struct SolutionVector<TypeTag, TTag::FiniteVolumeModel> { using type = Dune::BlockVector<GetPropType<TypeTag, Properties::PrimaryVariables>>; };
68
70template<class TypeTag>
71struct JacobianMatrix<TypeTag, TTag::FiniteVolumeModel>
72{
73private:
76 using MatrixBlock = typename Dune::FieldMatrix<PrimaryVariable, numEq, numEq>;
77public:
79};
80
81} // namespace Properties
82} // namespace Dumux
83
84 #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
Type tag for numeric models.
Definition grid.hh:24
The energy balance equation for a porous solid.
Definition common/properties.hh:26
Definition adapt.hh:17
FVGridVariables< GG, GVV, GFVC > type
Definition fvproperties.hh:43
typename Dune::BCRSMatrix< MatrixBlock > type
Definition fvproperties.hh:78
Dune::BlockVector< GetPropType< TypeTag, Properties::PrimaryVariables > > type
Definition fvproperties.hh:67
Definition fvproperties.hh:31
std::tuple< GridProperties > InheritsFrom
Definition fvproperties.hh:31
Whether the box, PQ1-bubble and face-centered diamond schemes assemble with the variables per local d...
Definition common/properties.hh:197