Skip to content

Docs: v2 updates, nested solvers, and condensate data ranges - #164

Merged
djbower merged 9 commits into
mainfrom
djbower/docs
Oct 26, 2026
Merged

djbower merged 9 commits into
mainfrom
djbower/docs

Conversation

@djbower

@djbower djbower commented Oct 26, 2026

Copy link
Copy Markdown
Collaborator

Summary

Documentation updates for v2, plus one example fix that follows from #163.

  • Guides:
    • Add a nested solvers section, and update the troubleshooting page and common tasks.
    • Update the installation and developer guides for v2.
    • Point questions and ideas to GitHub Discussions.
  • Output page: correct the IW shift and constraint descriptions.
  • References:
    • Add Polman et al. (2026) to the list of works that use Atmodeller.
    • Match the FastChem 2 title to the published version.
  • Style: British spelling in prose.
  • Condensate data ranges (follow-up to Condensates are not stable outside the temperature range of their data #163):
    • troubleshooting.rst and common_tasks.rst ("Add thermodynamic data") now say that gas data are extrapolated outside their temperature range, whereas condensates are not stable there by default. They also explain how to opt back in with extrapolate_below/extrapolate_above.
  • Atmosphere example fix:
    • When the condensed data were split into solid and liquid states, the example's O2Si_cd and Si_cd became O2Si_s and Si_s, which dropped the liquid field. Its 3000 K surface is above the melting points of silica (1996 K) and silicon (1690 K).
    • The example now includes both phases, and each can only form within the temperature range of its data.
    • Liquid silica and silicon are now stable at the surface, with the solids at the cooler levels. Before this, no condensate was stable at 3000 K.
    • An audit found no other use of the old combined state that lost a liquid phase.

Testing

  • The documentation builds as in the docs CI job (sphinx-apidoc, then sphinx-build -W --keep-going) with no warnings. This includes executing all the example notebooks.
  • The atmosphere example solves all four levels on the first attempt.

🤖 Generated with Claude Code

djbower and others added 9 commits October 26, 2026 16:10
Issues are for bug reports and feature requests; questions, ideas and sharing how Atmodeller is
used go to Discussions. Updated in CONTRIBUTING.md, the README, the development guide and the
documentation front page.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- solver: new section on the nested volume solves of P(V, T) equations of state
- troubleshooting: how to find unsuccessful models, reuse a previous solution, and set
  max_starts and the tau sweep; data outside their range are extrapolated, not undefined; debug
  with debug_logger() and jax_debug_nans instead of editing __init__; links to Discussions
- common tasks: correct the root-finding example module, explain bounded EOS with
  CombinedRealGas.create, and how EOS and solubility laws are registered and named
- output: label for the solver section

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Comments, docstrings, a log message, the docs, the README, the PyPI description and the pull
request template now use British spelling (modelling, behaviour, optimised, vectorisation, ...).
Identifiers keep their American spelling, as does the PyPI keyword numerical-modeling.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- installation: pip installs version 2; requires Python 3.11 or later, tested on Linux and macOS
  (Windows untested); uv installs the versions in uv.lock (uv sync --locked reproduces CI);
  drop Poetry; update the troubleshooting checklist for the lock file; fix heading levels,
  links and formatting
- developer guide: run the commands with uv run
- front page: remove the funding paragraph duplicated from About

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…page

log10dIW_1_bar and log10dIW_P are always present and NaN without gaseous O2, and the constraints
list every element and species, with NaN where there is no constraint. Checked against the keys
of a solved model in all three output formats.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ir data

Describes the default of #163 and how to extrapolate the data of a condensate instead, in the
troubleshooting page, in adding thermodynamic data, and in the comments of the atmosphere example.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
When the condensed data were split into solid and liquid states, the example's O2Si_cd and Si_cd
became O2Si_s and Si_s, which dropped the liquid field. The 3000 K surface is above the melting
points of silica (1996 K) and silicon (1690 K), so both phases are now included, and each is only
stable within the temperature range of its data (#163). Liquid silica and silicon are now stable
at the surface, and the solids at the cooler levels.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@djbower
djbower merged commit 0b7c332 into main Oct 26, 2026
5 checks passed
@djbower
djbower deleted the djbower/docs branch October 26, 2026 17:08
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