version 3.11-dev
Loading...
Searching...
No Matches
pq2/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_PQ2_FE_GRID_DISCRETIZATION_HH
13#define DUMUX_DISCRETIZATION_PQ2_FE_GRID_DISCRETIZATION_HH
14
15#include <dune/localfunctions/lagrange/lagrangelfecache.hh>
16
24
25#include "dofhelper.hh"
26
27namespace Dumux::Experimental {
28
33template<class GridView,
34 class ElementRule = Dumux::QuadratureRules::DuneQuadrature<4>,
35 class IntersectionRule = Dumux::QuadratureRules::DuneQuadrature<4>,
36 class BoundaryFaceRule = Dumux::QuadratureRules::DuneQuadrature<4>>
38{
39 using ElementQuadratureRule = ElementRule;
40 using IntersectionQuadratureRule = IntersectionRule;
41 using BoundaryFaceQuadratureRule = BoundaryFaceRule;
42};
43
50template<class GridView,
51 class Scalar,
52 class MapperTraits = Dumux::PQ2MapperTraits<GridView>,
53 class QuadratureTraits = PQ2FEQuadratureTraits<GridView>>
55: public MapperTraits, public QuadratureTraits
56{
58 using FeCache = Dune::LagrangeLocalFiniteElementCache<typename GridView::ctype, Scalar, GridView::dimension, 2>;
60
61 template<class GridDiscretization, bool enableCache>
63
64 // The maximum values correspond to cubes
65 static constexpr std::size_t maxNumElementDofs = []()
66 {
67 if constexpr (GridView::dimension == 1)
68 return 3;
69 else if constexpr (GridView::dimension == 2)
70 return 9;
71 else if constexpr (GridView::dimension == 3)
72 return 27;
73 }();
74};
75
80template<class Scalar,
81 class GV,
82 bool enableCaching = true,
83 class Traits = PQ2FEDefaultGridDiscretizationTraits<GV, Scalar>>
85
86} // end namespace Dumux::Experimental
87
88#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
Defines the default element and vertex mapper types.
Base class for the finite volume geometry vector for the pq2 method This builds up the sub control vo...
Default Dof helper for finite-element discretizations providing dof-related utility functions....
Default class for the local finite element discretization. All schemes share the same structure....
Default class for finite element grid discretizations.
FEGridDiscretization< GV, Traits > PQ2FEGridDiscretization
Finite element grid discretization for the PQ2 method.
Definition pq2/fegriddiscretization.hh:84
The available discretization methods in Dumux.
CVFE< CVFEMethods::PQ2 > PQ2
Definition method.hh:132
Definition assembly/assembler.hh:44
Lightweight DOF helper for order-2 Lagrange elements.
Quadrature rules over sub-control volumes and sub-control volume faces.
The default traits for the PQ2 finite element grid discretization.
Definition pq2/fegriddiscretization.hh:56
DiscretizationMethods::PQ2 DiscretizationMethod
Definition pq2/fegriddiscretization.hh:57
FEElementDiscretization< GridDiscretization, enableCache > LocalView
Definition pq2/fegriddiscretization.hh:62
PQ2LagrangeDofHelper< GridView > DofHelper
Definition pq2/fegriddiscretization.hh:59
static constexpr std::size_t maxNumElementDofs
Definition pq2/fegriddiscretization.hh:65
Dune::LagrangeLocalFiniteElementCache< typename GridView::ctype, Scalar, GridView::dimension, 2 > FeCache
Definition pq2/fegriddiscretization.hh:58
Quadrature rule traits for PQ2 FE discretization.
Definition pq2/fegriddiscretization.hh:38
ElementRule ElementQuadratureRule
Definition pq2/fegriddiscretization.hh:39
BoundaryFaceRule BoundaryFaceQuadratureRule
Definition pq2/fegriddiscretization.hh:41
IntersectionRule IntersectionQuadratureRule
Definition pq2/fegriddiscretization.hh:40
DOF index and position helper for order-2 Lagrange discretizations.
Definition pq2/dofhelper.hh:36
Definition discretization/pq2/fvgridgeometry.hh:66