You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit efb4a67
Browse filesBrowse the repository at this point in the historyBrowse files
Add accelerated moving-domain and surface PDE workflows
Bring the public Python examples to MATLAB PDE parity with Poisson, variable and nonlinear Poisson, fixed and multispecies diffusion, two- and three-dimensional moving-domain ADR, stationary and moving-surface ADR, mean-curvature flow, marker rearrangement, and the IBAMR RBC trajectory problem.
Implement tangent-plane PHS+Legendre RBF-FD, cached-factor defect updates, adaptive hyperviscosity, spherical and toroidal geometry models, conservative quadrature projection, semi-Lagrangian history backfill, and dimension-generic moving-domain transport.
Move repeated surface assembly, interpolation, stencil matvec, SBF, and control-point kernels into cached Numba implementations; parallelize local-system construction and use batched SciPy LAPACK plus compiled sparse GMRES and ILU.
Polish the README and generated figures, add the verified RBC data downloader, package all new modules, and extend numerical and acceleration regressions across the new workflows.
- generate scattered nodes and differential operators on embedded domains;
44
43
- compare standard and overlapped local assembly;
45
44
- solve elliptic and diffusion problems without constructing a volume mesh;
45
+
- solve semi-Lagrangian ADR problems with moving embedded boundaries;
46
+
- solve conservative ADR problems on stationary or evolving closed surfaces;
47
+
- evolve point-cloud surfaces by mean curvature;
46
48
- build localized PU or divergence-free RBF approximations; or
47
49
- extend a tested, inspectable numerical research codebase.
48
50
49
-
It is research software, not a general-purpose finite-element package.
51
+
It is research software, not a general-purpose finite-element package. The
52
+
implementation favors transparent SciPy sparse algebra and targeted Numba
53
+
kernels; the JAX repository is the accelerator-oriented member of the family.
50
54
51
55
## At a glance
52
56
@@ -56,19 +60,28 @@ It is research software, not a general-purpose finite-element package.
56
60
| Node generation | Seeded fixed- and variable-radius Poisson sampling in boxes, clipping by embedded geometry, boundary and ghost nodes, boundary-zone outer refinement, and dual node sets |
57
61
| Local approximation | Centered and scaled Legendre polynomial bases, standard and overlapped PHS+poly RBF-FD, weighted-least-squares stencils, and local divergence-free PHS interpolation |
58
62
| Fixed-domain solvers | Poisson, variable-coefficient and nonlinear variable-coefficient Poisson, BDF1--BDF3 diffusion, localized PU diffusion, and homogeneous or heterogeneous multispecies diffusion |
59
-
| Numerical infrastructure | SciPy KD trees and sparse matrices, cached local polynomial templates, and targeted Numba kernels for repeated geometry, polynomial, and stencil calculations |
63
+
| Moving-domain ADR | RK3 boundary motion, geometric reconstruction, carve/refill node updates, local PHS+Legendre departure-point interpolation, BDF1--BDF3 transport, and implicit diffusion--reaction solves in two and three dimensions |
64
+
| Moving-surface ADR | Tangent-plane PHS+Legendre RBF-FD, cached-factor defect updates, adaptive surface hyperviscosity, spherical or toroidal geometry models, Lagrangian BDF1--BDF3 stepping, mass projection, and semi-Lagrangian history backfill |
| Verify moving-surface ADR on a breathing sphere |[`moving_surface_adr_example.py`](examples/moving_surface_adr_example.py)|
272
+
| Evolve a sphere by mean curvature |[`mean_curvature_flow_sphere_example.py`](examples/mean_curvature_flow_sphere_example.py)|
273
+
| Smooth an ellipsoid by mean curvature |[`mean_curvature_flow_ellipsoid_example.py`](examples/mean_curvature_flow_ellipsoid_example.py)|
274
+
| Remap markers and semi-Lagrangian-backfill BDF history |[`surface_rearrangement_example.py`](examples/surface_rearrangement_example.py)|
275
+
| Transport and diffuse a tracer on an IBAMR red-blood-cell trajectory |[`moving_surface_rbc_capstone.py`](examples/moving_surface_rbc_capstone.py)|
185
276
186
277
Run a study from the repository root, for example:
187
278
@@ -220,11 +311,8 @@ your work.
220
311
| Overlapped RBF-FD assembly (`kernelpack.rbffd.FDODiffOp`) | V. Shankar, [*The overlapped radial basis function-finite difference (RBF-FD) method: A generalization of RBF-FD*](https://doi.org/10.1016/j.jcp.2017.04.037), Journal of Computational Physics 342 (2017), 211--228 |
221
312
| PHS geometric models and Poisson node generation (`kernelpack.geometry`, `kernelpack.nodes`) | V. Shankar, R. M. Kirby, and A. L. Fogelson, [*Robust node generation for mesh-free discretizations on irregular domains and surfaces*](https://doi.org/10.1137/17M114090X), SIAM Journal on Scientific Computing 40 (2018), A2584--A2608 |
222
313
| Lower odd-degree PHS selection used by the solver stencil defaults | V. Shankar and A. L. Fogelson, [*Hyperviscosity-based stabilization for radial basis function-finite difference (RBF-FD) discretizations of advection-diffusion equations*](https://doi.org/10.1016/j.jcp.2018.06.036), Journal of Computational Physics 372 (2018), 616--639 |
223
-
224
-
For moving-surface ADR, surface hyperviscosity, and the associated research
| Moving-domain ADR | V. Shankar, G. B. Wright, and A. L. Fogelson, [*An efficient high-order meshless method for advection-diffusion equations on time-varying irregular domains*](https://doi.org/10.1016/j.jcp.2021.110633), Journal of Computational Physics 445 (2021), 110633 |
315
+
| Moving-surface ADR | M. Lowery, G. B. Wright, and V. Shankar, [*A high-order, meshless, Lagrangian--Eulerian RBF-FD method for advection--diffusion--reaction on moving manifolds*](https://doi.org/10.48550/arXiv.2608.19384), arXiv:2608.19384 (2026) |
0 commit comments