Skip to content

Refactor and improve several constitutive laws - #50

Merged
pruliere merged 3 commits into
masterfrom
clean_constitutive_laws
Jul 21, 2026
Merged

Refactor and improve several constitutive laws#50
pruliere merged 3 commits into
masterfrom
clean_constitutive_laws

Conversation

@pruliere

Copy link
Copy Markdown
Collaborator

Improve constitutive laws, modernize FE², and add nonlinear shell integration

  • Refactor and fix the pedagogical ElastoPlasticity law, including vectorized radial return, corrected hardening and PEP 8 APIs.
  • Modernize FE² using problem-level MeanStrain DOFs and remove obsolete virtual-node machinery.
  • Add nonlinear homogeneous and laminate shell laws with through-thickness material integration and Simcoon support.
  • Improve cohesive behavior with vectorized damage, optional consistent tangent and updated-Lagrangian interface support.
  • Add focused tests and examples, while removing obsolete constitutive-law modules.

pruliere and others added 3 commits July 17, 2026 17:32
…egration

- Refactor and fix the pedagogical ElastoPlasticity law, including vectorized radial return, corrected hardening and PEP 8 APIs.
- Modernize FE² using problem-level MeanStrain DOFs and remove obsolete virtual-node machinery.
- Add nonlinear homogeneous and laminate shell laws with through-thickness material integration and Simcoon support.
- Improve cohesive behavior with vectorized damage, optional consistent tangent and updated-Lagrangian interface support.
- Add focused tests and examples, while removing obsolete constitutive-law modules.
Cohesive law: generalize separation handling to support 2D/3D (variable component count), validate the normal axis for the given dimensionality, and cache mode-onset/failure separations (_delta_0_I/_delta_0_II/_delta_m_II) to avoid recomputing them per Gauss point. Adjust tangent and damage-gradient shapes to use the actual number of components. Elasto-plasticity: clarify that the pedagogical ElastoPlasticity is 3D-only and update the plane-stress error to recommend using a Simcoon law for 2Dstress/through-thickness shell plasticity. Shells: fix membrane/bending/twist strain component mappings (correct indices and signs) and extract shared helpers (_copy_state, _tangent_array, _strain_matrix) to module-level for reuse across nonlinear shell classes; update callers accordingly and add guidance in docstrings about using Simcoon for plane-stress material laws. These changes fix indexing/shape bugs and reduce redundant computations.
@pruliere
pruliere merged commit 26bd696 into master Jul 21, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants