version 3.11-dev
Loading...
Searching...
No Matches
pq1/fegriddiscretization.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#ifndef DUMUX_DISCRETIZATION_PQ1_FE_GRID_DISCRETIZATION_HH
13#define DUMUX_DISCRETIZATION_PQ1_FE_GRID_DISCRETIZATION_HH
14
15#include <dune/localfunctions/lagrange/lagrangelfecache.hh>
16
22
23#include "dofhelper.hh"
24
25namespace Dumux::Experimental {
26
31template<class GridView,
32 class ElementRule = Dumux::QuadratureRules::DuneQuadrature<2>,
33 class IntersectionRule = Dumux::QuadratureRules::DuneQuadrature<2>,
34 class BoundaryFaceRule = Dumux::QuadratureRules::DuneQuadrature<2>>
36{
37 using ElementQuadratureRule = ElementRule;
38 using IntersectionQuadratureRule = IntersectionRule;
39 using BoundaryFaceQuadratureRule = BoundaryFaceRule;
40};
41
46template<class GridView>
48{
49 using DofMapper = Dune::MultipleCodimMultipleGeomTypeMapper<GridView>;
50
52 static Dune::MCMGLayout layout()
53 {
54 return [](Dune::GeometryType gt, int /*dimgrid*/) {
55 return gt.dim() == 0;
56 };
57 }
58};
59
66template<class GridView,
67 class Scalar,
68 class MapperTraits = PQ1FEMapperTraits<GridView>,
69 class QuadratureTraits = PQ1FEQuadratureTraits<GridView>>
71: public MapperTraits, public QuadratureTraits
72{
74 using FeCache = Dune::LagrangeLocalFiniteElementCache<typename GridView::ctype, Scalar, GridView::dimension, 1>;
76
77 template<class GridDiscretization, bool enableCache>
79
80 // maximum number of dofs per element: 2^dim for cubes
81 static constexpr std::size_t maxNumElementDofs = (1 << GridView::dimension);
82};
83
88template<class Scalar,
89 class GV,
90 bool enableCaching = true,
93
94} // end namespace Dumux::Experimental
95
96#endif
Default class for the local finite element discretization. All schemes share the same structure....
Definition feelementdiscretization.hh:41
Default class for finite element grid discretizations.
Definition fem/fegriddiscretization.hh:42
Helper class providing degree of freedom information for the PQ1 Lagrange basis. The pq1 basis uses v...
Definition pq1/dofhelper.hh:32
Defines the default element and vertex mapper types.
Default class for the local finite element discretization. All schemes share the same structure....
Default class for finite element grid discretizations.
The available discretization methods in Dumux.
CVFE< CVFEMethods::PQ1 > PQ1
Definition method.hh:108
Definition assembly/assembler.hh:44
FEGridDiscretization< GV, Traits > PQ1FEGridDiscretization
Finite element grid discretization for the PQ1 FE method.
Definition pq1/fegriddiscretization.hh:92
Helper class providing degree of freedom information for the PQ1 Lagrange basis.
Quadrature rules over sub-control volumes and sub-control volume faces.
Definition defaultmappertraits.hh:23
The default traits for the PQ1 finite element grid discretization.
Definition pq1/fegriddiscretization.hh:72
static constexpr std::size_t maxNumElementDofs
Definition pq1/fegriddiscretization.hh:81
FEElementDiscretization< GridDiscretization, enableCache > LocalView
Definition pq1/fegriddiscretization.hh:78
Dune::LagrangeLocalFiniteElementCache< typename GridView::ctype, Scalar, GridView::dimension, 1 > FeCache
Definition pq1/fegriddiscretization.hh:74
Dumux::PQ1LagrangeDofHelper< GridView > DofHelper
Definition pq1/fegriddiscretization.hh:75
DiscretizationMethods::PQ1 DiscretizationMethod
Definition pq1/fegriddiscretization.hh:73
Mapper traits for PQ1 FE discretization (vertex dofs only).
Definition pq1/fegriddiscretization.hh:48
Dune::MultipleCodimMultipleGeomTypeMapper< GridView > DofMapper
Definition pq1/fegriddiscretization.hh:49
static Dune::MCMGLayout layout()
layout: only vertices (codim == dim)
Definition pq1/fegriddiscretization.hh:52
Quadrature rule traits for PQ1 FE discretization.
Definition pq1/fegriddiscretization.hh:36
IntersectionRule IntersectionQuadratureRule
Definition pq1/fegriddiscretization.hh:38
BoundaryFaceRule BoundaryFaceQuadratureRule
Definition pq1/fegriddiscretization.hh:39
ElementRule ElementQuadratureRule
Definition pq1/fegriddiscretization.hh:37