版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/mifangdebaise/article/details/85028063
dim = 1
(本质的情况)
令 dim = 1
,则例如 qr = QuadratureRule{dim, RefCube}(2)
中 2
即是 积分点
的order
:(dim = 1
前提下)
qr = QuadratureRule{dim, RefCube}(2)
返回2
个积分点
;qr = QuadratureRule{dim, RefCube}(3)
返回3
个积分点
;- …
qr = QuadratureRule{dim, RefCube}(k)
返回k
个积分点
;
默认的是 Gauss-legendre
积分,那么对 2k-1
阶多项式精确成立。
可以调用 qr = QuadratureRule{dim, RefCube}(:lobatto, 2)
来返回 Gauss-lobatto
积分点,那么对 2k-3
阶多项式精确成立。
同时我们再区别一下 RefCube
和 RefTetrahedron
,dim = 1
时,RefCube
为区间 [-1, 1]
; RefTetrahedron
则为区间 [0, 1]
,如下面测试:
julia> qr = QuadratureRule{dim, RefCube}(:lobatto,2)
QuadratureRule{1,RefCube,Float64}([1.0, 1.0], Tensor{1,1,Float64,1}[[-1.0], [1.0]])
julia> qr = QuadratureRule{dim, RefTetrahedron}(:lobatto,2)
QuadratureRule{1,RefTetrahedron,Float64}([0.5, 0.5], Tensor{1,1,Float64,1}[[1.11022e-16], [1.0]])
dim = 2
qr = QuadratureRule{dim, RefCube}(2)
返回4
个积分点
;qr = QuadratureRule{dim, RefCube}(3)
返回9
个积分点
;- …
qr = QuadratureRule{dim, RefCube}(k)
返回k^2
个积分点
;
julia> dim = 2;
julia> qr = QuadratureRule{dim, RefCube}(6);
julia> size(qr.points)
(36,)
需要注意一点的是用 RefTetrahedron
时,order k
不再返回 k^2
个 积分点
,
julia> dim = 2;
julia> qr = QuadratureRule{dim, RefTetrahedron}(7);
julia> size(qr.points)
(13,)
但同样 order k
Gauss-legendre
积分,对 2k-1
阶多项式精确成立;Gauss-lobatto
积分点,对 2k-3
阶多项式精确成立。