Table of Contents:
Origin을 새로 잡아야 하는 이유
- 분자들의 이동 변위 등을 계산할 때에는 slab 자체의 움직임을 무시해야 합니다. (slab의 움직임이 계산에 포함되면 안되기 때문)
- 입자들의 움직임만을 고려하는 것이 중요하기 때문에 slab 중 한 부분을 origin으로 정하여 트래젝토리를 다시 뽑아야 정상적으로 다른 입자들의 이동 변위를 계산할 수 있습니다.
주요 논리
- Atom (or residue, group, etc.) indexing한다 → 이걸 새로운 origin으로 잡는 (
make_ndx) - 원하는 group을 위 index와 함께 grouping (
make_ndx) 해 줍니다. - gmx trjconv →
-center및-boxcenter옵션을 사용합니다.
커맨드 정리
1. 필요 파일들
.trr(혹은.xtc파일).tpr파일
2. Indexing에 필요한 trajectory 파일 출력
gmx trjconv -f YOURTRR.trr -s YOURTPR.tpr -o output.gro << EOF
0
EOF3. Center로 잡을 atom 지정하기 (.ndx 파일 제작하기)
gmx make_ndx -f output.gro -o newcenter_particle+k.ndx << EOF ## k번 atom을 indexing
a k
q
EOF
## 어떤 atom을 center로 잡아야하는 지에 대한 정답은 없습니다.
## 먼저 트래젝토리를 육안으로 관찰한 후, 어떤 부분이 center로 잡기에 적당한 원자인가를 판단하여 고르는 것이 좋습니다.
## gmx traj 커맨드를 이용하면, center로 잡을 원자가 어떤 것인지 더욱 쉽게 알아볼 수 있습니다. 예를 들어, OVITO나 VMD 등에서 center로 잡을 atom의 번호가 2500번이라고 가정합시다.
그렇다면 output.gro에서 추출할 ndx 파일은 다음과 같이 입력하면 얻을 수 있습니다.
gmx make_ndx -f output.gro -o newcenter_particle+2500.ndx << EOF
a 2500
q
EOF4. Center가 지정된 .gro 파일 출력하기
gmx trjconv -f YOUR.trr -s YOUR.tpr -o output_recentered.gro -n newcenter_particle+k.ndx -pbc mol -ur compact -center << EOF
NUM (center로 잡을 원자 하나 -> ndx 파일로 불러와 진 새로운 group)
NUM (output에 포함 시킬 그룹을 .ndx 파일로부터 지정)
EOF
# -center: user can select the group which is used to determine the geometrical center.
# -ur (unit cell representation): 분자들을 unit cell 내에 위치할 수 있도록 표현 (이렇게 하면 별도의 wrapping 과정이 필요 없습니다). 이렇게 출력되는 .gro 파일을 visualization software (OVITO, VMD) 에서 불러오면,
slab의 떨림이 최소화되는 것을 확인할 수 있습니다.
예시
Centering 진행하지 않았을 시

Centering 진행했을 시

상당히 확연한 차이가 나는 것을 확인할 수 있습니다. -Woojin
◻️