.coveragerc
.flake8
.gitignore
.gitlab-ci.yml
AGENTS.md
CITATION.cff
Dockerfile
LICENSE
MANIFEST.in
README.md
environment.yml
pyproject.toml
requirements.txt
.claude-plugin/marketplace.json
.github/black-formatting.yml
.github/workflows/analysis.yml
.github/workflows/build.yml
.github/workflows/python-publish.yml
.github/workflows/test.yml
.github/workflows/update-citation-cff.yml
.github/workflows/validate-citation-cff.yml
.github/workflows/verification.yml
.vscode/launch_debugpy.json
.vscode/settings_pytest.json
docs/agent-plugin-design.md
docs/compile_sphinx.md
docs/dependencies_format.md
docs/helpers.md
docs/installation.md
docs/math-render-test.ipynb
docs/pymrm-model-style-guide.md
docs/sphinx/.gitignore
docs/sphinx/Makefile
docs/sphinx/conf.py
docs/sphinx/index.rst
docs/sphinx/make.bat
examples/counter_current_reaction.ipynb
examples/counter_diffusion_reaction.ipynb
examples/darcy_flow.ipynb
examples/ibm_diffusion.ipynb
examples/ibm_effective_diffusivity.ipynb
examples/ibm_segmentation.ipynb
examples/ibm_touching_convergence.ipynb
examples/ibm_touching_particles.ipynb
examples/lid_driven_cavity.ipynb
examples/membrane_module_2D.ipynb
examples/membrane_module_2D_Sievert.ipynb
examples/optimization_example.ipynb
examples/particle_model_effectiveness.ipynb
examples/surface_reaction.ipynb
examples/tvd.ipynb
examples/unsteady_convection_reaction.ipynb
examples/unsteady_diffusion_reaction_2D.ipynb
plugins/pymrm/README.md
plugins/pymrm/.claude-plugin/plugin.json
plugins/pymrm/agents/model-verifier.md
plugins/pymrm/evals/a1-flux-at-right-end/prompt.md
plugins/pymrm/evals/a1-flux-at-right-end/graders/answer.md
plugins/pymrm/evals/a1-flux-at-right-end/graders/skill.md
plugins/pymrm/evals/a2-diffusivity-jump/prompt.md
plugins/pymrm/evals/a2-diffusivity-jump/graders/answer.md
plugins/pymrm/evals/a2-diffusivity-jump/graders/skill.md
plugins/pymrm/evals/a3-numjac-shape/prompt.md
plugins/pymrm/evals/a3-numjac-shape/graders/answer.md
plugins/pymrm/evals/a3-numjac-shape/graders/shape.md
plugins/pymrm/evals/a3-numjac-shape/graders/skill.md
plugins/pymrm/evals/a4-tanks-in-series/prompt.md
plugins/pymrm/evals/a4-tanks-in-series/graders/conversion.md
plugins/pymrm/evals/a4-tanks-in-series/graders/skill.md
plugins/pymrm/evals/a4-tanks-in-series/graders/t50.md
plugins/pymrm/evals/a5-newton-scaling/prompt.md
plugins/pymrm/evals/a5-newton-scaling/graders/answer.md
plugins/pymrm/evals/a5-newton-scaling/graders/skill.md
plugins/pymrm/evals/a6-outlet-from-face/prompt.md
plugins/pymrm/evals/a6-outlet-from-face/graders/balance.md
plugins/pymrm/evals/a6-outlet-from-face/graders/conversion.md
plugins/pymrm/evals/a6-outlet-from-face/graders/skill.md
plugins/pymrm/evals/b-a2-1/prompt.md
plugins/pymrm/evals/b-a2-1/graders/dirichlet_inlet_error_at_ww_fig4.md
plugins/pymrm/evals/b-a2-1/graders/skill.md
plugins/pymrm/evals/b-b1-1/prompt.md
plugins/pymrm/evals/b-b1-1/graders/eta_ignited.md
plugins/pymrm/evals/b-b1-1/graders/phi_fold_lower.md
plugins/pymrm/evals/b-b1-1/graders/phi_fold_upper.md
plugins/pymrm/evals/b-b1-1/graders/skill.md
plugins/pymrm/evals/b-b3-2/prompt.md
plugins/pymrm/evals/b-b3-2/graders/skill.md
plugins/pymrm/evals/b-b3-2/graders/theta_early5_g05.md
plugins/pymrm/evals/b-b3-2/graders/theta_late5_g05.md
plugins/pymrm/evals/b-b3-2/graders/zone_width_cm_fig7base.md
plugins/pymrm/evals/b-d2-2/prompt.md
plugins/pymrm/evals/b-d2-2/graders/T_M_at_625K.md
plugins/pymrm/evals/b-d2-2/graders/p0_critical_at_625K.md
plugins/pymrm/evals/b-d2-2/graders/skill.md
plugins/pymrm/evals/b-j1-5/prompt.md
plugins/pymrm/evals/b-j1-5/graders/ldf_worst_abs_err.md
plugins/pymrm/evals/b-j1-5/graders/long_time_decay_constant.md
plugins/pymrm/evals/b-j1-5/graders/skill.md
plugins/pymrm/evals/c1-methanation-runaway/case.yaml
plugins/pymrm/evals/c1-methanation-runaway/prompt.md
plugins/pymrm/evals/c1-methanation-runaway/scaffold.sh
plugins/pymrm/evals/c1-methanation-runaway/graders/order.md
plugins/pymrm/evals/c1-methanation-runaway/graders/outcome.md
plugins/pymrm/evals/c1-methanation-runaway/graders/skill.md
plugins/pymrm/evals/c2-pellet-diffusion/case.yaml
plugins/pymrm/evals/c2-pellet-diffusion/prompt.md
plugins/pymrm/evals/c2-pellet-diffusion/scaffold.sh
plugins/pymrm/evals/c2-pellet-diffusion/graders/order.md
plugins/pymrm/evals/c2-pellet-diffusion/graders/outcome.md
plugins/pymrm/evals/c2-pellet-diffusion/graders/skill.md
plugins/pymrm/evals/c3-membrane-area/case.yaml
plugins/pymrm/evals/c3-membrane-area/prompt.md
plugins/pymrm/evals/c3-membrane-area/scaffold.sh
plugins/pymrm/evals/c3-membrane-area/graders/order.md
plugins/pymrm/evals/c3-membrane-area/graders/outcome.md
plugins/pymrm/evals/c3-membrane-area/graders/skill.md
plugins/pymrm/evals/c4-external-mass-transfer/case.yaml
plugins/pymrm/evals/c4-external-mass-transfer/prompt.md
plugins/pymrm/evals/c4-external-mass-transfer/scaffold.sh
plugins/pymrm/evals/c4-external-mass-transfer/graders/order.md
plugins/pymrm/evals/c4-external-mass-transfer/graders/outcome.md
plugins/pymrm/evals/c4-external-mass-transfer/graders/skill.md
plugins/pymrm/evals/f1-full-documented/case.yaml
plugins/pymrm/evals/f1-full-documented/prompt.md
plugins/pymrm/evals/f1-full-documented/scaffold.sh
plugins/pymrm/evals/f1-full-documented/graders/model_card.md
plugins/pymrm/evals/f1-full-documented/graders/outcome.md
plugins/pymrm/evals/f1-full-documented/graders/spec.md
plugins/pymrm/evals/f1-full-documented/graders/verification.md
plugins/pymrm/evals/f1-full-documented/graders/verifier-agent.md
plugins/pymrm/evals/h1-adsorption-front/prompt.md
plugins/pymrm/evals/h1-adsorption-front/graders/skill.md
plugins/pymrm/evals/h1-adsorption-front/graders/t5.md
plugins/pymrm/evals/h1-adsorption-front/graders/width.md
plugins/pymrm/evals/h2-ternary-diffusion/prompt.md
plugins/pymrm/evals/h2-ternary-diffusion/graders/n_h2.md
plugins/pymrm/evals/h2-ternary-diffusion/graders/n_n2.md
plugins/pymrm/evals/h2-ternary-diffusion/graders/skill.md
plugins/pymrm/evals/h3-hidden-diffusion/case.yaml
plugins/pymrm/evals/h3-hidden-diffusion/prompt.md
plugins/pymrm/evals/h3-hidden-diffusion/scaffold.sh
plugins/pymrm/evals/h3-hidden-diffusion/graders/conversion.md
plugins/pymrm/evals/h3-hidden-diffusion/graders/outcome.md
plugins/pymrm/evals/h3-hidden-diffusion/graders/skill.md
plugins/pymrm/evals/k1-consult-maxwell-stefan/prompt.md
plugins/pymrm/evals/k1-consult-maxwell-stefan/graders/advice.md
plugins/pymrm/evals/k1-consult-maxwell-stefan/graders/skill.md
plugins/pymrm/evals/k2-consult-pushback/prompt.md
plugins/pymrm/evals/k2-consult-pushback/graders/advice.md
plugins/pymrm/evals/k2-consult-pushback/graders/skill.md
plugins/pymrm/evals/k3-consult-contactor/prompt.md
plugins/pymrm/evals/k3-consult-contactor/graders/advice.md
plugins/pymrm/evals/k3-consult-contactor/graders/skill.md
plugins/pymrm/evals/m1-membrane-reversible/prompt.md
plugins/pymrm/evals/m1-membrane-reversible/graders/monolithic.md
plugins/pymrm/evals/m1-membrane-reversible/graders/perm_B.md
plugins/pymrm/evals/m1-membrane-reversible/graders/ret_A.md
plugins/pymrm/evals/m1-membrane-reversible/graders/ret_B.md
plugins/pymrm/evals/m1-membrane-reversible/graders/skill.md
plugins/pymrm/evals/m2-darcy-second-order/prompt.md
plugins/pymrm/evals/m2-darcy-second-order/graders/conversion.md
plugins/pymrm/evals/m2-darcy-second-order/graders/coupled.md
plugins/pymrm/evals/m2-darcy-second-order/graders/skill.md
plugins/pymrm/evals/m3-nested-cylinders/prompt.md
plugins/pymrm/evals/m3-nested-cylinders/graders/c_out.md
plugins/pymrm/evals/m3-nested-cylinders/graders/coupled.md
plugins/pymrm/evals/m3-nested-cylinders/graders/monolithic-style.md
plugins/pymrm/evals/m3-nested-cylinders/graders/skill.md
plugins/pymrm/evals/p1-teaching-profile/prompt.md
plugins/pymrm/evals/p1-teaching-profile/graders/bc-dict.md
plugins/pymrm/evals/p1-teaching-profile/graders/explained.md
plugins/pymrm/evals/p1-teaching-profile/graders/numjac-local.md
plugins/pymrm/evals/p1-teaching-profile/graders/refinement.md
plugins/pymrm/evals/p1-teaching-profile/graders/skill.md
plugins/pymrm/evals/p1-teaching-profile/graders/uses-div.md
plugins/pymrm/evals/p1-teaching-profile/graders/uses-grad.md
plugins/pymrm/evals/p2-efficiency-profile/prompt.md
plugins/pymrm/evals/p2-efficiency-profile/graders/code.md
plugins/pymrm/evals/p2-efficiency-profile/graders/csv.md
plugins/pymrm/evals/p2-efficiency-profile/graders/skill.md
plugins/pymrm/evals/z-env-probe/prompt.md
plugins/pymrm/evals/z-env-probe/graders/bash.md
plugins/pymrm/evals/z-env-probe/graders/import.md
plugins/pymrm/skills/build-model/SKILL.md
plugins/pymrm/skills/build-model/references/consult.md
plugins/pymrm/skills/build-model/references/elicit.md
plugins/pymrm/skills/build-model/references/fidelity.md
plugins/pymrm/skills/build-model/references/model-card-template.md
plugins/pymrm/skills/build-model/references/reactor-selection.md
plugins/pymrm/skills/build-model/references/spec-template.md
plugins/pymrm/skills/build-model/references/structures.md
plugins/pymrm/skills/conventions/SKILL.md
plugins/pymrm/skills/conventions/exemplars/assembly_styles.py
plugins/pymrm/skills/conventions/exemplars/cstr_steady_states.py
plugins/pymrm/skills/conventions/exemplars/dispersion_reactor.py
plugins/pymrm/skills/conventions/exemplars/pellet_teaching.ipynb
plugins/pymrm/skills/conventions/exemplars/steady_pellet.py
plugins/pymrm/skills/conventions/references/api-map.md
plugins/pymrm/skills/conventions/references/assembly-styles.md
plugins/pymrm/skills/conventions/references/numerics.md
plugins/pymrm/skills/conventions/references/pitfalls.md
plugins/pymrm/skills/conventions/references/profiles.md
plugins/pymrm/skills/conventions/references/style-guide.md
plugins/pymrm/skills/conventions/scripts/check_model.py
plugins/pymrm/skills/conventions/scripts/check_notebook_math.py
plugins/pymrm/skills/conventions/scripts/pymrm_checks.py
plugins/pymrm/skills/model-patterns/SKILL.md
plugins/pymrm/skills/model-patterns/exemplars/darcy_gas_reactor.py
plugins/pymrm/skills/model-patterns/exemplars/membrane_reactor.py
plugins/pymrm/skills/model-patterns/exemplars/nested_particle_bed.py
plugins/pymrm/skills/verify-model/SKILL.md
plugins/pymrm/skills/verify-model/references/attack-list.md
scripts/build_documentation.sh
scripts/eval_range_regex.py
scripts/run_examples.py
scripts/run_exercises.py
scripts/run_linter.sh
scripts/run_notebook.py
scripts/run_plugin_evals.sh
scripts/run_tutorials.py
scripts/run_unit_tests.sh
scripts/split_notebook.py
src/pymrm/__init__.py
src/pymrm/_version.py
src/pymrm/checks.py
src/pymrm/convect.py
src/pymrm/coupling.py
src/pymrm/grid.py
src/pymrm/helpers.py
src/pymrm/ibm.py
src/pymrm/ibm_coupling.py
src/pymrm/ibm_recon.py
src/pymrm/interpolate.py
src/pymrm/numjac.py
src/pymrm/operators.py
src/pymrm/particles.py
src/pymrm/segmentation.py
src/pymrm/solve.py
src/pymrm.egg-info/PKG-INFO
src/pymrm.egg-info/SOURCES.txt
src/pymrm.egg-info/dependency_links.txt
src/pymrm.egg-info/requires.txt
src/pymrm.egg-info/scm_file_list.json
src/pymrm.egg-info/scm_version.json
src/pymrm.egg-info/top_level.txt
test/test_checks.py
test/test_convect.py
test/test_coupling.py
test/test_csr_format.py
test/test_grid.py
test/test_helpers.py
test/test_ibm.py
test/test_ibm_coupling.py
test/test_ibm_recon.py
test/test_integration.py
test/test_interpolate.py
test/test_numjac.py
test/test_operators.py
test/test_outflow_bc.py
test/test_particles.py
test/test_pitfalls.py
test/test_plugin_exemplars.py
test/test_readme_example.py
test/test_segmentation.py
test/test_solve.py
tutorials/diffusion_2D.ipynb
tutorials/diffusion_first_order_kinetics.ipynb
tutorials/diffusion_model_class.ipynb
tutorials/introduction_and_start.ipynb
tutorials/nonlinear_kinetics.ipynb
tutorials/stationary_diffusion.ipynb