Dune Core Modules (unstable)
quadraturerules.hh
Go to the documentation of this file.
3 // SPDX-FileCopyrightInfo: Copyright © DUNE Project contributors, see file LICENSE.md in module root
37 // class specialization of standard classes that allow to use structured bindings on QuadraturePoint
40 struct tuple_size<Dune::QuadraturePoint<ct,dim>> : public std::integral_constant<std::size_t,2> {};
43 struct tuple_element<0, Dune::QuadraturePoint<ct,dim>> { using type = Dune::FieldVector<ct, dim>; };
128 namespace QuadratureType {
129 enum Enum {
139 GaussLegendre = 0,
146 GaussJacobi_1_0 = 1,
153 GaussJacobi_2_0 = 2,
166 GaussJacobi_n_0 = 3,
174 GaussLobatto = 4,
182 GaussRadauLeft = 5,
191 GaussRadauRight = 6,
273 DUNE_EXPORT const QuadratureRule& _rule(const GeometryType& t, int p, QuadratureType::Enum qt=QuadratureType::GaussLegendre) const
287 auto& [ onceFlagGeometryType, quadratureOrders ] = geometryTypes[LocalGeometryTypeIndex::index(t)];
324 static const QuadratureRule& rule(const GeometryType& t, int p, QuadratureType::Enum qt=QuadratureType::GaussLegendre)
330 static const QuadratureRule& rule(const GeometryType::BasicType t, int p, QuadratureType::Enum qt=QuadratureType::GaussLegendre)
Unique label for each type of entities that can occur in DUNE grids.
Definition: type.hh:114
constexpr bool isVertex() const
Return true if entity is a vertex.
Definition: type.hh:279
constexpr unsigned int dim() const
Return dimension of the type.
Definition: type.hh:360
BasicType
Each entity can be tagged by one of these basic types plus its space dimension.
Definition: type.hh:120
constexpr unsigned int id() const
Return the topology id of the type.
Definition: type.hh:365
static constexpr std::size_t size(std::size_t dim)
Compute total number of geometry types for the given dimension.
Definition: typeindex.hh:61
static constexpr std::size_t index(const GeometryType >)
Compute the index for the given geometry type within its dimension.
Definition: typeindex.hh:73
Exception thrown if a desired QuadratureRule is not available, because the requested order is to high...
Definition: quadraturerules.hh:55
Dune::FieldVector< ct, dim > Vector
Type used for the position of a quadrature point.
Definition: quadraturerules.hh:75
ct Field
Number type used for coordinates and quadrature weights.
Definition: quadraturerules.hh:72
const Vector & position() const
return local coordinates of integration point i
Definition: quadraturerules.hh:84
constexpr static int dimension
Dimension of the integration domain.
Definition: quadraturerules.hh:69
const ct & weight() const
return weight associated with integration point i
Definition: quadraturerules.hh:90
QuadraturePoint(const Vector &x, ct w)
set up quadrature of given order in d dimensions
Definition: quadraturerules.hh:78
Factory class for creation of quadrature rules, depending on GeometryType, order and QuadratureType.
Definition: quadraturerules.hh:368
virtual GeometryType type() const
return type of element
Definition: quadraturerules.hh:238
QuadratureRule(GeometryType t, int order)
Constructor for a given geometry type and a given quadrature order.
Definition: quadraturerules.hh:226
ct CoordType
The type used for coordinates.
Definition: quadraturerules.hh:232
QuadratureRule()
Default constructor.
Definition: quadraturerules.hh:219
QuadratureRule(GeometryType t)
Constructor for a given geometry type. Leaves the quadrature order invalid
Definition: quadraturerules.hh:223
std::vector< QuadraturePoint< ct, dim > >::const_iterator iterator
Definition: quadraturerules.hh:243
A container for all quadrature rules of dimension dim
Definition: quadraturerules.hh:258
static unsigned maxOrder(const GeometryType &t, QuadratureType::Enum qt=QuadratureType::GaussLegendre)
maximum quadrature order for given geometry type and quadrature type
Definition: quadraturerules.hh:317
static const QuadratureRule & rule(const GeometryType &t, int p, QuadratureType::Enum qt=QuadratureType::GaussLegendre)
select the appropriate QuadratureRule for GeometryType t and order p
Definition: quadraturerules.hh:324
static const QuadratureRule & rule(const GeometryType::BasicType t, int p, QuadratureType::Enum qt=QuadratureType::GaussLegendre)
select the appropriate QuadratureRule for GeometryType t and order p
Definition: quadraturerules.hh:330
A few common exception classes.
Implements a vector constructed from a given type representing a field and a compile-time given size.
bool gt(const T &first, const T &second, typename EpsilonType< T >::Type epsilon)
test if first greater than second
Definition: float_cmp.cc:158
constexpr auto max
Function object that returns the greater of the given values.
Definition: hybridutilities.hh:484
@ GaussJacobi_n_0
Gauss-Legendre rules with .
Definition: quadraturerules.hh:166
@ GaussJacobi_2_0
Gauss-Legendre rules with .
Definition: quadraturerules.hh:153
@ GaussRadauRight
Gauss-Radau rules including the right endpoint.
Definition: quadraturerules.hh:191
@ GaussJacobi_1_0
Gauss-Jacobi rules with .
Definition: quadraturerules.hh:146
@ GaussLobatto
Gauss-Lobatto rules.
Definition: quadraturerules.hh:174
@ GaussRadauLeft
Gauss-Radau rules including the left endpoint.
Definition: quadraturerules.hh:182
@ GaussLegendre
Gauss-Legendre rules (default)
Definition: quadraturerules.hh:139
Standard Dune debug streams.
A unique label for each type of element that can occur in a grid.
Helper classes to provide indices for geometrytypes for use in a vector.
Definition of macros controlling symbol visibility at the ABI level.
#define DUNE_EXPORT
Export a symbol as part of the public ABI.
Definition: visibility.hh:20
|
Legal Statements / Impressum |
Hosted by TU Dresden |
generated with Hugo v0.80.0
(Apr 27, 22:29, 2024)