Skip to content

Conversation

@minh702
Copy link

@minh702 minh702 commented Feb 11, 2026

Features:

  • Material models: Stable Neo-Hookean (SNH) and Corotated (with simplified volume term, 0.5*(tr(R^T F) - 3)^2)
  • Optimization solvers: Newton's method with matrix-free PCG (block Jacobi preconditioning), and L-BFGS (default window size = 5)
  • Analytic eigen-decomposition of the energy Hessian with eigenvalue clamping (PD fix following [Smith et al. 2018])
  • Termination criterion: ||dx||_inf
  • Line search with Armijo condition for robustness

Performance (beam twisting benchmark, ~9K particles, Poisson's ratio = 0.49):

  • L-BFGS: 35-80 ms per frame
  • Newton + PCG: 730-800 ms per frame

Bug fix:
Fixed an asymmetry issue in neighbor list handling: when the maximum neighbor count is limited (default 15), particle i may include j as a neighbor while j does not include i, causing unbalanced elastic forces and violating momentum conservation. The beam benchmark requires up to 43 neighbors.

…ion, SVD polar decomposition fix

- L-BFGS: runtime window size change with buffer renewal; window=0 for constant Hessian
- Line search: backtracking Armijo + flat energy termination (|dE| < 1e-4); convergence check before LS
- SVD polar decomposition: flip U.col(2) instead of R.col(2) for correct R under inversion
- Non-convergence warning at max iterations
- Kugelstadt2021: added neighbor list asymmetry check
- Beam.json: updated scene config for validation
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant