Skip to content

Restore and modernize the complete AIM documentation - #5

Merged
mtap-research merged 1 commit into
mainfrom
agent/restore-complete-documentation
Jul 17, 2026
Merged

Restore and modernize the complete AIM documentation#5
mtap-research merged 1 commit into
mainfrom
agent/restore-complete-documentation

Conversation

@mtap-research

@mtap-research mtap-research commented Jul 17, 2026

Copy link
Copy Markdown
Collaborator

Summary

This corrects the overly minimal documentation introduced in #4. The redesign now preserves and promotes the repository's complete legacy technical documentation instead of leaving it hidden in generated HTML.

  • restore full first-class guides for IsoFit, HeatFit, MixPred, and BreakLab
  • restore the complete input/output data-file specification, metadata tags, supported formats, units, and .bliso contract
  • restore all four tutorial videos with responsive embedded players and direct-link fallbacks
  • restore model equations, fitting objectives, IAST/EDSL theory, BreakLab governing balances, boundary conditions, numerical methods, parameter tables, and nomenclature
  • move from the old Read the Docs theme to the same modern stack used for core-mof-tools: Sphinx 8.2.3, PyData Theme 0.16.1, and sphinx-design
  • add a modern card-based landing page, responsive styling, dark-mode support, module screenshots, and clearer navigation
  • fix the IsoFit coefficient-of-determination equation, stale organization link, and visible documentation typos
  • make repository hygiene require the restored technical-reference pages

Preserved content inventory

  • 4 tutorial videos: IsoFit, HeatFit, MixPred, BreakLab
  • 33 block-math directives, plus inline model expressions
  • 6 model/input/balance tables
  • full IsoFit 13-model reference
  • HeatFit Clausius–Clapeyron and virial formulations
  • MixPred EDSL and IAST equations
  • BreakLab conservation equations, Ergun relation, LDF kinetics, boundary conditions, nondimensionalization, FVM/WENO/ode15s description, input units, and nomenclature
  • input formats: CSV, TXT, XLSX, DAT, and AIF
  • output interoperability through human-readable .bliso files

Validation

  • git diff --check
  • python ci/check_repository.py
  • content-preservation assertions for videos, equations, tables, and metadata tags
  • python -m sphinx -W --keep-going -b html docs/source /tmp/aim-docs-modern-html
  • all 12 Sphinx pages build with zero warnings

Design

The information architecture follows the core-mof-tools modernization approach: modern typography and cards at the entry point, then deep technical references underneath. Scientific detail is retained rather than replaced with marketing summaries.

Summary by CodeRabbit

  • Documentation
    • Added comprehensive guides for IsoFit, HeatFit, MixPred, BreakLab, tutorials, and input/output formats.
    • Added video walkthroughs for all four modules.
    • Redesigned the documentation homepage with module and getting-started cards.
    • Added detailed model references, workflows, metadata guidance, and file-format instructions.
    • Refreshed documentation styling with a new theme, branding, navigation, dark-mode colors, and responsive layouts.

@coderabbitai

coderabbitai Bot commented Jul 17, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: b3d7f09e-8f36-462d-84d0-fd40d6a041bf

📥 Commits

Reviewing files that changed from the base of the PR and between 2363334 and a6938f0.

