OGS
IntegrationGaussLegendrePrism.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) OpenGeoSys Community (opengeosys.org)
2// SPDX-License-Identifier: BSD-3-Clause
3
4#pragma once
5
9
10namespace NumLib
11{
16{
17public:
23 explicit IntegrationGaussLegendrePrism(unsigned const order)
24 {
25 this->setIntegrationOrder(order);
26 }
27
29 void setIntegrationOrder(unsigned const order);
30
32 unsigned getIntegrationOrder() const { return _order; }
33
35 unsigned getNumberOfPoints() const { return _n_sampl_pt; }
36
37 // clang-format off
39 // clang-format on
40 MathLib::WeightedPoint getWeightedPoint(unsigned const igp) const
41 {
43 }
44
45 // clang-format off
47 // clang-format on
48 static MathLib::WeightedPoint getWeightedPoint(unsigned const order,
49 unsigned const igp);
50
51 template <typename Method>
52 static MathLib::WeightedPoint getWeightedPoint(unsigned const igp)
53 {
54 return MathLib::WeightedPoint(Method::X[igp], Method::W[igp]);
55 }
56
63 static unsigned getNumberOfPoints(unsigned const order);
64
65private:
66 unsigned _order{2};
67 unsigned _n_sampl_pt{0};
68};
69
70} // namespace NumLib
void setIntegrationOrder(unsigned const order)
Change the integration order.
unsigned getIntegrationOrder() const
return current integration order.
static MathLib::WeightedPoint getWeightedPoint(unsigned const igp)
unsigned getNumberOfPoints() const
return the number of sampling points
MathLib::WeightedPoint getWeightedPoint(unsigned const igp) const