Peano
Loading...
Searching...
No Matches
quadrature.py
Go to the documentation of this file.
1
"""Quadrature rules"""
2
import
numpy
as
np
3
from
numpy.polynomial.legendre
import
leggauss
# To calculate the Gauss-Legendre points and weights
4
5
6
class
Quadrature
:
7
"""Abstract base class for quadrature on the reference interval [-1,+1]"""
8
9
def
__init__
(self, npoints):
10
"""Initialise object
11
12
:arg npoints: number of quadrature points"""
13
self.
npoints
= npoints
14
15
16
class
GaussianQuadrature
(
Quadrature
):
17
"""Gaussian quadrature on the reference interval [-1,+1]"""
18
19
def
__init__
(self, npoints):
20
"""Initialise object
21
22
:arg npoints: number of quadrature points"""
23
super().
__init__
(npoints)
24
self.
points
, self.
weights
= leggauss(npoints)
25
26
27
class
Quadrature2d
:
28
"""Product of two 1d quadrature rules"""
29
30
def
__init__
(self, quadrature_1d):
31
"""Initialise object
32
33
:arg underlying 1d quadrature
34
"""
35
quadrature = quadrature_1d
36
self.
weights
= [
37
w1 * w2
for
w1
in
quadrature.weights
for
w2
in
quadrature.weights
38
]
39
self.
points
= [
40
np.asarray([xi, eta])
for
xi
in
quadrature.points
for
eta
in
quadrature.points
41
]
42
43
# N = 3
44
# Q = GaussianQuadrature(N)
45
# Q = Quadrature2d(Q)
46
# print(f'{N}: {Q.points}, {Q.weights}')
47
# pass
mghype.api.matrixgenerators.blockmatrix.quadrature.GaussianQuadrature
Gaussian quadrature on the reference interval [-1,+1].
Definition
quadrature.py:16
mghype.api.matrixgenerators.blockmatrix.quadrature.GaussianQuadrature.points
points
Definition
quadrature.py:24
mghype.api.matrixgenerators.blockmatrix.quadrature.GaussianQuadrature.weights
weights
Definition
quadrature.py:24
mghype.api.matrixgenerators.blockmatrix.quadrature.GaussianQuadrature.__init__
__init__(self, npoints)
Initialise object.
Definition
quadrature.py:19
mghype.api.matrixgenerators.blockmatrix.quadrature.Quadrature2d
Product of two 1d quadrature rules.
Definition
quadrature.py:27
mghype.api.matrixgenerators.blockmatrix.quadrature.Quadrature2d.weights
weights
Definition
quadrature.py:36
mghype.api.matrixgenerators.blockmatrix.quadrature.Quadrature2d.points
points
Definition
quadrature.py:39
mghype.api.matrixgenerators.blockmatrix.quadrature.Quadrature2d.__init__
__init__(self, quadrature_1d)
Initialise object.
Definition
quadrature.py:30
mghype.api.matrixgenerators.blockmatrix.quadrature.Quadrature
Abstract base class for quadrature on the reference interval [-1,+1].
Definition
quadrature.py:6
mghype.api.matrixgenerators.blockmatrix.quadrature.Quadrature.__init__
__init__(self, npoints)
Initialise object.
Definition
quadrature.py:9
mghype.api.matrixgenerators.blockmatrix.quadrature.Quadrature.npoints
npoints
Definition
quadrature.py:13
src
mghype
api
matrixgenerators
blockmatrix
quadrature.py
Generated on Wed Nov 4 2026 08:20:47 for Peano by
1.9.8