htpolynet 2.11.2__tar.gz → 2.11.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {htpolynet-2.11.2 → htpolynet-2.11.3}/CHANGELOG.md +33 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/PKG-INFO +1 -1
- {htpolynet-2.11.2 → htpolynet-2.11.3}/pyproject.toml +1 -1
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/core/runtime.py +6 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/cure/ringcontroller.py +41 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/schema/base.yaml +14 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/tests/unit/test_ringcontroller.py +19 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/.claude/settings.json +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/.claude/skills/htpolynet/SKILL.md +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/.envrc +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/.github/workflows/conda-forge-sync.yml +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/.github/workflows/docker.yml +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/.github/workflows/docs.yml +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/.github/workflows/release.yaml +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/.github/workflows/test.yml +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/.gitignore +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/.readthedocs.yaml +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/CITATION.cff +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/CLAUDE.md +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/LICENSE +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/MANIFEST.in +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/README.md +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/ROADMAP.md +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docker/Dockerfile +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docker/compose.yml +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docker/docker-entrypoint.sh +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/Makefile +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/README.rst +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/make.bat +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/requirements.txt +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/_static/.gitkeep +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/_static/htpolynet-favicon.ico +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/_static/htpolynet-landing.jpg +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/_static/htpolynet-logo-dark.png +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/_static/htpolynet-logo-light.png +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/changelog.rst +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/conf.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/0-liquid-styrene/configuration.rst +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/0-liquid-styrene/index.rst +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/0-liquid-styrene/introduction.rst +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/0-liquid-styrene/monomer.rst +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/0-liquid-styrene/postsim.rst +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/0-liquid-styrene/results.rst +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/0-liquid-styrene/run.rst +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/1-polystyrene/configuration.rst +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/1-polystyrene/index.rst +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/1-polystyrene/introduction.rst +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/1-polystyrene/monomer.rst +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/1-polystyrene/pics/STY.png +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/1-polystyrene/pics/STYCC.png +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/1-polystyrene/pics/buildtraces.png +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/1-polystyrene/pics/cure_info.png +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/1-polystyrene/pics/densification-density.png +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/1-polystyrene/pics/final-box.png +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/1-polystyrene/pics/reaction_network.png +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/1-polystyrene/pics/sty-coloring.tcl +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/1-polystyrene/pics/sty-cured.png +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/1-polystyrene/pics/sty-detail.png +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/1-polystyrene/pics/sty-liq.png +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/1-polystyrene/pics/styrene-polymerization.png +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/1-polystyrene/postsim.rst +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/1-polystyrene/reactions.rst +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/1-polystyrene/results.rst +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/1-polystyrene/run.rst +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/2-bisgma-styrene-thermoset/configuration.rst +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/2-bisgma-styrene-thermoset/index.rst +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/2-bisgma-styrene-thermoset/introduction.rst +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/2-bisgma-styrene-thermoset/pics/BPA.png +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/2-bisgma-styrene-thermoset/pics/GMA.png +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/2-bisgma-styrene-thermoset/pics/HIE.png +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/2-bisgma-styrene-thermoset/pics/buildtraces.png +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/2-bisgma-styrene-thermoset/pics/cure_info.png +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/2-bisgma-styrene-thermoset/pics/densification-density.png +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/2-bisgma-styrene-thermoset/pics/four_dimers.eps +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/2-bisgma-styrene-thermoset/pics/four_dimers.fig +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/2-bisgma-styrene-thermoset/pics/four_dimers.png +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/2-bisgma-styrene-thermoset/pics/gma-sty-coloring.tcl +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/2-bisgma-styrene-thermoset/pics/gma-sty-cured.png +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/2-bisgma-styrene-thermoset/pics/gma-sty-detail.png +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/2-bisgma-styrene-thermoset/pics/gma-sty-liq.png +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/2-bisgma-styrene-thermoset/pics/p1-traces.png +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/2-bisgma-styrene-thermoset/pics/reaction_network.png +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/2-bisgma-styrene-thermoset/pics/vesys.eps +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/2-bisgma-styrene-thermoset/pics/vesys.fig +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/2-bisgma-styrene-thermoset/pics/vesys.png +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/2-bisgma-styrene-thermoset/postsim.rst +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/2-bisgma-styrene-thermoset/reactions.rst +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/2-bisgma-styrene-thermoset/results.rst +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/2-bisgma-styrene-thermoset/run.rst +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/3-pacm-dgeba-epoxy-thermoset/configuration.rst +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/3-pacm-dgeba-epoxy-thermoset/index.rst +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/3-pacm-dgeba-epoxy-thermoset/introduction.rst +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/3-pacm-dgeba-epoxy-thermoset/monomers.rst +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/3-pacm-dgeba-epoxy-thermoset/pics/DGE-epoxy.png +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/3-pacm-dgeba-epoxy-thermoset/pics/DGE-labelled.png +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/3-pacm-dgeba-epoxy-thermoset/pics/PAC-2d.png +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/3-pacm-dgeba-epoxy-thermoset/pics/PAC-labelled.png +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/3-pacm-dgeba-epoxy-thermoset/pics/buildtraces.png +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/3-pacm-dgeba-epoxy-thermoset/pics/cure_info.png +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/3-pacm-dgeba-epoxy-thermoset/pics/densification-density.png +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/3-pacm-dgeba-epoxy-thermoset/pics/dge-pac-coloring.tcl +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/3-pacm-dgeba-epoxy-thermoset/pics/dge-pac-cured.png +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/3-pacm-dgeba-epoxy-thermoset/pics/dge-pac-detail.png +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/3-pacm-dgeba-epoxy-thermoset/pics/dge-pac-liq.png +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/3-pacm-dgeba-epoxy-thermoset/pics/dgesys.eps +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/3-pacm-dgeba-epoxy-thermoset/pics/dgesys.fig +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/3-pacm-dgeba-epoxy-thermoset/pics/dgesys.png +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/3-pacm-dgeba-epoxy-thermoset/pics/equil-rho_v_ns.png +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/3-pacm-dgeba-epoxy-thermoset/pics/postsim-typical.png +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/3-pacm-dgeba-epoxy-thermoset/pics/prod-e.png +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/3-pacm-dgeba-epoxy-thermoset/pics/prod-equil-rho_v_ns.png +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/3-pacm-dgeba-epoxy-thermoset/pics/prod-rho_v_ns.png +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/3-pacm-dgeba-epoxy-thermoset/pics/prod-tg.png +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/3-pacm-dgeba-epoxy-thermoset/pics/r1.png +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/3-pacm-dgeba-epoxy-thermoset/pics/r2.png +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/3-pacm-dgeba-epoxy-thermoset/pics/r3.png +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/3-pacm-dgeba-epoxy-thermoset/pics/reaction_network.png +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/3-pacm-dgeba-epoxy-thermoset/pics/rho_v_ns.png +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/3-pacm-dgeba-epoxy-thermoset/pics/short-e.png +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/3-pacm-dgeba-epoxy-thermoset/pics/short-tg.png +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/3-pacm-dgeba-epoxy-thermoset/postsim.rst +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/3-pacm-dgeba-epoxy-thermoset/reactions.rst +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/3-pacm-dgeba-epoxy-thermoset/results.rst +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/3-pacm-dgeba-epoxy-thermoset/run.rst +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/4-dfda-fde-epoxy-thermoset/configuration.rst +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/4-dfda-fde-epoxy-thermoset/index.rst +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/4-dfda-fde-epoxy-thermoset/introduction.rst +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/4-dfda-fde-epoxy-thermoset/monomers.rst +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/4-dfda-fde-epoxy-thermoset/pics/buildtraces.png +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/4-dfda-fde-epoxy-thermoset/pics/cure_info.png +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/4-dfda-fde-epoxy-thermoset/pics/densification-density.png +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/4-dfda-fde-epoxy-thermoset/pics/dfa-fde-coloring.tcl +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/4-dfda-fde-epoxy-thermoset/pics/dfa-fde-cured.png +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/4-dfda-fde-epoxy-thermoset/pics/dfa-fde-detail.png +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/4-dfda-fde-epoxy-thermoset/pics/dfa-fde-liq.png +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/4-dfda-fde-epoxy-thermoset/pics/reaction_network.png +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/4-dfda-fde-epoxy-thermoset/postsim.rst +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/4-dfda-fde-epoxy-thermoset/reactions.rst +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/4-dfda-fde-epoxy-thermoset/results.rst +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/4-dfda-fde-epoxy-thermoset/run.rst +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/5-htpb-ipdi/configuration.rst +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/5-htpb-ipdi/index.rst +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/5-htpb-ipdi/introduction.rst +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/5-htpb-ipdi/monomers.rst +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/5-htpb-ipdi/pics/buildtraces.png +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/5-htpb-ipdi/pics/cure_info.png +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/5-htpb-ipdi/pics/densification-density.png +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/5-htpb-ipdi/pics/htpb-coloring.tcl +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/5-htpb-ipdi/pics/htpb-ipdi-cured.png +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/5-htpb-ipdi/pics/htpb-ipdi-detail.png +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/5-htpb-ipdi/pics/htpb-ipdi-liq.png +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/5-htpb-ipdi/pics/reaction_network.png +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/5-htpb-ipdi/postsim.rst +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/5-htpb-ipdi/reactions.rst +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/5-htpb-ipdi/results.rst +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/5-htpb-ipdi/run.rst +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/6-cyanate-ester/configuration.rst +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/6-cyanate-ester/index.rst +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/6-cyanate-ester/introduction.rst +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/6-cyanate-ester/monomers.rst +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/6-cyanate-ester/pics/badcy-coloring.tcl +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/6-cyanate-ester/pics/badcy-cured.png +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/6-cyanate-ester/pics/badcy-detail.png +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/6-cyanate-ester/pics/badcy-liq.png +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/6-cyanate-ester/pics/buildtraces.png +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/6-cyanate-ester/pics/cure_info.png +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/6-cyanate-ester/pics/densification-density.png +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/6-cyanate-ester/pics/reaction_network.png +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/6-cyanate-ester/postsim.rst +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/6-cyanate-ester/reactions.rst +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/6-cyanate-ester/results.rst +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/6-cyanate-ester/run.rst +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/index.rst +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/htpolynetpackage.rst +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/index.rst +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/install.rst +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/references/index.rst +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/references/mol2-reference.pdf +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/references.bib +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/user-guide/CURE.odg +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/user-guide/bond_filter.odg +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/user-guide/building-a-system.rst +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/user-guide/configs/configs-for-analyze.rst +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/user-guide/configs/configs-for-postsim.rst +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/user-guide/configs/configs-for-run.rst +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/user-guide/configuration-files.rst +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/user-guide/container-usage.rst +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/user-guide/flow1.odg +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/user-guide/flow1yaml.odg +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/user-guide/hydrogenated.eps +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/user-guide/hydrogenated.fig +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/user-guide/index.rst +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/user-guide/molecular-structure-inputs.rst +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/user-guide/periodic-networks.rst +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/user-guide/pics/STY.png +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/user-guide/pics/STYCC.png +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/user-guide/pics/TypicalUsageFlow.png +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/user-guide/pics/bond_filter.png +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/user-guide/pics/chemdoodle-2dsketcher-emb.png +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/user-guide/pics/chemdoodle-2dsketcher-styrene.png +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/user-guide/pics/hydrogenated.png +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/user-guide/pics/ring_pierce/ring_pierce_cases.png +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/user-guide/pics/ring_pierce/ring_pierce_linkcell.png +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/user-guide/postcure-repair.rst +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/user-guide/program-flow.rst +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/user-guide/usage.rst +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/scripts/check-conda-sync.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/scripts/release.sh +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/scripts/render-detail.sh +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/scripts/render-detail.tcl +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/scripts/render-snapshot.sh +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/scripts/run_all_examples.sh +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/__init__.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/analysis/__init__.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/analysis/analyze.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/analysis/plot.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/analysis/postsim.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/analysis/utils.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/cli.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/core/__init__.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/core/bondtemplate.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/core/configuration.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/core/coordinates.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/core/molecule.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/core/paramcache.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/core/productsplice.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/core/projectfilesystem.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/core/topocoord.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/core/topology.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/cure/__init__.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/cure/chain.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/cure/curecontroller.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/cure/expandreactions.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/cure/reaction.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/cure/triplesearch.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/external/__init__.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/external/ambertools.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/external/command.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/external/gromacs.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/external/slurm.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/external/smiles_input.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/external/software.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/geometry/__init__.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/geometry/bondlist.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/geometry/lattice.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/geometry/linkcell.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/geometry/matrix4.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/geometry/placement.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/geometry/ring.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/geometry/templategeom.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/io/__init__.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/io/gro.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/io/mol2.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/io/pdb.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/repair/__init__.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/repair/cyanate_cap.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/repair/topology_surgery.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/resources/README.md +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/resources/__init__.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/resources/claude/SKILL.md +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/resources/example_depot/0-liquid-styrene.yaml +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/resources/example_depot/1-polystyrene.yaml +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/resources/example_depot/2-bisgma-styrene-thermoset.yaml +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/resources/example_depot/3-pacm-dgeba-epoxy-thermoset.yaml +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/resources/example_depot/4-dfda-fde-epoxy-thermoset.yaml +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/resources/example_depot/5-htpb-ipdi.yaml +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/resources/example_depot/6-cyanate-ester.yaml +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/resources/mdp/README.md +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/resources/mdp/drag-min.mdp +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/resources/mdp/drag-npt.mdp +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/resources/mdp/drag-nvt.mdp +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/resources/mdp/min.mdp +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/resources/mdp/npt.mdp +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/resources/mdp/nvt.mdp +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/resources/mdp/relax-min.mdp +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/resources/mdp/relax-npt.mdp +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/resources/mdp/relax-nvt.mdp +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/resources/mdp/single-molecule-min.mdp +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/resources/mdp/single-molecule-nvt.mdp +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/resources/molecules/inputs/DFA.pdb +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/resources/molecules/inputs/DGE.mol2 +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/resources/molecules/inputs/EMB.mol2 +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/resources/molecules/inputs/FDE.pdb +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/resources/molecules/inputs/GMA.mol2 +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/resources/molecules/inputs/PAC.mol2 +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/resources/molecules/inputs/STY.mol2 +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/resources/molecules/make-monomers.sh +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/resources/molecules/pics/DFA.png +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/resources/molecules/pics/DGE.png +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/resources/molecules/pics/EMB.png +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/resources/molecules/pics/FDE.png +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/resources/molecules/pics/GMA.png +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/resources/molecules/pics/PAC.png +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/resources/molecules/pics/STY.png +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/resources/molecules/sample-inputs/DFA.pdb +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/resources/molecules/sample-inputs/DGE.mol2 +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/resources/molecules/sample-inputs/EMB.mol2 +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/resources/molecules/sample-inputs/FDE.pdb +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/resources/molecules/sample-inputs/GMA.mol2 +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/resources/molecules/sample-inputs/PAC.mol2 +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/resources/molecules/sample-inputs/STY.mol2 +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/resources/tcl/readbonds.tcl +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/resources/tcl/readgrx.tcl +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/resources/tcl/render.tcl +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/utils/__init__.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/utils/banner.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/utils/checkpoint.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/utils/convergence.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/utils/dataframetools.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/utils/inputcheck.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/utils/logsetup.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/utils/profiling.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/utils/stringthings.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/src/htpolynet/utils/vmd_viz.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/tests/__init__.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/tests/conftest.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/tests/unit/__init__.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/tests/unit/fixtures/config1.gro +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/tests/unit/fixtures/config1.top +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/tests/unit/fixtures/config2.gro +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/tests/unit/fixtures/config2.top +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/tests/unit/fixtures/items31.edr +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/tests/unit/fixtures/items43.edr +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/tests/unit/fixtures/items45.edr +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/tests/unit/fixtures/short.mdp +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/tests/unit/test_bondtemplate.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/tests/unit/test_cap_placement.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/tests/unit/test_chain.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/tests/unit/test_completion_bias.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/tests/unit/test_conda_sync.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/tests/unit/test_configuration.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/tests/unit/test_convergence.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/tests/unit/test_cure_site_functionality.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/tests/unit/test_dataframetools.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/tests/unit/test_density_gate.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/tests/unit/test_gpu_usability.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/tests/unit/test_gromacs_get_energy_menu.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/tests/unit/test_gromacs_gmx_energy_trace.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/tests/unit/test_inputcheck.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/tests/unit/test_linkcell_pierce.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/tests/unit/test_mdrun_gpu_options.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/tests/unit/test_mol2_bond_fallback.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/tests/unit/test_molecule_charge_report.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/tests/unit/test_moleculetype_name.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/tests/unit/test_multibody_reactions.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/tests/unit/test_paramcache.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/tests/unit/test_paramcache_ambertools.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/tests/unit/test_parameterize_react.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/tests/unit/test_placement_and_ringclose.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/tests/unit/test_plot_smoke.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/tests/unit/test_productsplice.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/tests/unit/test_projectfilesystem.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/tests/unit/test_relax_instrumentation.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/tests/unit/test_repair_charge_neutrality.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/tests/unit/test_repair_conversion.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/tests/unit/test_resources.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/tests/unit/test_ring.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/tests/unit/test_ring_pierce_figs.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/tests/unit/test_setup_claude.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/tests/unit/test_sibling_templates.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/tests/unit/test_slurm_script.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/tests/unit/test_smiles_input.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/tests/unit/test_software_provenance.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/tests/unit/test_templategeom.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/tests/unit/test_topology/test.top +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/tests/unit/test_topology.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/tests/unit/test_transrot_turn_scan.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/tests/unit/test_triplesearch.py +0 -0
- {htpolynet-2.11.2 → htpolynet-2.11.3}/tests/unit/test_user_frcmod.py +0 -0
|
@@ -7,6 +7,39 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [2.11.3] - 2026-09-23
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
|
|
14
|
+
- **A ring cure handed its last batch of rings to postcure unrelaxed.** Every batch
|
|
15
|
+
but the last is relaxed twice: once by the per-iteration relax as soon as its bonds
|
|
16
|
+
exist, and again by the *next* iteration's closure ladder, which is eight
|
|
17
|
+
minimizations and 16 ps at 600 K against the relax's one minimization and 4 ps at
|
|
18
|
+
300 K. The final batch only ever gets the first, and then goes straight into a
|
|
19
|
+
500 K anneal.
|
|
20
|
+
|
|
21
|
+
htpolynet-study measured it on three 2.11.1 builds, all of which had ended on a
|
|
22
|
+
ring-forming iteration and had therefore been relaxed. Bond energy entering the
|
|
23
|
+
anneal tracked how many rings that last iteration formed -- 1, 1 and 4 rings for
|
|
24
|
+
18849, 26113 and 35959 kJ/mol, against 13619 +/- 226 for a route that enters already
|
|
25
|
+
relaxed. An inventory of one such structure found five bonds beyond 2.0 A: one
|
|
26
|
+
triazine's three ring bonds at 2.24 A, and two monomers whose own backbones the
|
|
27
|
+
ladder had stretched to 2.34 and 3.20 A while pulling their arms toward different
|
|
28
|
+
rings. Eleven of twenty builds died in the anneal.
|
|
29
|
+
|
|
30
|
+
The cure now runs a minimization and a short 300 K NVT once on exit, mirroring what
|
|
31
|
+
the postcure repair stage already did for the route that never saw this. It is
|
|
32
|
+
unconditional -- the cure has four ways to end and which of them leaves strain behind
|
|
33
|
+
is not worth reasoning about per exit -- and configurable as `ring_cure.settle`.
|
|
34
|
+
|
|
35
|
+
Confirmed paired, same eight velocity seeds against the same two structures on the
|
|
36
|
+
same hardware: two anneals exploded without the settle and none with it. The two
|
|
37
|
+
came from different source structures, one of which had never failed in production,
|
|
38
|
+
so the effect is not particular to a pathological build, and nothing exploded during
|
|
39
|
+
the settle itself -- the minimization absorbs the strain rather than the failure
|
|
40
|
+
moving earlier. Eight seeds is a small sample and that comparison alone would be
|
|
41
|
+
weak; it is corroboration of the bond energies above, not the case on its own.
|
|
42
|
+
|
|
10
43
|
## [2.11.2] - 2026-09-23
|
|
11
44
|
|
|
12
45
|
### Fixed
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: htpolynet
|
|
3
|
-
Version: 2.11.
|
|
3
|
+
Version: 2.11.3
|
|
4
4
|
Summary: Automated MD System Builder for Amorphous Network Polymers
|
|
5
5
|
Project-URL: Source, https://github.com/cameronabrams/htpolynet
|
|
6
6
|
Project-URL: Documentation, https://htpolynet.readthedocs.io/
|
|
@@ -718,6 +718,12 @@ class Runtime:
|
|
|
718
718
|
rc.state.iter += 1
|
|
719
719
|
pfs.go_proj()
|
|
720
720
|
rc.state.to_yaml(statefile)
|
|
721
|
+
# the last batch of rings never sees another closure ladder, so it reaches
|
|
722
|
+
# postcure carrying whatever the ladder left in it
|
|
723
|
+
pfs.go_to(pfs.Dirs.systems_iter(rc.state.iter))
|
|
724
|
+
TC.grab_files()
|
|
725
|
+
rc.settle(TC, gromacs_dict=gromacs_dict)
|
|
726
|
+
pfs.go_proj()
|
|
721
727
|
self._report_molecule_charges('after ring cure')
|
|
722
728
|
my_logger(f'Ring cure ends: {rc.state.rings} ring(s), conversion '
|
|
723
729
|
f'{rc.state.conversion:.3f}', logger.info)
|
|
@@ -96,6 +96,8 @@ class RingController:
|
|
|
96
96
|
'same_residue': False,
|
|
97
97
|
'relax': [{'ensemble': 'min'},
|
|
98
98
|
{'ensemble': 'nvt', 'temperature': 300, 'nsteps': 2000}],
|
|
99
|
+
'settle': [{'ensemble': 'min'},
|
|
100
|
+
{'ensemble': 'nvt', 'temperature': 300, 'nsteps': 2500}],
|
|
99
101
|
'closure': {'nstages': 8, 'target': 0.15, 'kb': 300000.0, 'max_accept': 0.30,
|
|
100
102
|
'equilibration': [{'ensemble': 'min'},
|
|
101
103
|
{'ensemble': 'nvt', 'temperature': 600, 'nsteps': 1000}]},
|
|
@@ -341,6 +343,45 @@ class RingController:
|
|
|
341
343
|
gromacs_dict or {})
|
|
342
344
|
logger.info(f'Iteration {self.state.iter}: new ring bonds relaxed')
|
|
343
345
|
|
|
346
|
+
def settle(self, TC, gromacs_dict=None):
|
|
347
|
+
"""Relaxes the network one last time before the cure hands it on.
|
|
348
|
+
|
|
349
|
+
Every batch of rings but the last is relaxed twice: once by :meth:`relax` as
|
|
350
|
+
soon as its bonds exist, and again -- much harder -- by the next iteration's
|
|
351
|
+
closure ladder, which is eight minimizations and 16 ps at 600 K against relax's
|
|
352
|
+
one minimization and 4 ps at 300 K. The final batch only ever gets the first,
|
|
353
|
+
and whatever the cure ends on goes straight into postcure.
|
|
354
|
+
|
|
355
|
+
Measured by htpolynet-study on three 2.11.1 builds, all of which ended on a
|
|
356
|
+
ring-forming iteration, so all of which had been relaxed: bond energy entering
|
|
357
|
+
the anneal tracked how many rings that last iteration formed -- 1, 1 and 4 rings
|
|
358
|
+
for 18849, 26113 and 35959 kJ/mol, against 13619 +/- 226 for a route that enters
|
|
359
|
+
already relaxed. An inventory of one such structure found five bonds beyond
|
|
360
|
+
2.0 A: one triazine's three ring bonds at 2.24 A, and two monomers whose own
|
|
361
|
+
backbones the ladder had stretched to 2.34 and 3.20 A while pulling their two
|
|
362
|
+
arms toward different rings. Nothing after the restraints come off relieves
|
|
363
|
+
either, and the strain then has to be absorbed by a 500 K anneal, which is where
|
|
364
|
+
11 of 20 builds died.
|
|
365
|
+
|
|
366
|
+
Unconditional on purpose. The cure has four ways to end -- target reached,
|
|
367
|
+
iterations exhausted, radius exhausted, every ring declined -- and which of them
|
|
368
|
+
leaves strain behind is not worth reasoning about per exit when the remedy is
|
|
369
|
+
this cheap.
|
|
370
|
+
|
|
371
|
+
Args:
|
|
372
|
+
TC (TopoCoord): the system
|
|
373
|
+
gromacs_dict (dict): gromacs directives
|
|
374
|
+
"""
|
|
375
|
+
stages = self.dicts['settle']
|
|
376
|
+
if not stages:
|
|
377
|
+
return False
|
|
378
|
+
TC.write_top(f'ringsettle-{self.state.iter}.top')
|
|
379
|
+
TC.write_gro(f'ringsettle-{self.state.iter}.gro')
|
|
380
|
+
self._run_stages(TC, f'ringsettle-{self.state.iter}', stages, gromacs_dict or {})
|
|
381
|
+
logger.info(f'Ring cure settled after {self.state.rings} ring(s); the network is '
|
|
382
|
+
f'relaxed before postcure rather than at 500 K')
|
|
383
|
+
return True
|
|
384
|
+
|
|
344
385
|
def _run_stages(self, TC, deffnm, stages, gromacs_dict):
|
|
345
386
|
"""Runs one equilibration sequence, as the cure's ladders do."""
|
|
346
387
|
for stage in stages:
|
|
@@ -842,6 +842,20 @@ attributes:
|
|
|
842
842
|
Allow two groups of one residue in a ring, which for a dicyanate is both
|
|
843
843
|
arms into one triazine.
|
|
844
844
|
default: false
|
|
845
|
+
- name: settle
|
|
846
|
+
type: list
|
|
847
|
+
text: >
|
|
848
|
+
Equilibration run once at the end of the cure, before postcure. Every
|
|
849
|
+
batch of rings but the last is relaxed again by the next iteration's
|
|
850
|
+
closure ladder; the last one is not, and reaches postcure still carrying
|
|
851
|
+
the strain the ladder left -- stretched ring bonds, and monomers whose
|
|
852
|
+
backbones were pulled while their arms went to different rings. An empty
|
|
853
|
+
list skips it.
|
|
854
|
+
default:
|
|
855
|
+
- ensemble: min
|
|
856
|
+
- ensemble: nvt
|
|
857
|
+
temperature: 300
|
|
858
|
+
nsteps: 2500
|
|
845
859
|
- name: closure
|
|
846
860
|
type: dict
|
|
847
861
|
text: >
|
|
@@ -357,3 +357,22 @@ class TestATripleThatFailedIsNotTriedAgainWhileAnythingElseIsLeft(unittest.TestC
|
|
|
357
357
|
_, out_c = c.accept(bdf, work, chosen)
|
|
358
358
|
self.assertEqual(len(out_c), 1)
|
|
359
359
|
self.assertEqual(c.declined, set())
|
|
360
|
+
|
|
361
|
+
|
|
362
|
+
class TestSettlingTheNetworkOnExit(unittest.TestCase):
|
|
363
|
+
"""Every batch of rings but the last is relaxed twice -- once by `relax`, then much
|
|
364
|
+
harder by the next iteration's closure ladder. The last batch only gets the first,
|
|
365
|
+
and goes to a 500 K anneal carrying whatever the ladder left in it."""
|
|
366
|
+
|
|
367
|
+
def test_it_is_on_by_default(self):
|
|
368
|
+
c = RingController({})
|
|
369
|
+
self.assertEqual([s['ensemble'] for s in c.dicts['settle']], ['min', 'nvt'])
|
|
370
|
+
|
|
371
|
+
def test_an_empty_list_skips_it(self):
|
|
372
|
+
# and does not touch the system, so a caller that disables it pays nothing
|
|
373
|
+
c = RingController({'settle': []})
|
|
374
|
+
self.assertFalse(c.settle(None))
|
|
375
|
+
|
|
376
|
+
def test_a_caller_can_replace_the_stages(self):
|
|
377
|
+
c = RingController({'settle': [{'ensemble': 'npt', 'temperature': 400}]})
|
|
378
|
+
self.assertEqual(c.dicts['settle'], [{'ensemble': 'npt', 'temperature': 400}])
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/0-liquid-styrene/index.rst
RENAMED
|
File without changes
|
|
File without changes
|
{htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/0-liquid-styrene/monomer.rst
RENAMED
|
File without changes
|
{htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/0-liquid-styrene/postsim.rst
RENAMED
|
File without changes
|
{htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/0-liquid-styrene/results.rst
RENAMED
|
File without changes
|
{htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/0-liquid-styrene/run.rst
RENAMED
|
File without changes
|
{htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/1-polystyrene/configuration.rst
RENAMED
|
File without changes
|
|
File without changes
|
{htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/1-polystyrene/introduction.rst
RENAMED
|
File without changes
|
{htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/1-polystyrene/monomer.rst
RENAMED
|
File without changes
|
{htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/1-polystyrene/pics/STY.png
RENAMED
|
File without changes
|
{htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/1-polystyrene/pics/STYCC.png
RENAMED
|
File without changes
|
|
File without changes
|
{htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/1-polystyrene/pics/cure_info.png
RENAMED
|
File without changes
|
|
File without changes
|
{htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/1-polystyrene/pics/final-box.png
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/1-polystyrene/pics/sty-cured.png
RENAMED
|
File without changes
|
|
File without changes
|
{htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/1-polystyrene/pics/sty-liq.png
RENAMED
|
File without changes
|
|
File without changes
|
{htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/1-polystyrene/postsim.rst
RENAMED
|
File without changes
|
{htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/1-polystyrene/reactions.rst
RENAMED
|
File without changes
|
{htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/1-polystyrene/results.rst
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/5-htpb-ipdi/configuration.rst
RENAMED
|
File without changes
|
|
File without changes
|
{htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/5-htpb-ipdi/introduction.rst
RENAMED
|
File without changes
|
{htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/5-htpb-ipdi/monomers.rst
RENAMED
|
File without changes
|
{htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/5-htpb-ipdi/pics/buildtraces.png
RENAMED
|
File without changes
|
{htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/5-htpb-ipdi/pics/cure_info.png
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/5-htpb-ipdi/reactions.rst
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/6-cyanate-ester/index.rst
RENAMED
|
File without changes
|
{htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/6-cyanate-ester/introduction.rst
RENAMED
|
File without changes
|
{htpolynet-2.11.2 → htpolynet-2.11.3}/docs/source/example-tutorials/6-cyanate-ester/monomers.rst
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|