Skip to content

[Docs]: Add more detailed docs and further specify methods and project status#14

Merged
QuentinWach merged 6 commits into
mainfrom
docs
May 17, 2026
Merged

[Docs]: Add more detailed docs and further specify methods and project status#14
QuentinWach merged 6 commits into
mainfrom
docs

Conversation

@QuentinWach
Copy link
Copy Markdown
Collaborator

@QuentinWach QuentinWach commented May 17, 2026

  • Updated section headers for improved readability, changing "Physics Model" to "Physics" and "High Performance" to "Performance."
  • Streamlined the description of modal fields and removed redundant line breaks for better flow.
  • Retained essential details while enhancing the overall presentation of the documentation.

Summary by CodeRabbit

Release Notes

  • Documentation

    • Added physics model documentation describing solver formulation and discretization approach.
    • Added mode solver methods documentation detailing solver algorithms and usage.
    • Updated README with enhanced project description and hyperlinks.
  • Chores

    • Enhanced CI/CD workflow with stricter error handling for coverage uploads and automated coverage badge generation.

Review Change Stack

- Introduced detailed explanations of the physics model and mathematical formulations in README.md.
- Added a new documentation file for mode solver methods, outlining the main entry point, material grids, solver controls, eigenpair selection, and result helpers.
- Enhanced clarity and comprehensiveness of the documentation for better user understanding.
- Clarified the description of the MicroMode solver, emphasizing its source-free nature and the mathematical formulations of Maxwell's equations.
- Expanded the documentation to include details on discretization, boundary settings, and the treatment of diagonal and tensorial materials.
- Improved overall structure and readability for better user comprehension.
- Added references for eigenpair selection methods in mode-solver-methods.md to provide context and credibility.
- Clarified the description of the finite-difference frequency-domain method and its application in the physics model documentation.
- Included additional references to relevant literature for better understanding of the methods used in the solver.
- Improved the description of the electromagnetic mode solver, emphasizing its use of the FDFD method and Yee-grid.
- Added new badges for PyPI version and project status to provide users with more information at a glance.
- Revised the README.md to clarify the use of a rectilinear Yee-grid.
- Added a new script to generate a local SVG coverage badge and updated CI workflows to automate badge generation and upload.
- Enhanced documentation for mode solver methods to specify the heuristic for target_neff based on permittivity.
- Introduced a new coverage.svg file to visually represent test coverage in the project.
- Updated section headers for improved readability, changing "Physics Model" to "Physics" and "High Performance" to "Performance."
- Streamlined the description of modal fields and removed redundant line breaks for better flow.
- Retained essential details while enhancing the overall presentation of the documentation.
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 17, 2026

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: ffcc9cdc-f8be-41a1-8c2d-e2d0ce36593c

📥 Commits

Reviewing files that changed from the base of the PR and between 6d44004 and e988c4f.

⛔ Files ignored due to path filters (1)
  • docs/assets/coverage.svg is excluded by !**/*.svg
📒 Files selected for processing (5)
  • .github/workflows/tests.yml
  • README.md
  • docs/mode-solver-methods.md
  • docs/physics-model.md
  • scripts/generate_coverage_badge.py

📝 Walkthrough

Walkthrough

This PR introduces coverage badge infrastructure alongside expanded project documentation. A new Python utility generates SVG badges from coverage XML, which the CI workflow now integrates to auto-generate and commit badge updates. Concurrently, comprehensive physics and mode-solver documentation explain the Maxwell eigenproblem formulation and solver algorithms, while the README is updated with the physics context and project tagline refinements.

Changes

Coverage Badge Infrastructure and Physics Documentation

Layer / File(s) Summary
Coverage Badge Generation Tool
scripts/generate_coverage_badge.py
New CLI utility parses coverage.py XML (line-rate attribute or lines-covered/lines-valid fallback), computes coverage percentage (with 100.0 when no lines present), maps percentage to hex color by threshold, renders an inline SVG badge with escaped label/message text, and writes to docs/assets/coverage.svg.
CI Coverage Badge Generation and Update Job
.github/workflows/tests.yml
Adds top-level contents: read permission, updates Python 3.13 Codecov upload to fail on error, adds badge generation and artifact upload steps, and introduces update-coverage-badge job that runs on push to download the badge artifact and commit/push docs/assets/coverage.svg when changed.
Physics and Mode Solver Method Documentation
docs/physics-model.md, docs/mode-solver-methods.md
New documentation pages describe source-free frequency-domain Maxwell eigenproblem formulation on Yee-grid FDFD, PML/boundary handling, diagonal and tensorial material reductions with Schur-complement elimination, and documents solve_modes() entry point, solver controls (Arnoldi/Krylov dimension, shift-invert selection, mode normalization, Lorentz orthogonalization), and Result helper APIs.
README Project Description and Physics Introduction
README.md
Refines project tagline to electromagnetic mode solver using FDFD on rectilinear Yee-grid with method/grid hyperlinks; adds new Physics section with source-free Maxwell curl equations and diagonal-grid eigenproblem formulation with references to new documentation; updates badge row (removes coverage badge, adds status badge); adjusts section headers around the new Physics section.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~22 minutes

Possibly related PRs

  • QuentinWach/micromode#9: Updates README project description and tagline, with overlap in documentation wording but this PR adds Physics documentation and new badge infrastructure.

Poem

🐰 A badge so bright with colors divine,
Tracks coverage metrics, line by line.
Maxwell's equations now clearly stated,
Physics foundations, fully documented.
CI flows smoothly, badges auto-commit—
Infrastructure and docs, perfectly knit! 📊✨

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@QuentinWach QuentinWach merged commit 57f2ffc into main May 17, 2026
5 of 7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant