Hamilton-Jacobi solver on unstructured triangular grids
Implementation based on:
"Finite-Element Discretization Of Static Hamilton-Jacobi Equations Based On A Local Variational Principle"
by F. Bornemann and C. Rasch
Comments:
1. There is no restriction on the type of triangulation, i.e. it does not need to be acute. But the method will require more than one sweep of the mesh (because of lack of causality). Howver, only a few iterations should be necessary to achieve convergence.
2. Two versions of the code are implemented. One is pure MATLAB and the other uses a MEX function. The MEX version is faster by about a factor of 100 for the example that I include.
3. The MEX version allows for a variable distance metric. See the test code for a demonstration.
4. The MEX version uses a FIFO buffer to implement a non-linear adaptive Gauss-Seidel iteration (see the paper). FIFO buffers cannot be easily implemented in pure MATLAB.
5. The MEX version C++ code uses Object-Oriented methods.
6. I put in a lot of error checking to make the code robust to user-error. However, I make no claim that this software is completely correct. Use it at your own risk!
Cite As
Shawn Walker (2024). Hamilton-Jacobi solver on unstructured triangular grids (https://www.mathworks.com/matlabcentral/fileexchange/24827-hamilton-jacobi-solver-on-unstructured-triangular-grids), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxCategories
- Mathematics and Optimization > Partial Differential Equation Toolbox > Domain-Specific Modeling > Structural Mechanics >
Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.