bempp.api.fmm.exafmm
¶
Main interface class to ExaFMM.
Module Contents¶
Classes¶
Interface to Exafmm. |
Functions¶
Clean up the FMM tmp directory. |
Attributes¶
- bempp.api.fmm.exafmm.FMM_TMP_DIR¶
- bempp.api.fmm.exafmm.cleanup_fmm_tmp()¶
Clean up the FMM tmp directory.
- class bempp.api.fmm.exafmm.ExafmmInterface(source_points, target_points, mode, wavenumber=None, depth=4, expansion_order=5, ncrit=400, precision='double', singular_correction=None)¶
Bases:
object
Interface to Exafmm.
- property number_of_source_points¶
Return number of source points.
- property number_of_target_points¶
Return number of target points.
- evaluate(vec, apply_singular_correction=True)¶
Evalute the Fmm.
- as_matrix()¶
Return matrix representation of Fmm.
- classmethod from_grid(source_grid, mode, wavenumber=None, target_grid=None, precision='double', parameters=None, device_interface=None)¶
Initialise an Exafmm instance from a given source and target grid.
Parameters¶
- source_gridGrid object
Grid for the source points.
- mode: string
Fmm mode. One of ‘laplace’, ‘helmholtz’, or ‘modified_helmholtz’
- wavenumberreal number
For Helmholtz or modified Helmholtz the wavenumber.
- target_gridGrid object
An optional target grid. If not provided the source and target grid are assumed to be identical.
- precisionstring
Either ‘single’ or ‘double’. Currently, the Fmm is always executed in double precision.
- parametersobject
A bempp parameters object. If not provided, the GLOBAL_PARAMETERS will be used.
- device_interfacestring
Either ‘numba’ or ‘opencl’. If not provided, the DEFAULT_DEVICE_INTERFACE will be used for the calculation of local interactions.