User Tools

Site Tools


tut:gb

How to create GB

Single element GB

Download structure of supercell with GB from Crystalium database.

Twin GB in C2/m Li2MnO3

Take a unit cell of Li2MnO3:

and use the following script:

from siman.geo import create_supercell
from siman.geo import two_cell_to_one
from structures import *
from siman.calc_manage   import add_loop, res_loop, smart_structure_read
from siman.header import db
 
 
 
 
#create twin
if 1:
    st = smart_structure_read(path_to_file/Li2MnO3.POSCAR)
    st = st.get_conventional_cell()
 
    mul_matrix = [[1,-1,0],[1,1,0],[1,0,3]]
    sc = create_supercell(st, mul_matrix, mul = (0.5,0.5,1))
    if 1:
         sc.rprimd[0][2] = 0
         sc.rprimd[1][2] = 0
         sc.rprimd[2][1] = 0
         sc.update_xcart()
         print(sc.rprimd)
 
    sc = sc.shift_atoms([0,0,0.5])
    scm = sc.mirror(2)
    scm.name+='m'
    scm = scm.shift_atoms([0,0,1], return2cell=0)
    sc.rprimd[2] = sc.rprimd[2]*2
    sct = two_cell_to_one(sc, scm)
    sct.update_xred()
    sct.name+='t'

Constructed supercell:

The same GB with applied periodic translation:

from siman.geo import create_supercell
from siman.geo import two_cell_to_one
from structures import *
from siman.calc_manage   import add_loop, res_loop, smart_structure_read
from siman.header import db



sc = smart_structure_read(input_geo_file = 'POSCAR_sc48') 
sc=sc.shift_atoms([0,0,0.01])


# sc.write_poscar()

scm = sc.mirror(2)
scm.name+='m'
sc=sc.mov_atoms(iat = 2, to_xr = [0,0,-1], relative = True)
sc=sc.mov_atoms(iat = 6, to_xr = [0,0,-1], relative = True)
# scm.write_poscar()
scm = scm.shift_atoms([0,0,1], return2cell=0)
# scm.write_poscar()

sc.rprimd[2] = sc.rprimd[2]*2
sct = two_cell_to_one(sc, scm)
sct.update_xred()
sct.name+='_GB'

sct=sct.mov_atoms(iat = 3, to_xr = [0,0,0.5], relative = True)
sct=sct.mov_atoms(iat = 7, to_xr = [0,0,0.5], relative = True)

sct=sct.shift_atoms([0,0,0.25])
print(sct.get_reduced_composition())
sct.write_poscar()
tut/gb.txt · Last modified: 2024/08/23 15:12 by a.boev

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki