/vines

Volume INtegral Equation Solver

Primary LanguagePythonMIT LicenseMIT

Volume INtegral Equation Solver (VINES)

VINES is a suite of Python codes for solving volume integral equation formulations of acoustic and electromagnetic scattering problems.

The techniques employed are based on uniform (voxel) spatial discretizations, thus enabling acceleration via the fast-Fourier transform. Furthermore, we include recent preconditioning techniques that yield large reductions in iterative solve times.

The particular scattering scenarios considered in this suite are the following:

  • Light scattering by atmospheric ice particles
  • Light propagation within silicon photonics components
  • Acoustic scattering by simple shapes (2D) and (3D)
  • High-intensity focused ultrasound in the body

Dependencies

These Python libraries are required to run VINES:

  • numba
  • scipy
  • pyfftw
  • numpy
  • pickle-mixin
  • matplotlib

For the notebook examples, a working LaTeX installation is required to produce the plots.

To do list

  • Complete transducer_nonlinear_scatter.py
  • Include second operator to account for smooth density contrast using https://github.com/maroba/findiff python package
  • Neaten

Bibliography

This work is partially discussed in the following publications: