Juliacon 2024

Solving integral equations with Inti.jl
07-10, 11:00–11:30 (Europe/Amsterdam), For Loop (3.2)

While partial differential equations dominate the computational modeling
landscape, integral equations provide a powerful and often overlooked
alternative for addressing a diverse array of physical phenomena. In this talk
we introduce Inti.jl, a new package to accurately and efficiently
solve integral equations in two- and three-dimensions. Inti.jl is designed
to be user-friendly and extensible, and provides tools for the discretization,
solution, and post-processing of integral equations.


Despite their potential, integral equation methods face underutilization
compared to popular methods like finite elements and finite differences. This is
largely attributed to the challenges associated with the discretization of the
integral operators ---which usually contain singular kernels---, and to the
difficulties related to the efficient approximation of the dense linear systems
that arise. We believe such challenges have hindered the development of
user-friendly and extensible libraries for integral equations, further limiting
their adoption.

In this presentation, we introduce Inti.jl, a Julia package crafted to solve
volume and boundary integral equations. Inti.jl provides the fundamental
building blocks for discretizing and manipulating various commonly used integral
operators appearing in mathematical physics, such as the single- and
double-layer operators, as well as volume potentials, for a variety of problems
of physical interest (e.g. acoustic scattering, Stokes flow, linear elasticity).

Inti.jl is designed to be user-friendly and extensible, and at present it
already offers a wide range of functionalities, including:

  • Integration with Gmsh for the pre- and post-processing capabilities
  • A unified API for the use of modern acceleration techniques such as Fast
    Multipole Method
    and ℋ-matrices by wrapping external packages
  • Specialized integration routines to handle the singular kernels often
    appearing in integral equation methods

Our main goal with this package is to bridge the gap between researchers who
develop efficient methods for solving integral equations, and the potential
users of such methods who may not have the necessary mathematical or
computational background to implement the methods themselves.