libAtoms / matscipy

Materials science with Python at the atomic-scale
http://libatoms.github.io/matscipy/
GNU Lesser General Public License v2.1
188 stars 55 forks source link

added FCC dislocations to dislocation module #151

Closed pgrigorev closed 1 year ago

pgrigorev commented 1 year ago

The main enhancement is the addition of 1/2<110>{111} edge and screw dislocations in FCC. In FCC these dislocations dissociate into two 1/6<112>{111} Shockley partials as for example: 1/2[1-10] = 1/6<2-1-1> + ISF + 1/6<1-21>. The implementation includes:

I also added relevant test and fixed few bugs. CubicCrystalDissociatedDislocation was significantly reworked. Now it checks that provided partials have same properties and the sum of the burgers vectors results in the desired value. After that the properties of the resulting dislocation are taken from one of the partials. It makes the code more readable and robust.

jameskermode commented 1 year ago

Looks good, thanks @pgrigorev. I'll be happy to merge anyway, but I left a couple of optional comments for you to consider.

jameskermode commented 1 year ago

The cirrus CI failures should be fixed by #149 and #150. Please rebase/merge from main into this branch to confirm this before we merge this PR.

pgrigorev commented 1 year ago

Thank you very much for such a quick response! I will happily rebase and take into account other comments.

jameskermode commented 1 year ago

Thanks!