The simplest cycle: Mathematical model - Discretization - Solve

Consider

It takes a lot to create

- A model
- Discretization
- Solvers

What if the computer time to computer a **forecast for 1 day is more
than 1 day**?

Many **process in physics** are modelled as PDEs.

- Diffusion processes (heat transfer), electrostatics (circuit design) Poisson equation
- Sound propagation (noise on the streets, buildings) -- Helmholtz equation
- Electromagnetics -- fMRI (functional magnetic resonance imaging) - Maxwell equations
- Fluid flows -- Stokes / Navier Stokes equations

These are all partial differential equations!

PDE appear in:

- Financial math (Black Scholes equation)
- Chemical engineering (Smoluchowsky equation)
- Nanoworld (Schrodinger equation)

- Finite elements (what are they, how to use them for discretization, what software packages to use)
- Fast solvers for sparse matrices (i.e. direct solvers, multigrid solvers, incomplete LU factorizations, ...)
- Basic integral equations: why do we need integral equations (exterior problems)
- Fast multipole method/hierarchical matrices
- Oscillatory problems and basic electromagnetics
- Connection to practical problems

**Use software packages that do it for you**

- FEniCS project - beautiful finite element package, superhard to install
- FiPy - Finite volume solver
- deal.II - FEM solver, C++ (with some Python interface)
- DUNE - FEM solver

```
In [4]:
```from IPython.core.display import HTML
def css_styling():
styles = open("./styles/custom.css", "r").read()
return HTML(styles)
css_styling()

```
Out[4]:
```