/ concept-collection / numbl-chunkie
Sign in
concept-collection / numbl-chunkie
numbl-chunkie / README.md
56 lines · 2.2 KBCodeBlameHistory
75430cbInitial commit: chunkie examples for numblJeremy Magland 1# chunkie examples
3An interactive companion to
4[chunkie](https://github.com/fastalgorithms/chunkie) — a MATLAB package for
5boundary integral equations in two dimensions. Everything here runs in your
6browser through [numbl](https://numbl.org): pick a script on the left and click
7**Run**.
9Every script begins with
11```matlab
12mip load --install magland/magland/chunkie
13```
15which fetches chunkie on first use.
17## Geometry
19chunkie represents a curve as a `chunker`: a panelization into high-order
20Gauss-Legendre chunks.
22- [`chunkie_ex01_circle.m`](chunkie_ex01_circle.m) — chunk up a circle; plot
23 points and normals.
24- [`chunkie_ex02_bymode.m`](chunkie_ex02_bymode.m) — a star-shaped curve from a
25 Fourier series for the radius.
26- [`chunkie_ex03_starfish.m`](chunkie_ex03_starfish.m) — the classic starfish.
27- [`chunkie_ex04_chunkerfit.m`](chunkie_ex04_chunkerfit.m) — fit a smooth curve
28 to sample points (`chunkerfit`).
29- [`chunkie_ex05_barbell.m`](chunkie_ex05_barbell.m) — a rounded polygon
30 (`chunkerpoly`).
31- [`chunkie_ex06_combined.m`](chunkie_ex06_combined.m) — transform and merge
32 several curves into one multi-component domain.
33- [`chunkie_ex07_interior.m`](chunkie_ex07_interior.m) — find which points lie
34 inside a domain (`chunkerinterior`).
36## Solving integral equations
38Each PDE is recast as a boundary integral equation, discretized with
39`chunkermat`, solved with GMRES, and evaluated on a grid with
40`chunkerkerneval`.
42- [`chunkie_ex00_starfish.m`](chunkie_ex00_starfish.m) — Helmholtz scattering
43 off a starfish (combined-field representation).
44- [`chunkie_ex08_laplace.m`](chunkie_ex08_laplace.m) — a Laplace Neumann
45 problem (single-layer with nullspace regularization).
46- [`chunkie_ex09_helmholtz.m`](chunkie_ex09_helmholtz.m) — sound-soft Helmholtz
47 scattering off a peanut.
48- [`chunkie_ex10_stokes.m`](chunkie_ex10_stokes.m) — Stokes flow through a
49 multiply-connected pipe.
51## How it's deployed
53On every push to `main`, the workflow in
54[`.github/workflows/deploy.yml`](.github/workflows/deploy.yml) bundles these
55files with the numbl browser IDE and publishes the result to GitHub Pages. Edit
56`numbl-project.json` to change the title or which file opens first.
moveopenescclose