A reflection system for MeshFreeFoam: Part 3
Thursday, October 05, 2023 in Discussions
8 minute read
The previous post outlined the main challenges in implementing a decent reflection system for OpenFOAM while preserving the benefits of the runtime selection mechanism. In this post, I describe the final state of the system and its limitations, along …
A reflection system for MeshFreeFoam: Part 2
Monday, October 02, 2023 in Discussions
3 minute read
The previous post a few days ago introduced the idea of leveraging a reflection system to automatically build UIs for MeshFreeFoam classes that stay up to date with code changes. In this post, I outline what’s currently possible, what’s …
A reflection system for MeshFreeFoam: Part 1
Friday, September 29, 2023 in Discussions
2 minute read
Motivation Lazy evaluation is not the only thing I envy in .Net languages. It’s one of two things, the other being their runtime reflection systems. This feature is not exclusive to .Net languages; it’s found in all reflective languages …
Lazy Evaluation: Part 1
Wednesday, September 27, 2023 in Discussions
6 minute read
Motivation I used to think of OpenFOAM’s tmp class template as a memory management thing (which is correct). After having some suspicions, I had a discussion with @holger on the details of using tmp to get things out of function scope. As …
Optimization notes: Part 1
Tuesday, August 29, 2023 in Discussions
less than a minute
KdTree and radius-based searches When it comes to k-nearest neighbor (KNN) searches with unsorted radius queries in C++, I’ve decided to utilize nanoflann as the backend for these operations. Their API is user-friendly, but there’s a …
Introducing unit tests with foamUT
Tuesday, August 29, 2023 in Discussions
less than a minute
Well, there are three clear objects for unit testing: Making sure new code does not break older functionality Making sure new functionality works as expected Making sure important dependency APIs have not changed without us noticing To this end, I …
Runtime selection mechanism for `MeshFreeFoam`
Monday, August 28, 2023 in Discussions
less than a minute
In short, I’ll stick with OpenFOAM’s way of doing things when it comes to: RunTime Selection of models The plugin system (Function Objects) Issue 01: Dependency on the OpenFOAM version I have decided to run with the master branch from …
Design of domain shapes
Wednesday, August 23, 2023 in Discussions
2 minute read
A few design goals govern how MeshFreeFoam shapes are implemented, with the most important ones being: Support for dynamically loaded models, starting from STL files Support for basic geometric operations (adding, subtracting, scaling, rotating, …
No Releases?
Saturday, August 19, 2023 in Releases
less than a minute
This Hugo template can be used as a template to spin off new websites. Currently, I see no need to create releases. Just fork and clone the main branch!
Easy API documentation with Hugo and Hyde
Saturday, August 19, 2023 in News
less than a minute
Initial work on the companion website project for documenting the design and implementation of my PhD project (Meshless methods in CFD applications) has been completed. The project is in usable state.