Open
Conversation
Updated all mechanical UMAT function signatures to include a `const std::string &umat_name` parameter for model identification and symmetry selection. Removed the SMA_mono_cubic model and consolidated SMA cubic symmetry support into the SMA_mono model. Improved documentation for external UMAT plugin interface and SMA monocrystal model, and cleaned up legacy or redundant parameters in elasticity and plasticity UMATs.
Updated all UMAT function signatures to include a 'const std::string &umat_name' parameter and removed unused or redundant arguments such as sigma_in and solver_type. Adjusted corresponding implementation files to match the new interfaces and removed conditional logic based on solver_type, always computing the tangent modulus Lt. This change standardizes the UMAT API for easier extensibility and plugin integration.
Deleted the Mooney-Rivlin constitutive model source and header files from the codebase. This removes the finite strain UMAT implementation for Mooney-Rivlin materials, possibly due to deprecation or refactoring.
Refactored UMAT function pointer definitions and usage to use unified signatures that include the umat_name parameter. Updated all UMAT function calls in both the Python wrapper and core C++ code to pass umat_name as the first argument, simplifying the interface and improving consistency across small-strain and finite-strain UMATs.
The umat_neo_hookean_incomp function now takes a std::string umat_name parameter for improved interface consistency. All calls and definitions have been updated accordingly, and the parameter is marked as unused in the implementation.
Enhanced the data file search logic in hyperelastic_parameter_identification.py to support both direct execution and Sphinx-Gallery contexts, improving robustness. Updated the UMAT interface in umat_plugin_ext.cpp to add a umat_name argument, remove unused arguments, and simplify logic for setting Lt and sigma_in.
Remove dedicated anisotropic SMA UMAT (aniso_T.hpp/.cpp) and extend the unified SMA UMAT interfaces and docs. The mechanical unified header now documents and supports four variants (SMADI, SMADC, SMAAI, SMAAC) with updated props/statev descriptions; the thermomechanical unified header adds includes, expands props/statev mapping (including DFA parameters) and renames/changes the thermomechanical function signature to umat_sma_unified_T_T with additional outputs. Python wrapper mappings were updated to register the new UMAT names and the aniso include/registration was removed. CMakeLists was updated to drop aniso_T.cpp from the build. Note: this is a breaking API change (removed aniso entry and altered unified thermomechanical function signature), callers and bindings must be adapted accordingly.
Replace occurrences of the unscoped sim_iota with the namespaced simcoon::iota in multiple UMAT plasticity CCP implementations (Ani_chaboche, DFA_chaboche, Generic_chaboche, Hill_chaboche, plastic_chaboche, plastic_isotropic, plastic_kin_iso). This standardizes the reference to the iota constant and avoids potential name-resolution/compilation issues.
with simcoon 1.10.X and earlier versions
Add ANSYS (UMANS) format mention and simplify/refactor the UMEXT plugin API and documentation. Key changes: - Docs: list three plugin formats (UMEXT, UMABA, UMANS), update example filenames (UMAT_ABAQUS_ELASTIC.for -> .f), and change test build flag to -DSIMCOON_BUILD_TESTS=ON. - API: add a material name parameter (umat_name) to the external UMAT callback, remove solver_type and sigma_in parameters from the signature and the solver-specific branching. - Implementation: adapt umat_plugin_ext example to the new signature (mark umat_name unused), always set Lt = L, and clean up unused variables/whitespace. - Header: prune and streamline the long comment block for external_umat.hpp, keeping concise documentation and references to plugin APIs. These changes simplify the UMEXT interface, unify behavior across solver types, and bring documentation and examples in line with the updated API.
Replace terse triple-slash comments with comprehensive Doxygen block documentation in both Mechanical and Thermomechanical unified_T.hpp headers. Adds author/version, detailed parameter lists (props and statev) for SMADI/SMADC/SMAAI/SMAAC variants, usage notes, mathematical background, references, and doxygen group markers. Function signatures and APIs are unchanged; this commit only improves inline documentation and developer-facing header comments.
chemiskyy
commented
Feb 14, 2026
include/simcoon/Continuum_mechanics/Umat/Mechanical/External/external_umat.hpp
Show resolved
Hide resolved
simcoon-python-builder/src/python_wrappers/Libraries/Continuum_mechanics/umat.cpp
Show resolved
Hide resolved
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.
No description provided.