# chunkie examples An interactive companion to [chunkie](https://github.com/fastalgorithms/chunkie) — a MATLAB package for boundary integral equations in two dimensions. Everything here runs in your browser through [numbl](https://numbl.org): pick a script on the left and click **Run**. Every script begins with ```matlab mip load --install magland/magland/chunkie ``` which fetches chunkie on first use. ## Geometry chunkie represents a curve as a `chunker`: a panelization into high-order Gauss-Legendre chunks. - [`chunkie_ex01_circle.m`](chunkie_ex01_circle.m) — chunk up a circle; plot points and normals. - [`chunkie_ex02_bymode.m`](chunkie_ex02_bymode.m) — a star-shaped curve from a Fourier series for the radius. - [`chunkie_ex03_starfish.m`](chunkie_ex03_starfish.m) — the classic starfish. - [`chunkie_ex04_chunkerfit.m`](chunkie_ex04_chunkerfit.m) — fit a smooth curve to sample points (`chunkerfit`). - [`chunkie_ex05_barbell.m`](chunkie_ex05_barbell.m) — a rounded polygon (`chunkerpoly`). - [`chunkie_ex06_combined.m`](chunkie_ex06_combined.m) — transform and merge several curves into one multi-component domain. - [`chunkie_ex07_interior.m`](chunkie_ex07_interior.m) — find which points lie inside a domain (`chunkerinterior`). ## Solving integral equations Each PDE is recast as a boundary integral equation, discretized with `chunkermat`, solved with GMRES, and evaluated on a grid with `chunkerkerneval`. - [`chunkie_ex00_starfish.m`](chunkie_ex00_starfish.m) — Helmholtz scattering off a starfish (combined-field representation). - [`chunkie_ex08_laplace.m`](chunkie_ex08_laplace.m) — a Laplace Neumann problem (single-layer with nullspace regularization). - [`chunkie_ex09_helmholtz.m`](chunkie_ex09_helmholtz.m) — sound-soft Helmholtz scattering off a peanut. - [`chunkie_ex10_stokes.m`](chunkie_ex10_stokes.m) — Stokes flow through a multiply-connected pipe. ## How it's deployed On every push to `main`, the workflow in [`.github/workflows/deploy.yml`](.github/workflows/deploy.yml) bundles these files with the numbl browser IDE and publishes the result to GitHub Pages. Edit `numbl-project.json` to change the title or which file opens first.