API Reference
CorrectionFactorMatrixMethod — Module
CorrectionFactorMatrixMethodMatrix-free boundary-element operators that combine a fast multipole approximation of the far interactions with directly assembled near-field corrections.
The far field is evaluated by a fast multipole method, while the near interactions are assembled with the boundary-element quadrature and corrected for the part already represented by the FMM:
A x ≈ A_fmm x + (A_near - A_fmm,near) xThe generic correction and linear-map machinery lives in the core package; support for concrete operators and spaces is provided through package extensions for BEAST, CompScienceMeshes, and ExaFMMt.
The main entry point is CFMM.assemble; see also PetrovGalerkinCFMM and FMMFunctor.
CorrectionFactorMatrixMethod.CFMM — Module
CFMMHigh-level assembly interface for correction-factor FMM operators.
CorrectionFactorMatrixMethod.FMMFunctor — Method
FMMFunctor(; p=8, ncrit=50)Configure the fast multipole method used for the far interactions.
p is the expansion order and ncrit the critical leaf size, i.e. the maximum number of quadrature points per box. A larger p increases accuracy and cost, while ncrit trades tree depth against the size of the direct near-field blocks.
The returned functor is passed as the fmmfunctor keyword to CFMM.assemble and PetrovGalerkinCFMM; its default targets the ExaFMMt backend.
CorrectionFactorMatrixMethod.PetrovGalerkinCFMM — Method
PetrovGalerkinCFMM(operator, testspace, trialspace, tree; kwargs...)Construct a matrix-free Petrov-Galerkin operator whose far interactions are evaluated by a fast multipole method and whose near interactions are corrected by direct quadrature.
The concrete operator and space methods are supplied by package extensions. Loading BEAST, CompScienceMeshes, and ExaFMMt enables the supported boundary-element implementation.
CorrectionFactorMatrixMethod.CFMM.assemble — Method
assemble(operator, testspace, trialspace; kwargs...)Assemble a matrix-free correction-factor FMM operator.
By default, an H2Trees.TwoNTree is constructed with a scale-dependent minimum box size and a target leaf occupancy equal to the FMM ncrit setting. Pass tree to use an existing tree, or override minhalfsize, testminvalues, and trialminvalues.
All remaining keywords are forwarded to PetrovGalerkinCFMM.