code-saturne / code-saturne/code_saturne
Transform cell-based to face-baced connectivity in solver instead of preprocessor
- Dominant language
- C++
- Stars
- 307
- Forks
- 102
- PR merge metrics
- No merged PRs in 30d
Description
Currently, the cell->vertices to face->cells and face->vertices connectivity conversion is done in the proprocessor. Migrating this to the solver requires modifying the preprocessor reader, but would have several advantages:
- Lower memory usage (about half) in the non-parallel preprocessor
- Migrate all postprocessing and mesh checking aspects to the solver
- prerequisite to allow adding parallel mesh readers directly in solver
This could also be done in a separate order, adding specific readers to the solver (reading into an FVM mesh for formats such as MED or CGNS, allowing interpolation operations) first.
Note: this is an update from an issue on the old (Mantis) issue tracker, which is a long-term goal.
Contributor guide
Research direction
Start by tracing the preprocessor reader's cell-to-vertex, face-to-cell, and face-to-vertex connectivity conversion, then inspect the solver's FVM mesh entry point. The work is complete when connectivity conversion, postprocessing, and mesh checking are migrated to the solver while preserving support for the existing readers and enabling future parallel readers.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- hpc
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100