5.1 LAMMPS의 상호작용 표현
LAMMPS에서 원자 사이의 상호작용은 크게 두 갈래로 표현됩니다.
- 비결합 상호작용 (non-bonded) —
pair_style로 정의. 두 원자 사이의 거리만으로 결정되는 모든 상호작용(LJ, 쿨롱, EAM 등). - 결합 상호작용 (bonded) —
bond_style,angle_style,dihedral_style,improper_style. 분자 시스템에서만 사용.
추가로 장범위 정전기를 위한 kspace_style 이 있습니다.
각 style은 박스가 정의되기 전에 한 번 선언되고, 계수 입력은 박스 정의
후에 pair_coeff, bond_coeff 등으로 줍니다.
5.2 pair_style 개관
가장 자주 마주치는 pair_style 들을 짧게 정리하면 다음과 같습니다.
| pair_style | 용도 |
|---|---|
lj/cut |
순수 Lennard-Jones, 절단 거리 |
lj/cut/coul/cut |
LJ + 단순 절단 쿨롱 |
lj/cut/coul/long |
LJ + 장범위 쿨롱 (kspace 필요) |
morse |
Morse 포텐셜 (결합 해리 모델) |
buck |
Buckingham (산화물 등) |
eam, eam/alloy, eam/fs |
EAM (금속) |
tersoff, tersoff/mod |
Tersoff (공유 결합 비금속) |
meam, meam/c |
MEAM (금속·반도체) |
reaxff |
ReaxFF (반응성 시뮬레이션) |
airebo, rebo |
탄소 시스템 (REBO/AIREBO) |
sw |
Stillinger-Weber (Si, Ge) |
hybrid, hybrid/overlay |
위 style들을 한 시뮬레이션에서 조합 |
자신이 쓰려는 힘장의 원본 논문이 어떤 functional form을 가정하는지 확인한 뒤 그에 해당하는 style을 골라야 합니다.
lj/cut 예제 (LJ 액체)
pair_style lj/cut 2.5
pair_coeff 1 1 1.0 1.0 2.5
# ^ ^ ^ ^ ^
# i j ε σ cutoff (옵션)
pair_coeff i j eps sigma cutoff 형식. 모든 type 조합에 대해 한 번씩 입력해야
하지만, pair_modify mix arithmetic 또는 geometric 으로 i ≠ j 조합을
자동 생성할 수도 있습니다.
lj/cut/coul/long 예제 (분자 시스템)
units real
atom_style full
pair_style lj/cut/coul/long 10.0 10.0
pair_coeff 1 1 0.1660 3.5000 # 예: OPLS-AA의 C, kcal/mol·Å
pair_coeff 2 2 0.0300 2.5000 # 예: H
# ...
pair_modify mix geometric tail yes
kspace_style pppm 1.0e-4
lj/cut/coul/long 은 단거리 LJ + 단거리 쿨롱은 직접 계산하고, 장거리
쿨롱은 kspace_style 에 위임합니다. OPLS-AA, AMBER, CHARMM 계열의
대부분이 이 조합을 사용합니다.
eam 예제 (금속)
units metal
atom_style atomic
pair_style eam
pair_coeff * * Cu_u3.eam
EAM은 단일 매개변수 파일에 모든 정보가 들어 있으므로 pair_coeff 가 매우
간단합니다. * * 는 "모든 type 조합"을 뜻합니다.
5.3 결합 상호작용
분자 시스템(atom_style full 또는 molecular)은 결합·각·다이히드럴
계수도 함께 정의해야 합니다.
bond_style harmonic
bond_coeff 1 340.0 1.090 # K(kcal/mol/Ų), r0(Å)
angle_style harmonic
angle_coeff 1 33.0 107.8 # K(kcal/mol/rad²), θ0(°)
dihedral_style opls
dihedral_coeff 1 0.0 0.0 0.30 0.0
improper_style harmonic
improper_coeff 1 1.1 0.0
각 style의 계수 의미는 매뉴얼의 해당 페이지에서 확인하셔야 합니다.
harmonic 외에 morse, class2, fourier, charmm 등이 있습니다.
데이터 파일에서 Bonds, Angles, Dihedrals 섹션을 가져오면 어떤 결합이
어떤 type 인지가 자동으로 들어갑니다.
5.4 장범위 정전기 — kspace_style
쿨롱 상호작용을 단순히 절단하면(coul/cut) 시스템에 따라 큰 인공물이
생깁니다. 따라서 정전기가 있는 시스템은 거의 대부분 장범위 처리를 합니다.
kspace_style pppm 1.0e-4 # Particle-Particle Particle-Mesh, 정확도 1e-4
# 또는
kspace_style ewald 1.0e-6 # 작은 시스템용
# 또는
kspace_style msm 1.0e-4 # 슬랩/비주기 일부에 유리
| 알고리즘 | 특징 |
|---|---|
ewald |
정통 Ewald 합. 작은 시스템(원자 수 < ~수천)에 효율적 |
pppm |
mesh 기반 Ewald. 큰 시스템에서 가장 흔히 쓰임 |
msm |
multi-level summation. 비주기 차원 처리에 강점 |
PPPM은 완전 주기적(p p p) 시스템에 가장 잘 동작하고, MSM은 일부 차원이 비주기적(p p f) 인 슬랩 시스템에서 보정 비용이 작습니다.
슬랩 시스템에서 PPPM을 쓰려면 kspace_modify slab 3.0 같은 보정을 추가합니다.
5.5 잘못 매칭한 흔한 사례
atom_style atomic인데bond_style을 선언 → 결합 정보 자체를 저장할 공간이 없어 오류.kspace_style을 선언했는데pair_style이coul/long류가 아니면 의미 X.- 단위계와 계수 단위가 어긋남 — 예:
units real인데 eV 단위의 EAM 파일. - 데이터 파일 안의 type 수와
pair_coeff의 type 수가 어긋남.
오류 메시지가 떨어지면 거의 항상 위 네 가지 중 하나입니다.
5.6 다음 단계
상호작용이 정의되면 비로소 시뮬레이션을 "돌릴" 준비가 끝납니다. 다음 장에서는 시뮬레이션 셋업의 마지막 단계 — 초기 속도, 시간 간격, fix(앙상블), minimize, run — 를 다룹니다.