Skip to content

Release/towards2 0 - #98

Merged
chemiskyy merged 2 commits into
masterfrom
release/towards2_0
Jul 22, 2026
Merged

Release/towards2 0#98
chemiskyy merged 2 commits into
masterfrom
release/towards2_0

Conversation

@chemiskyy

Copy link
Copy Markdown
Member

This pull request introduces several important updates and documentation clarifications for the upcoming 2.0 release of the simcoon mechanics simulation library. The main changes include improved documentation for the modular UMAT engine and its legacy adapters, updates to tensor type tagging for improved clarity and safety, and a new utility to ensure consistent time anchoring when parsing legacy tabular input files. Additionally, the package version is bumped to 2.0.0b1.

Documentation and API updates:

  • Updated documentation to clarify that most legacy plasticity UMATs are now served via the modular engine with legacy name adapters, and described the accuracy of modular equivalence for different model families (docs/cpp_api/continuum_mechanics_overview.md, docs/simulation/umat_catalog.rst). [1] [2]
  • Added and improved API documentation for tensor types and kinematic step generation functions (tensor.hpp, step_meca.hpp, step_thermomeca.hpp). [1] [2] [3]

Tensor type tagging and code safety:

  • Replaced uses of VoigtType with Tensor2Type in all tensor construction and conversion calls, improving clarity and type safety in both example and plugin UMATs (umat_tutorial_J2.cpp, umat_plugin_ext_EPICP.cpp, umat_plugin_ext_NEOHC.cpp). [1] [2] [3] [4] [5] [6] [7]

Python interface improvements:

  • Added _reanchor_tabular_times utility to the Python solver file parser to ensure legacy tabular input files are correctly time-anchored, matching C++ file reader behavior (files.py).

Versioning:

  • Bumped package version to 2.0.0b1 in preparation for the new release (pyproject.toml).

Code cleanup:

  • Removed the obsolete umat_prototype_tensor.cpp example.

Multiple API, docs and bug-fix changes:

- Introduce typed tensor API updates (Tensor2Type) and propagate to examples/plugins/tests; replace VoigtType use and add file-level tensor.hpp docstring.
- Update UMAT documentation and catalog to explain modular engine/adapters and legacy name mapping.
- Delete prototype example (examples/umat_prototype_tensor.cpp).
- Bench: call Python core solver via sim._core.solver.
- Python: fix in-memory file parsing by re-anchoring tabular times to match C++ reader; add detailed solver_run pybind11 signature docs.
- C++: clamp SMA algorithmic tangent to continuum to avoid ill-conditioned FD Hessian; throw on missing mode-3 increment file; fix step_thermomeca file header and add generate_kin docs in step headers.
- Tests: adjust reference driver to pass tangent_mode and update reference kernel file headers/names for clarity.

These changes improve type safety for tensors, document modular UMAT behavior, align Python/C++ file parsing semantics, and harden solver behavior on edge cases.

@chemiskyy chemiskyy left a comment

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

LGTM

@chemiskyy
chemiskyy merged commit 74499f8 into master Jul 22, 2026
7 checks passed
@github-project-automation github-project-automation Bot moved this from Backlog to Done in simcoon 2.0 Jul 22, 2026
@chemiskyy
chemiskyy deleted the release/towards2_0 branch July 22, 2026 10:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant