Hi @Makis,
Thank you for the guidance.
Why I’m Interested in preCICE
What attracts me to preCICE is its modular philosophy — enabling complex multi-physics simulations by connecting independent solvers cleanly. I really appreciate the idea of building small, robust abstractions that coordinate large-scale systems reliably.
The “Clean multi-step configuration” project especially interests me because it focuses on improving architecture and separation of concerns rather than just adding features.
Why This Project Fits Me
C++ is my primary language, and I’m comfortable with:
-
Modern C++ (STL, RAII, structured types)
-
Refactoring and improving existing codebases
-
Linux, Docker, and CI workflows
-
Debugging and tracing large systems
The configuration AST idea is appealing because it:
-
Separates XML parsing from configuration logic
-
Improves validation and error reporting
-
Makes the system more maintainable and extensible
I enjoy working on architectural improvements like this.
Entry Test
I built preCICE from source and ran the elastic tube 1D tutorial.
To explore the configuration flow, I:
-
Modified the XML file (e.g., removed a
<data>tag) to trigger errors -
Traced how parsing and configuration construction are currently coupled
-
Located where error messages are generated
This helped me understand the current structure and how introducing a configuration AST could improve clarity and error handling.
I would be happy to continue exploring this area and start contributing with small refactoring or validation-related tasks. I’m also open to suggestions on the best next steps.
Looking forward to contributing.