aiida 에서 단위정 (Unit Cell) 만들기

By | 2023년 05월 17일

1. AIIDA 를 사용하여 단위정 설정하기

1.1 무결함 단위정 만들기

aiida-core 내의 StructureData 클라스를 이용해 결정 단위정을 설정할 수가 있다.

예로서 Diamond Cubic 구조를 가지며, cubic unit cell 내에 8개의 원자가 있는 Si 단위셀을 만들어 보자. 결정구조를 만들려면 먼저 관련 패키지를 import 해야한다

import numpy as np
from aiida.orm import StructureData

Si의 경우는

aLat =  5.43095   #  Aungstron
cellShape = [ [aLat, 0, 0] , [0, aLat, 0], [0, 0, aLat] ]
atomPositions =  [ [0,0,0], [0.5*aLat, 0.5*aLat, 0], 
                            [0.5*aLat, 0, 0.5*aLat], [0, 0.5*aLat, 0.5*aLat],
                            [0.25*aLat, 0.25*aLat, 0.25*aLat], [0.75*aLat, 0.75*aLat, 0.25*aLat],
                            [0.75*aLat, 0.25*aLat, 0.75*aLat], [0.25*aLat, 0.75*aLat, 0.75*aLat]
                          ]
# 결정모양을 설정
Si_structure = StructureData(cell=cellShape)

# 원자를 단위정에 추가
Si_structure.append_atoms(position=(0,0,0), symbols='Si' )
Si_structure.append_atoms(position=(0.5*aLat, 0.5*aLat, 0), symbols='Si' )

또는

Si_structure.append_atoms(position=atomPositions[0], symbols='Si' )

로 필요한 만큼 추가한다. 이때 원자의 위치는 항상 옹스트롱 (A) 단위로 표시한다.

1.2 단위정에 vacancy 만들기

추후 정리할 예정임

답글 남기기