LAMMPS Reference
LAMMPS MD 시뮬레이션 명령어/포텐셜/픽스 레퍼런스
LAMMPS Reference 소개
LAMMPS 레퍼런스는 Sandia 국립연구소에서 개발한 오픈소스 분자동역학 엔진 LAMMPS(Large-scale Atomic/Molecular Massively Parallel Simulator)의 검색 가능한 치트 시트입니다. 단위 시스템(eV/angstrom/ps의 metal, kcal-mol/angstrom/fs의 real, 무차원 Lennard-Jones의 lj), 원자 스타일(금속용 atomic, 이온계용 charge, 결합과 전하를 가진 유기분자용 full), 경계 조건(주기적, 고정, 수축), 격자 유형(fcc, bcc, sc, hcp, diamond, custom), 영역/박스 생성, 데이터 파일 읽기를 포함한 필수 시스템 설정 명령어를 다룹니다.
포텐셜 섹션에서는 가장 많이 사용되는 원자간 역장을 문서화합니다. epsilon/sigma 매개변수와 컷오프 거리를 사용하는 Lennard-Jones의 pair_style lj/cut, 금속 시뮬레이션을 위한 임베디드 원자 방법 pair_style eam/alloy, 3체 상호작용을 가진 공유결합 물질(Si, C, Ge)용 pair_style tersoff, 연소와 부식에서 결합 형성/파괴를 위한 반응성 시뮬레이션의 pair_style reaxff, 그리고 이온성 및 극성 시스템의 장거리 정전기를 위한 kspace_style pppm과 함께 사용하는 pair_style lj/cut/coul/long을 다룹니다.
Fix 명령 섹션에서는 통계 앙상블을 다룹니다. 미소정준(일정 N, V, E)의 fix nve, 정준 앙상블(감쇠 매개변수를 통한 온도 제어)을 위한 Nose-Hoover 온도조절기의 fix nvt, 등온등압 시뮬레이션(등방/비등방 압력)의 fix npt, 확률적 온도 제어를 위한 fix langevin이 있습니다. 인장/압축 변형을 통한 기계적 물성 계산의 fix deform, 에너지 최소화(CG 방법의 minimize), 볼츠만 분포에서의 속도 초기화, dump(궤적), thermo(열역학 물성), compute(RDF, stress/atom, 온도) 출력 설정도 포함합니다.
주요 기능
- 단위 시스템 참조: metal(eV, angstrom, ps), real(kcal/mol, angstrom, fs), lj(무차원), SI와 변환 맥락
- 원자 스타일 선택 가이드: 금속용 atomic, 이온계용 charge, 유기분자용 full, 결합 시스템용 molecular
- 포텐셜 설정: Lennard-Jones(lj/cut), EAM(eam/alloy), Tersoff, ReaxFF 반응성 역장, 쿨롱 장거리(PPPM)
- 통계 앙상블 fix 명령: NVE(미소정준), NVT(Nose-Hoover), NPT(등온등압), Langevin 온도조절기
- 기계적 시뮬레이션: 변형률 속도 변형의 fix deform, 켤레 기울기법 에너지 이완의 minimize
- 시스템 구성: lattice(fcc, bcc, hcp, diamond, custom), region, create_box, create_atoms, read_data, group, replicate
- 궤적 및 열역학 출력: dump custom 필드(id, type, x, y, z, vx, vy, vz), thermo_style, compute 정의
- Maxwell-Boltzmann 분포에서의 속도 초기화와 난수 시드, 선형 운동량 제거
자주 묻는 질문
LAMMPS란 무엇이고 어떤 종류의 시뮬레이션이 가능한가요?
LAMMPS(Large-scale Atomic/Molecular Massively Parallel Simulator)는 Sandia 국립연구소의 오픈소스 분자동역학 코드입니다. 원자, 고분자, 생체, 금속, 입상, 조립화 시스템을 시뮬레이션할 수 있습니다. 금속 변형, 나노입자 상호작용, 고분자 동역학, 단백질 접힘, 촉매, 재료 파괴 등이 주요 응용 분야입니다. 단일 프로세서부터 MPI를 사용한 대규모 병렬 HPC 클러스터까지 실행 가능합니다.
LAMMPS에서 올바른 단위 시스템은 어떻게 선택하나요?
가장 많이 쓰이는 단위계: "metal"(에너지 eV, 거리 angstrom, 시간 ps, 온도 K)은 금속 및 고체 시뮬레이션용, "real"(kcal/mol, angstrom, fs)은 생체/유기 분자 시뮬레이션용, "lj"(무차원 Lennard-Jones 환산 단위)는 기초 물리 연구용입니다. 단위 시스템은 모든 수치값 해석에 영향을 미치므로 다른 명령어보다 먼저 설정해야 합니다. EAM 포텐셜에는 "units metal", CHARMM/AMBER 역장에는 "units real"을 사용하세요.
pair_style lj/cut, eam/alloy, tersoff, reaxff의 차이점은 무엇인가요?
lj/cut은 epsilon과 sigma 매개변수를 가진 간단한 Lennard-Jones 12-6 포텐셜로 반데르발스 상호작용에 사용됩니다. eam/alloy는 테이블화된 포텐셜 파일을 사용하는 금속 결합용 임베디드 원자 방법입니다. tersoff는 3체 각도 항을 가진 방향성 공유결합을 처리하며 Si, C, SiC, Ge에 적합합니다. reaxff는 화학 반응 중 결합 형성과 파괴를 모델링할 수 있는 반응성 역장으로 연소, 산화, 촉매 시뮬레이션에 사용됩니다. 각각 고유한 pair_coeff 형식과 포텐셜 파라미터 파일이 필요합니다.
LAMMPS에서 300K NVT 시뮬레이션은 어떻게 설정하나요?
"fix 1 all nvt temp 300.0 300.0 0.1"을 사용합니다. 첫 번째 300.0은 시작 온도, 두 번째 300.0은 목표 온도, 0.1은 Nose-Hoover 온도조절기 감쇠 매개변수(시간 단위, metal에서 0.1 ps, real에서 100 fs)입니다. 실행 전에 "velocity all create 300.0 12345"(300K 볼츠만 분포, 시드 12345)로 초기 속도를 할당하고 timestep을 설정합니다(예: "timestep 0.001" = metal 단위에서 1 fs). "run 100000"으로 100,000 스텝 = 100 ps를 실행합니다.
NVE, NVT, NPT 앙상블의 차이점은 무엇인가요?
fix nve는 원자 수(N), 부피(V), 총 에너지(E)를 일정하게 유지하며 온도/압력 조절기가 없습니다. fix nvt는 Nose-Hoover 온도조절기를 추가하여 부피를 고정한 채 온도를 제어하며, 고정 셀 크기에서의 평형화와 생산 실행에 적합합니다. fix npt는 온도와 압력을 모두 제어하여 시뮬레이션 박스 크기가 변할 수 있으며, 평형 밀도, 열팽창, 상전이 계산에 필수적입니다. 확률적 온도 제어에는 fix langevin과 fix nve를 결합하여 대안적 NVT 접근법을 사용할 수 있습니다.
MD 실행 전에 에너지 최소화는 어떻게 수행하나요?
"min_style cg"로 켤레 기울기법을 선택한 후 "minimize 1.0e-6 1.0e-8 10000 100000"을 실행합니다. 1.0e-6은 에너지 허용오차, 1.0e-8은 힘 허용오차, 10000은 최대 반복 횟수, 100000은 최대 힘/에너지 평가 횟수입니다. 최소화는 원자 구조를 국소 에너지 최소점으로 이완시켜 겹침과 고에너지 배치를 제거합니다. 불안정성을 방지하기 위해 항상 MD 전에 최소화하세요. 복잡한 시스템에서는 여러 번의 minimize 호출이나 "min_style fire"(FIRE 알고리즘)가 필요할 수 있습니다.
궤적과 열역학 데이터는 어떻게 출력하나요?
궤적: "dump 1 all custom 100 dump.lammpstrj id type x y z vx vy vz"로 100 스텝마다 원자 위치와 속도를 기록합니다. 열역학: "thermo 100"으로 출력 빈도를 설정하고, "thermo_style custom step temp pe ke etotal press vol"로 출력할 물성을 선택합니다. "compute"로 RDF("compute myrdf all rdf 100 1 1"), 원자별 응력("compute mystress all stress/atom NULL"), 서브그룹의 커스텀 온도 계산 등 추가 물리량을 정의합니다.
LAMMPS에서 기계적 변형(인장 시험)은 어떻게 시뮬레이션하나요?
"fix 1 all deform 1 x erate 0.001 remap x"로 x 방향에 0.001/ps의 공학 변형률 속도를 적용합니다. fix nvt 또는 fix npt(y, z는 제어하되 x는 제외)와 결합하여 변형 중 온도를 유지합니다. "compute mystress all pressure thermo_temp"와 "thermo_style custom step lx ly lz pxx pyy pzz"로 응력-변형 데이터를 출력합니다. 변형률 속도는 신중히 선택해야 합니다. 일반적인 MD 속도(10^8~10^10/s)는 시뮬레이션 시간 제한으로 실험 속도보다 훨씬 빠릅니다.