/doc/ase/structure.py

https://gitlab.com/vote539/ase · Python · 35 lines · 29 code · 5 blank · 1 comment · 3 complexity · bce88daa4c865b6bacd1ad8e7264fbf1 MD5 · raw file

  1. # creates: a1.png a2.png a3.png cnt1.png cnt2.png gnr1.png gnr2.png
  2. from ase.io import write
  3. from ase.lattice import bulk
  4. from ase.structure import nanotube, graphene_nanoribbon
  5. import numpy as np
  6. for i, a in enumerate([
  7. bulk('Cu', 'fcc', a=3.6),
  8. bulk('Cu', 'fcc', a=3.6, orthorhombic=True),
  9. bulk('Cu', 'fcc', a=3.6, cubic=True)]):
  10. write('a%d.pov' % (i + 1), a,
  11. show_unit_cell=2, display=False, run_povray=True)
  12. cnt1 = nanotube(6, 0, length=4)
  13. cnt1.rotate('x', 'z', rotate_cell=True)
  14. cnt2 = nanotube(3, 3, length=6, bond=1.4, symbol='Si')
  15. cnt2.rotate('x', 'z', rotate_cell=True)
  16. for i, a in enumerate([cnt1, cnt2]):
  17. write('cnt%d.pov' % (i + 1), a,
  18. show_unit_cell=2, display=False, run_povray=True)
  19. ind = [2, 0, 1]
  20. gnr1 = graphene_nanoribbon(3, 4, type='armchair', saturated=True)
  21. gnr1.set_cell(np.diag(gnr1.cell)[ind])
  22. gnr1.positions = gnr1.positions[:, ind]
  23. gnr2 = graphene_nanoribbon(2, 6, type='zigzag', saturated=True,
  24. C_H=1.1, C_C=1.4, vacuum=3.0,
  25. magnetic=True, initial_mag=1.12)
  26. gnr2.set_cell(np.diag(gnr2.cell)[ind])
  27. gnr2.positions = gnr2.positions[:, ind]
  28. for i, a in enumerate([gnr1, gnr2]):
  29. write('gnr%d.pov' % (i + 1), a,
  30. show_unit_cell=2, display=False, run_povray=True)