{"cells": [{"cell_type": "markdown", "metadata": {}, "source": ["# Bempp acoustics exercises\n", "\n", "This repository contains tutorials and exercises designed to show you how to use Bempp to solve problems in acoustics.\n", "These materials were designed to be part of the [EAA / UKAN Computational Acoustics Summer School](https://acoustics.ac.uk/events/4468/).\n", "They have all been created in [Jupyter Notebooks](https://jupyter.org/), which allow you to see code, explanation and results all alongside.\n", "\n", "The [tutorials](tutorials/) are complete notebooks that aim to demonstrate how to approach various types of problems using Bempp. The [exercises](exercises/) invite you to develop the notebooks to add new functionality, thereby developing your experitise in using Bempp.\n", "\n", "## Contents\n", "- [Instructions for installing Bempp](tutorials/0_install.ipynb)\n", "- Using the null field approach\n", "  - [Tutorial 1: Scattering from a rigid sphere using a null field approach](tutorials/1_sphere_scatterer_null_field.ipynb)\n", "  - [Exercise 1: Uniqueness](exercises/1_uniqueness.ipynb)\n", "- Direct formulations\n", "  - [Tutorial 2: Scattering from a rigid sphere using a direct formulation](tutorials/2_sphere_scatterer_direct.ipynb)\n", "  - [Exercise 2: Scattering from a pressure-release sphere](exercises/2_sphere_scatterer.ipynb)\n", "- Checking performance\n", "  - [Tutorial 3: Convergence rates](tutorials/3_convergence.ipynb)\n", "  - [Exercise 3: Iteration counts](exercises/3_iterations.ipynb)\n", "- Impedence boundary conditions\n", "  - [Tutorial 4: Scattering from a impedence sphere](tutorials/4_impedence_scattering.ipynb)\n", "  - [Exercise 4: An inverse problem](exercises/4_inverse_problem.ipynb)\n", "- More example applications\n", "  - [Tutorial 5: Loudspeaker radiation](tutorials/5_loudspeaker.ipynb)\n", "  - [Tutorial 6: FEM-BEM coupling with FEniCSx](tutorials/6_fenicsx.ipynb)\n", "- [Further information](tutorials/7_more.ipynb)\n", "\n", "\n", "## Please help us correct errors by reporting them:\n", "If you spot an error in these tutorials and exercises, please report it\n", "on the [GitHub issue tracker](https://github.com/mscroggs/bempp-acoustic-tutorials/issues).\n", "You can also use the issue tracker to suggest any changes that you think would help\n", "to make these tutorials and exercises clearer.\n", "\n", "## Notation differences between these tutorials and the Bempp documentation\n", "The bempp website includes a [handbook](https://bempp.com/handbook/index.html), which gives an introduction to how the library operates, and [automatically generated full Python documentation](https://bempp-cl.readthedocs.io/en/latest/), which is useful for looking up specific details once you already understand the main principles for using Bempp. But that documentation uses a different operator notation to what is used in these tutorials, which follow the Jonathan Hargreaves's slides from the summer school.\n", "\n", "Here is a summary of the differences:\n", "\n", "Operator | Notation used herein | Notation used in Bempp documentation\n", "-------- | -------------------- | ------------------------------------\n", "Identity | I                    | Id\n", "Single layer | S                | V\n", "Double layer | D                | K\n", "Adjoint double layer | A        | K'\n", "Hypersingular | H               | W\n"]}], "metadata": {"kernelspec": {"display_name": "Python 3", "language": "python", "name": "python3"}, "language_info": {"codemirror_mode": {"name": "ipython", "version": 3}, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.5"}}, "nbformat": 4, "nbformat_minor": 4}