forked from 1b-agent/fieldcraft-upstream
verification: implicit plasticity oracle cases and documentation
Four cases, each against its closed form: uniaxial tension of a J2 cube to a logarithmic strain of 0.2 (Kirchhoff stress exact; 0.13 % from the explicit solver's hypoelastic Cauchy stress, the elastic volume change between the two laws), the Bauschinger effect of linear kinematic hardening on a load path back to zero strain (exact), Hill's elastic-perfectly plastic thick cylinder (bore displacement at a plastic radius of 1.5a within 0.009 %, collapse pressure within 2e-8; the pending case is now active) and a cantilever's plastic collapse, converged 3.1 % above beam theory's hinge, the bound a continuum exceeds. docs/fem.md, the literature, ROADMAP (M15), parity and the oracle page follow. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01NmAttHhUZTokgPeEJia8sm
This commit is contained in:
1 parent
17b2c837f2
commit
7a69fe5e2f
21 files changed
+414
-25
No files matched your search
@@ -0,0 +1,45 @@
|
||||
{
|
||||
"title": "Bauschinger effect of linear kinematic hardening: tension, then back to zero strain",
|
||||
"kind": "theory",
|
||||
"source": "J2 plasticity with Prager's linear kinematic hardening in uniaxial stress (W. Prager, Ing.-Arch. 1955; Simo and Hughes, Computational Inelasticity, Springer 1998, §2.3): from σ_a = σ_y + E_t (ε_a − σ_y/E) the material unloads elastically by 2σ_y and then hardens with E_t, so at zero strain σ = σ_a − 2σ_y − E_t (ε_a − 2σ_y/E)",
|
||||
"quantities": [
|
||||
{
|
||||
"id": "residual_stress",
|
||||
"quantity": "axial stress back at zero strain after a pull to ε_a = 0.01",
|
||||
"measure": {
|
||||
"command": "solve.probe",
|
||||
"params": {
|
||||
"step": "Pull",
|
||||
"elements": [
|
||||
1
|
||||
]
|
||||
},
|
||||
"pointer": "/elements/0/stress/0/0"
|
||||
},
|
||||
"value": -247.52475247524754,
|
||||
"tolerance": {
|
||||
"relative": 1e-06
|
||||
},
|
||||
"reason": "a homogeneous small-strain state the element represents exactly, with increments that end at the load path's turn; isotropic hardening would give −281.835 (it yields again only at −σ_a)"
|
||||
},
|
||||
{
|
||||
"id": "plastic_strain",
|
||||
"quantity": "accumulated equivalent plastic strain",
|
||||
"measure": {
|
||||
"command": "solve.probe",
|
||||
"params": {
|
||||
"step": "Pull",
|
||||
"elements": [
|
||||
1
|
||||
]
|
||||
},
|
||||
"pointer": "/elements/0/plastic_strain/0"
|
||||
},
|
||||
"value": 0.016089108910891083,
|
||||
"tolerance": {
|
||||
"relative": 1e-06
|
||||
},
|
||||
"reason": "(σ_a − σ_y)/H forward plus E/(E + H) (ε_a − 2σ_y/E) in reverse"
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in new issue
Block a user