IntegralEquations / Inti.jl

Other
16 stars 2 forks source link

FMM acceleration in Inti.adj_double_layer_hypersingular #32

Closed caperezar closed 8 months ago

caperezar commented 8 months ago

I encountered the following error while using FMM to accelerate the evaluation of adjoint double layer and hypersingular operators in 2D:

ERROR: integral operator not supported by Inti's FMMLIB2D wrapper
Stacktrace:
 [1] error(s::String)
   @ Base ./error.jl:35
 [2] _assemble_fmm2d(iop::Inti.IntegralOperator{ComplexF64, Inti.AdjointDoubleLayerKernel{ComplexF64, Inti.Helmholtz{2, Float64}}, Inti.Quadrature{2, Float64}, Inti.Quadrature{2, Float64}}; atol::Float64)
   @ IntiFMMLIB2DExt ~/Inti/ext/IntiFMMLIB2DExt.jl:147
 [3] assemble_fmm(::Inti.IntegralOperator{ComplexF64, Inti.AdjointDoubleLayerKernel{ComplexF64, Inti.Helmholtz{2, Float64}}, Inti.Quadrature{2, Float64}, Inti.Quadrature{2, Float64}}; kwargs::Base.Pairs{Symbol, Float64, Tuple{Symbol}, NamedTuple{(:atol,), Tuple{Float64}}})
   @ Inti ~/Inti/src/nystrom.jl:112
 [4] single_double_layer(; pde::Inti.Helmholtz{2, Float64}, target::Inti.Quadrature{2, Float64}, source::Inti.Quadrature{2, Float64}, compression::NamedTuple{(:method, :tol), Tuple{Symbol, Float64}}, correction::NamedTuple{(:method, :maxdist), Tuple{Symbol, Float64}}, derivative::Bool)
   @ Inti ~/Inti/src/api.jl:62
 [5] single_double_layer
   @ ~/Inti/src/api.jl:40 [inlined]
 [6] #adj_double_layer_hypersingular#141
   @ ~/Inti/src/api.jl:119 [inlined]
 [7] top-level scope
   @ ~/Inti/docs/src/examples/transmission.jl:83