A Python-based solver for Laplace and acoustic 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
An example installation using conda:
- Clone the repository.
- Create a new conda environment (with python=3.9) and activate it.
- Add conda-forge channel if not added
conda config --add channels conda-forge
- cd to local directory.
- Install the packages in requirements.txt using
conda install --file requirements.txt
- This should install the package
pyshtools==4.10.4
along with its dependencies. See its official documentation if not installed correctly (Install pyshtools).
- This should install the package
- Install pip (if not installed)
conda install pip
- Install biosspheres
pip install --editable .
If the first example does not work, an installation using as a reference a list of packages installed in a successful installation could work. See the files:
- env_example_1.txt
- env_biosspheres.txt
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
See the Jupyter notebook examples in the folder "notebooks" to see how biosspheres can be used.
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.