Skip to content

Implement simple Laplace solver and some related utilities#8

Merged
amgebauer merged 10 commits intoTUM-LNM:mainfrom
amgebauer:implement-simple-laplace-solver
Aug 29, 2025
Merged

Implement simple Laplace solver and some related utilities#8
amgebauer merged 10 commits intoTUM-LNM:mainfrom
amgebauer:implement-simple-laplace-solver

Conversation

@amgebauer
Copy link
Contributor

This PR adds a basic Laplace solver and some utility functions that are useful for computing spatially varying fibers in the context of rule-based methods. This includes:

  • laplace.solve(...), laplace.solve_onezero(...): Solve a basic Laplace problem on the mesh
  • fe.grad(...): Compute the gradient of a scalar field
  • merge(...): Merge multiple mesh objects into a single one
  • filter(...): Filter subsets of a mesh
  • utils.bislerp(...): Doing the bislerp operation (see https://link.springer.com/article/10.1007/s10439-012-0593-5)

Additionally, this enhances the README with many needed info for a quick start.

@amgebauer amgebauer force-pushed the implement-simple-laplace-solver branch 2 times, most recently from 7c4ad2a to dee9c0e Compare August 28, 2025 13:47
@amgebauer amgebauer requested a review from lkoeglmeier August 28, 2025 13:49
@amgebauer amgebauer enabled auto-merge August 28, 2025 13:52
@amgebauer amgebauer requested review from davidrudlstorfer and removed request for lkoeglmeier August 28, 2025 13:55
Copy link

@davidrudlstorfer davidrudlstorfer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actually just a lot of questions/ideas on the coding style.

If the tests of the implemented FE methods lead to the correct results I hope that the implementation is correct as well :D

@amgebauer amgebauer force-pushed the implement-simple-laplace-solver branch from dee9c0e to 1fcfaf4 Compare August 29, 2025 12:27
@amgebauer amgebauer force-pushed the implement-simple-laplace-solver branch from 1fcfaf4 to f53c009 Compare August 29, 2025 12:33
@amgebauer amgebauer force-pushed the implement-simple-laplace-solver branch from f53c009 to 06d7370 Compare August 29, 2025 12:36
Copy link

@davidrudlstorfer davidrudlstorfer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Really nice changes 😍

The src layout is pretty nice and I really like the slimmed down and uniform docstrings. Also really nice, that a lot of the basic functionality was outsourced to symfem. And last but not least, the vtu files look much nicer if they are readable. Nice improvements!

@amgebauer amgebauer force-pushed the implement-simple-laplace-solver branch from 06d7370 to 2ec3bb6 Compare August 29, 2025 13:30
@amgebauer amgebauer merged commit 51bc2f8 into TUM-LNM:main Aug 29, 2025
7 checks passed
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.

2 participants