@@ -46,9 +46,13 @@ function _integral(
4646 # Pass through to dim-specific workers in next section of this file
4747 N = Meshes. paramdim (geometry)
4848 if N == 1
49- return _integral_gk_1d (f, geometry, rule; kwargs... )
49+ integrand (t) = f (geometry (t)) * differential (geometry, (t,), diff_method)
50+ return QuadGK. quadgk (integrand, zero (FP), one (FP); rule. kwargs... )[1 ]
5051 elseif N == 2
51- return _integral_gk_2d (f, geometry, rule; kwargs... )
52+ Base. depwarn (" Use `HAdaptiveCubature` instead of nested `GaussKronrod` rules." , :integral )
53+ integrand (u, v) = f (geometry2d (u, v)) * differential (geometry2d, (u, v), diff_method)
54+ ∫₁ (v) = QuadGK. quadgk (u -> integrand (u, v), zero (FP), one (FP); rule. kwargs... )[1 ]
55+ return QuadGK. quadgk (v -> ∫₁ (v), zero (FP), one (FP); rule. kwargs... )[1 ]
5256 else
5357 _error_unsupported_combination (" geometry with more than two parametric dimensions" ,
5458 " GaussKronrod" )
@@ -105,30 +109,3 @@ function _integral(
105109 # Reapply units
106110 return value .* integrandunits
107111end
108-
109- # ###############################################################################
110- # Specialized GaussKronrod Methods
111- # ###############################################################################
112-
113- function _integral_gk_1d (
114- f,
115- geometry,
116- rule:: GaussKronrod ;
117- FP:: Type{T} = Float64,
118- diff_method:: DM = _default_method (geometry)
119- ) where {DM <: DifferentiationMethod , T <: AbstractFloat }
120- integrand (t) = f (geometry (t)) * differential (geometry, (t,), diff_method)
121- return QuadGK. quadgk (integrand, zero (FP), one (FP); rule. kwargs... )[1 ]
122- end
123-
124- function _integral_gk_2d (
125- f,
126- geometry2d,
127- rule:: GaussKronrod ;
128- FP:: Type{T} = Float64,
129- diff_method:: DM = _default_method (geometry2d)
130- ) where {DM <: DifferentiationMethod , T <: AbstractFloat }
131- integrand (u, v) = f (geometry2d (u, v)) * differential (geometry2d, (u, v), diff_method)
132- ∫₁ (v) = QuadGK. quadgk (u -> integrand (u, v), zero (FP), one (FP); rule. kwargs... )[1 ]
133- return QuadGK. quadgk (v -> ∫₁ (v), zero (FP), one (FP); rule. kwargs... )[1 ]
134- end
0 commit comments