⛔ Files ignored due to path filters (7)
  • docs/source/_static/AIM_logo.png is excluded by !**/*.png
  • docs/source/_static/AIM_modules.png is excluded by !**/*.png
  • docs/source/_static/BreakLab.png is excluded by !**/*.png
  • docs/source/_static/HeatFit.png is excluded by !**/*.png
  • docs/source/_static/IsoFit.png is excluded by !**/*.png
  • docs/source/_static/MixPred.png is excluded by !**/*.png
  • docs/source/_static/scheme.png is excluded by !**/*.png
📒 Files selected for processing (13)
  • README.md
  • ci/check_repository.py
  • docs/requirements.txt
  • docs/source/_static/aim.css
  • docs/source/breaklab.rst
  • docs/source/conf.py
  • docs/source/heatfit.rst
  • docs/source/index.rst
  • docs/source/input-output.rst
  • docs/source/isofit.rst
  • docs/source/mixpred.rst
  • docs/source/modules.rst
  • docs/source/tutorials.rst

📝 Walkthrough

Walkthrough

The PR refreshes the Sphinx site with a new theme, styling, card-based navigation, module reference pages, input/output guidance, video tutorials, and updated README and CI documentation links.

Changes

Documentation site refresh

Layer / File(s) Summary
Sphinx theme and site foundation
docs/requirements.txt, docs/source/conf.py, docs/source/_static/aim.css, ci/check_repository.py
Documentation dependencies, theme configuration, styling assets, and required documentation paths are updated.
Homepage and module navigation
docs/source/index.rst, docs/source/modules.rst
Landing and module pages now use card-based navigation and an expanded hidden toctree.
Module technical references
docs/source/isofit.rst, docs/source/heatfit.rst, docs/source/mixpred.rst, docs/source/breaklab.rst
New reference pages document fitting methods, mixture models, breakthrough equations, simulation inputs, and nomenclature.
Input/output guidance and video tutorials
docs/source/input-output.rst, docs/source/tutorials.rst
File formats, metadata, output interoperability, and four module video walkthroughs are documented.
Repository documentation links
README.md
Support bullets link to the new tutorials, input/output guide, and module references.

Estimated code review effort: 3 (Moderate) | ~25 minutes

✨ 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 agent/restore-complete-documentation

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

@mtap-research
mtap-research marked this pull request as ready for review July 17, 2026 17:32
@mtap-research
mtap-research merged commit 8b5997f into main Jul 17, 2026
6 of 7 checks passed

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: a6938f0a0e

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread docs/source/heatfit.rst
**HeatFit** also reports coefficient of determination, :math:`r^{2}`, value defined as:

.. math::
r^{2} = 1 - \frac{SSE}{\sum (q_{i,exp} - \overline{q_{i,exp}})}

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Restore the squared term in HeatFit r²

When users rely on the restored HeatFit reference to reproduce the reported goodness-of-fit, this denominator is documented as a raw sum of deviations, which should sum to approximately zero rather than total variance; the implementation and the corrected IsoFit page use squared deviations, so this formula can make the documented r² undefined or wildly wrong.

Useful? React with 👍 / 👎.

Comment thread docs/source/heatfit.rst

.. math::
RMSE = \sqrt{\frac{SSE}{N-M}},\\
r^{2} = 1 - \frac{SSE}{\sum (P_{i,exp} - \overline{P_{i,exp}})}

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Compute Virial r² against log-pressure variance

For Virial fitting, the SSE just above is defined on ln(P), and src/Virial_fitting.m computes the variance over the stored log-pressure column; this line instead documents raw pressure deviations and also omits the square, so users trying to validate HeatFit's Virial output will use a different and invalid r² definition.

Useful? React with 👍 / 👎.

Comment thread docs/source/breaklab.rst
* Thermal equilibrium exists between gas and solid phase.
* The heat transfer coefficient governing the heat transfer between column wall and bed is constant.
* The mass transfer resistance between solid and gas phase is governed by Linear Driving Force (LDF) model.
* The concentration, pressure, and temperature gradients in the axial directions are negligible.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Say radial, not axial, gradients are neglected

In the BreakLab model assumptions, this says axial concentration, pressure, and temperature gradients are negligible, but the same restored section immediately defines z-dependent PDEs, axial dispersion, pressure-drop, and inlet/outlet boundary conditions; for the one-dimensional bed model the neglected gradients are radial, so the current wording contradicts the governing model and can mislead users about which transport terms are solved.

Useful? React with 👍 / 👎.

Comment thread docs/source/isofit.rst
- :math:`q = \frac{q_{sat} b P^{n}}{1 + b P^{n}}`
- :math:`q_{sat},\ b,\ n`
* - Dual-site Langmuir-Freundlich
- :math:`q = \frac{q_{sat, 1} b P^{n_{1}}}{1 + b_{1} P^{n_{1}}} + \frac{q_{sat,2} b_{2} P^{n_{2}}}{1 + b_{2} P^{n_{2}}}`

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Use b₁ in the first dual-site LF numerator

For users copying the documented dual-site Langmuir-Freundlich equation, the first site's numerator uses an unindexed b even though the denominator and parameter list define b_1; the implementation uses the first site's b1 parameter, so the docs currently publish the wrong expression here and in the matching HeatFit table.

Useful? React with 👍 / 👎.

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