Skip to content

Add developer guides and generate reference pages from the code - #2992

Open
rois1995 wants to merge 25 commits into
su2code:developfrom
rois1995:docs/developer-guides
Open

rois1995 wants to merge 25 commits into
su2code:developfrom
rois1995:docs/developer-guides

Conversation

@rois1995

@rois1995 rois1995 commented Oct 26, 2026 •

Copy link
Copy Markdown
Contributor

Proposed Changes

This adds developer guides and builds reference pages from the SU2 code, so that users can find implementation details and check which settings their version supports.

  • Explain the code structure, regression tests, automatic differentiation and how to extend SU2.
  • Generate references for configuration options, output fields, errors and renamed settings, alongside the Doxygen code reference.
  • Correct outdated settings in the configuration template and the flamelet boundary-condition notes.
  • Use the same website build locally and on GitHub, with checks for broken links and incorrect configuration names.

The CFD algorithms are unchanged. The local builds and the fork's GitHub documentation build passed all 18 documentation tests and internal reference checks. The PR checks build previews; publishing is restricted to the existing fork preview. Official website publishing remains a separate integration decision.

Related Work

Companion website PR: su2code/su2code.github.io#222. It contains the user guides, model explanations, search and navigation used by these pages.

Combined preview

PR Checklist

  • I am submitting my contribution to the develop branch.
  • My contribution generates no new compiler warnings (try with --warnlevel=3 when using meson).
  • My contribution is commented and consistent with SU2 style (https://su2code.github.io/docs_v7/Style-Guide/).
  • I used the pre-commit hook to prevent dirty commits and used pre-commit run --all to format old commits.
  • I have added a test case that demonstrates my contribution, if necessary.
  • I have updated appropriate documentation (Tutorials, Docs Page, config_template.cpp), if necessary.

rois1995 and others added 22 commits October 26, 2026 10:49
Add Docs/website: a script that generates the configuration option
reference from CConfig.cpp, checks the options named in the docs and
copies the pages kept with the code into the website. A workflow builds
the website with Jekyll and Doxygen and publishes it on GitHub Pages.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NSfEWrhpF27TnrkJH74sv8
… fork

New pages: Code Structure, Running Regression Tests, Adding a Config
Option and Adding Output Fields, written against develop 11c177b.
The workflow builds the website from rois1995/su2code.github.io
(branch docs_site) by default and keeps Docs/website out of Doxygen.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NSfEWrhpF27TnrkJH74sv8
…eference

The generator now reads option comments that start with /* as well as /*!,
uses the config_template.cfg comment when it adds information, links each
option to the website pages that name it and to test case files that use
it, and lists weakly documented options on the Docs Check page. Markdown
pages kept in the code folders are added to the user guide, and links to
the code point to the repository that is built.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NSfEWrhpF27TnrkJH74sv8
New pages: adding a boundary condition, numerical scheme, fluid model,
turbulence model, transition model and solver (with a section on
non-conservative systems), in their own menu section. All developer
pages and the README were rewritten in plain language. The docs check
skips source-code blocks and C++ names written as inline code.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NSfEWrhpF27TnrkJH74sv8
…coverage

The Output Fields Reference lists the history and volume fields of each
output class from the AddHistoryOutput/AddVolumeOutput calls. The Docs
Check page now lists developer pages whose named code files changed
since their "Last checked against" commit, the share of classes with a
Doxygen comment and group, and the Doxygen warnings. The workflow runs
Doxygen first and fetches the history without file contents.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NSfEWrhpF27TnrkJH74sv8
build_site.py --mark-changes compares the website with the official one
and adds a script that colours the changed and generated pages, and the
new menu sections, in red. The test workflow turns it on.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NSfEWrhpF27TnrkJH74sv8
Users copy config_template.cfg, so a name the code does not register
stops their run. The check found eight such names.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NSfEWrhpF27TnrkJH74sv8
Error Messages lists every SU2_MPI::Error message with the options it
names and a link to the code. Renamed and Removed Options lists the
options of the releases since v7.0.0 that the code no longer has, with
the message SU2 prints for them.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NSfEWrhpF27TnrkJH74sv8
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NSfEWrhpF27TnrkJH74sv8
Comment thread Docs/website/tools/build_site.py Fixed
Comment thread Docs/website/tools/build_site.py Fixed
Comment thread Docs/website/tools/build_site.py Fixed
Comment thread Docs/website/tools/build_site.py Fixed
Comment thread Docs/website/tools/build_site.py Fixed
Comment thread Docs/website/tools/build_site.py Fixed
Comment thread Docs/website/tools/build_site.py Fixed
Comment thread Docs/website/tools/build_site.py Fixed
Comment thread Docs/website/tools/build_site.py Fixed
Comment thread Docs/website/tools/build_site.py Fixed
Comment thread Docs/website/tools/build_site.py Fixed
Comment thread Docs/website/tools/build_site.py Fixed
Comment thread Docs/website/tools/build_site.py Fixed
Comment thread Docs/website/tools/build_site.py Fixed
Comment thread Docs/website/tools/build_site.py Fixed
Comment thread Docs/website/tools/build_site.py Fixed

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants