Fix units setup in vector projection Poisson test#227
Open
ss2098 wants to merge 24 commits into
Open
Conversation
Required for ReadTheDocs to find build configuration. API documentation source is on uw3-release-candidate branch. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- docs/api/conf.py with MyST, napoleon, autodoc mocking - API pages for meshing, discretisation, solvers, etc. - requirements.txt for ReadTheDocs dependencies 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Remove pip install of underworld3 package - we use autodoc mocking so only Sphinx dependencies are needed, not the full package. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Switch from autodoc mocking to full pixi environment with conda-forge PETSc. This allows proper documentation generation with real imports. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Use full path $HOME/.pixi/bin/pixi since each command runs in a separate shell and PATH exports don't persist. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Follow ReadTheDocs recommended pattern using jobs hooks and asdf to install pixi, rather than custom curl commands. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
With pixi-based builds on ReadTheDocs, we have a real PETSc environment so mocking is no longer needed and was actually interfering with Cython module introspection. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Sphinx was importing from source instead of installed package, causing circular import in function/__init__.py -> analytic. The package is already installed by 'pixi run build' before docs build. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Added API docs for: - function: Expressions, quantities, evaluation - swarm: Particle swarms and variables - scaling: Units, quantities, non-dimensionalisation - maths: Mathematical operations and integrals - materials: Multi-material systems - model: Model management and configuration - utilities: I/O and helper functions - visualisation: Plotting tools - adaptivity: Adaptive mesh refinement 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Development code has been live for some time and mostly static. Time to bring this into main
# Conflicts: # .readthedocs.yaml # docs/api/adaptivity.md # docs/api/constitutive_models.md # docs/api/coordinates.md # docs/api/discretisation.md # docs/api/function.md # docs/api/maths.md # docs/api/meshing.md # docs/api/solvers.md # docs/api/swarm.md # docs/api/systems_ddt.md # docs/api/utilities.md # docs/api/visualisation.md # pixi.toml
…ames - Binder section now shows three versioned launch badges - Status badges updated from .yml to .yaml (workflow was renamed) - Added pointer to binder_wizard.py for custom repositories Underworld development team with AI support from Claude Code
Launcher expects {branch, ref_type} but we were sending {ref, is_release}.
This prevented tag builds from creating launcher branches.
Underworld development team with AI support from Claude Code
Compute REF_TYPE in shell instead of inline GitHub expression to avoid single-quote conflicts in YAML string. Previous version had nested single quotes that broke the payload. Underworld development team with AI support from Claude Code
New workflow_dispatch inputs: - uw3_branch: override which branch/tag to clone (e.g. v0.99) - image_tag: override Docker image tag (e.g. v0.99) Enables building images for old tags that predate the workflow. Example: run from development with uw3_branch=v0.99, image_tag=v0.99 to build uw3-base:v0.99-slim using the current Dockerfile. Underworld development team with AI support from Claude Code
Move version-specific lib subdirectories (vtk-X.Y, openvino-X.Y.Z) into a generic split step using wildcards instead of hardcoded paths. This allows the same Dockerfile to build images for different UW3 versions that may have different package versions in their pixi env. Underworld development team with AI support from Claude Code
UW3 is always version 0.0.0, so pip's wheel cache treats every build as "already cached" and silently reuses stale code. This was the most common build issue — source changes weren't reflected after ./uw build. Underworld development team with AI support from Claude Code
…ldcode#80) petsc_save_checkpoint() now delegates to write_timestep(), gaining vertex/cell compatibility groups, field projection, and tensor repacking for ParaView. Previously it used the legacy generateXdmf() which missed all recent XDMF improvements. The outputPath argument is split into directory + filename to map correctly onto write_timestep()'s (filename, outputPath) interface. Underworld development team with AI support from Claude Code
The docs landing page binder link was hardcoded to 'development', so tagged RTD builds (e.g. v3.0.0) pointed to the wrong environment. Now conf.py detects the build context (git tag > READTHEDOCS_VERSION > branch > fallback) and injects the correct ref via MyST substitution. Also derives version/release from setuptools-scm instead of hardcoding. Underworld development team with AI support from Claude Code
Underworld development team with AI support from Claude Code # Conflicts: # docs/conf.py
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR fixes
test_vector_projection_after_poisson_with_units()by setting model reference quantities before creating meshes andMeshVariableobjects with physical units.The test previously failed in strict units mode with:
What changed
Added reference quantity setup at the start of
test_vector_projection_after_poisson_with_units():Rationale
Strict units mode requires model reference quantities to be configured before creating variables with units. This updates the test setup to match the current units-system behavior. The Poisson solve and vector projection logic are unchanged.
Testing
Ran:
Output: