code-saturne / code-saturne/code_saturne

Transform cell-based to face-baced connectivity in solver instead of preprocessor

Open
#40 0 comments 0 reactions 0 assignees View on GitHub
enhancement
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.