Skip to content

ENH: Add Rice-Thompson criterion for dislocation emission (K1e)#304

Draft
jameskermode wants to merge 2 commits intomasterfrom
rice-emission-criterion
Draft

ENH: Add Rice-Thompson criterion for dislocation emission (K1e)#304
jameskermode wants to merge 2 commits intomasterfrom
rice-emission-criterion

Conversation

@jameskermode
Copy link
Member

Summary

  • Adds methods to RectilinearAnisotropicCrack for computing the critical stress intensity factor for dislocation emission (K1e), enabling comparison with the Griffith cleavage K1c (k1g) to evaluate ductile vs brittle behavior via the Rice-Thompson criterion
  • Implements both isotropic (k1e_iso, Rice JMPS 1992) and anisotropic (k1e_aniso, Beltz & Rice JMPS 1994) solutions
  • Adds critical energy release rate methods g1e (Rice 1992) and g1e_fcc (Andric & Curtin JMPS 2017)

New methods on RectilinearAnisotropicCrack

Method Description
g1e(max_gamma) Critical energy release rate for emission (= unstable stacking fault energy)
g1e_fcc(surface_energy, max_gamma) Energy release rate for FCC emission (Andric & Curtin 2017)
k1e_iso(max_gamma, phi, theta) K1e using isotropic elasticity
k1e_aniso(max_gamma, phi, theta) K1e using anisotropic elasticity

References

  • J. R. Rice, "Dislocation nucleation from a crack tip: An analysis based on the Peierls concept", JMPS (1992)
  • G. E. Beltz and J. R. Rice, "Dislocation nucleation at metal-ceramic interfaces", JMPS (1994)
  • P. Andric and W. A. Curtin, "New theory for Mode I crack-tip dislocation emission", JMPS (2017)

Test plan

  • Verify K1e values against published results for known materials (e.g. Si, Fe, Cu)
  • Compare isotropic vs anisotropic solutions for cubic crystals
  • Add unit tests for the new methods

Cherry-picked from the emission branch (commit 5012798 by @leiapple).

🤖 Generated with Claude Code

@jameskermode jameskermode marked this pull request as draft February 20, 2026 14:12
- Forward C and RotationMatrix from CubicCrystalCrack to
  RectilinearAnisotropicCrack so k1e_iso/k1e_aniso can access them
- Fix k1e_iso: replace undefined self.B with correct plane-strain
  Irwin factor B_irwin = (1-nu^2)/E
- Add test_rice_emission.py with 12 tests covering g1e, g1e_fcc,
  k1e_iso, and k1e_aniso methods

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
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.

1 participant