A Python-based solver for Laplace and Helmholtz scattering by multiple disjoint spheres, utilizing spherical harmonic decomposition and local multiple trace formulations.
Its main routines are for:
- Computing boundary integral operators evaluated and tested against spherical harmonics.
- Building Calderón operators.
- Solving transmission problems using the multiple trace formulation.
Tested with python 3.9
We recommend to install the package in its own python environment.
The package is available in PyPi.
For the minimum installation:
pip install biosspheres
For the installation including the dependencies necessary for running jupyter notebooks:
pip install biosspheres[all]
The biosspheres-notebook Docker image is configured to run biosspheres with Python 3.10. This can be done running:
docker run -v $(pwd):/root/shared -w "/root/shared" -p 8888:8888 pescapil/biosspheres-notebook
The file requirements.txt
has the list of required package for biosspheres to work,
they can be installed using pip install -r requirements.txt
See the Jupyter notebook examples in the folder "notebooks" to see how biosspheres can be used.
Read the file CONTRIBUTING.md
and also see the Jupyter notebooks.
Library for arrays, vectors and matrices in dense format, along with routines of linear algebra, norm computation, dot product, among others. It also computes functions like sine, cosine, exponential, etc.
Library for special functions, as the spherical Bessel and spherical Hankel functions.
Library for sparse arrays.
All Legendre's functions are computed using the package pyshtools (documentation of pyshtools).
Library used in the examples for plotting.