docs: retire small_strain_plasticity.md, keeping what it alone had - #49
Merged
Conversation
The class the document was named after does not exist: #42, #43 and #40 split it into j2_plasticity, drucker_prager_plasticity and j2_rk_plasticity. Its implementation-map tables pointed at small_strain_plasticity.h and its derivations are superseded by plasticity-theory.md, which covers the same nine sections plus kinematics, the elastic law, the flow rule, hardening, KKT, the multi-stage variant, and what the derivations assume -- with the identities checked against the code rather than asserted. One section was NOT superseded and is ported rather than lost: "Common failure modes", now section 15 of plasticity-theory.md. Four ways an implementation of these equations runs while being wrong: 15.1 eta*I1 with the eta/3 yield normal, or the reverse -- a factor of three in the volumetric coupling, where the residual still converges and only the tangent is wrong. This code uses q + eta*p with s/(2q) + (eta/3)I, and (6.7) is the check: M:C:N reproduces G + K*eta*beta to twelve digits only if the two agree. 15.2 reaching for the J2-shaped N (x) N in the DP derivative, when the volumetric term differentiates away -- which also breaks the 4G^2 collapse, since the extra term is traceless in neither index pair 15.3 converged-state quantities in a tangent whose update used trial ones 15.4 the smooth tangent at q = 0, where it carries 1/q The stale references in the headers are updated too. Two pointed at the deleted file for "the full consistency requirements"; they now point at plasticity-theory.md and, for the normalization traps, at section 15. The rest name the split class in historical or cross-reference statements (j2_plasticity's "split out of", j2_rk_plasticity's shared-code note, vector_newton's example of a caller that throws) and are reworded to describe what exists. plasticity.md's opening said "after the split of j2_plasticity, drucker_prager_plasticity and j2_rk_plasticity", which reads backwards -- the split produced them -- and carried a "current as of PRs #39 and #40" line that is stale now everything is on main. It now says what it is and links to the theory document. Checked: no reference to either deleted class remains anywhere outside build trees, both cross-links resolve, every anchor in the theory document's contents resolves, pandoc still converts all of its math with no fallback, and 263/263 tests pass.
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.
Every reference to
small_strain_plasticityandrk_plasticityonmain— a whole document named after a class that no longer exists, two header comments pointing readers at it, and four historical or cross-reference mentions.The document
docs/small_strain_plasticity.md(1048 lines) is superseded byplasticity-theory.md, which covers the same nine sections plus kinematics, the elastic law, the flow rule, hardening, KKT, the multi-stage variant, and what the derivations assume — with the identities checked against the code rather than asserted. Its implementation-map tables pointed atsmall_strain_plasticity.h, which is gone.One section was not superseded, so it is ported rather than deleted — now §15 of
plasticity-theory.md, four ways an implementation of these equations runs while being wrong:η·I₁paired with theη/3yield normal, or the reverse — a factor of three in the volumetric coupling, where the residual still converges and only the tangent is wrongN⊗Nin the DP derivative, when the volumetric term differentiates awayq = 0, where it carries1/q15.1 is the one worth having written down: both expressions look right in isolation. This code uses
q + η·pwiths/(2q) + (η/3)I, and (6.7) is the check —M : C : NreproducesG + Kηβto twelve digits only if the two agree. 15.2 also connects to §11.3: the spurious volumetric term is traceless in neither index pair, so it breaks the4G²collapse as well.The comments
Two headers sent readers to the deleted file for "the full consistency requirements" (
yield_functions.h,drucker_prager_yield_function.h); they now point atplasticity-theory.mdand, for the normalization traps specifically, at §15. The other four name the split class in historical or cross-reference statements —j2_plasticity's "split out of",j2_rk_plasticity's shared-code note,vector_newton's example of a caller that throws — and are reworded to describe what exists.plasticity.md's opening said "after the split ofj2_plasticity,drucker_prager_plasticityandj2_rk_plasticity", which reads backwards — the split produced those — and carried a "current as of PRs #39 and #40" line that is stale now everything is onmain. It now says what it is and links to the theory document.Checks
No reference to either deleted class remains anywhere outside build trees; both cross-links resolve; every anchor in the theory document's contents resolves; pandoc still converts all 387 of its math expressions to MathML with no fallback and nothing on stderr; 263/263 tests pass.