I’m writing a new FEA solver
For longer that I want to admit, I’ve had the itch to write my own finite element solver. I think in the past, I had the time but not the skill to do it; now I have the skill but maybe not the time…
shepherd
I call the project shepherd, as the goal of a finite element tool is to guide you through understanding how to build the right things but cannot build them for you. I’m writing the project in C (more on that later) and have some very specific goals for the project that influence how I’m approaching the development.
Some very basic ideas and goals:
- The project will be completely self-contained and have zero dependencies; all code and documentation will be written and maintained by the project team* and bundled together
- I am focusing on preserving knowledge and understanding, not writing a new tool for others to use
- The project is intended to be kept in the public domain, hence the use of a GPL license
- Simplicity and robustness are core project goals: this is not intended to be the world’s fastest solver
For now, just me, but hopefully others in the future.
Why C?
I think this is the most natural place to start, as the reasons for choosing C are the same philosophies that drive the development of the entire project.
C requires you to do many things yourself
The project is intended to have zero dependencies. I could write it in Rust, but the
C makes you think about what you’re really doing
References
https://luxagraf.net/jrnl/turn-your-own-wrenches https://drewdevault.com/2023/07/25/Alpine-does-not-make-news.html