LAMMPS-Tutorial Für Den Einstieg: Abschätzen Des Schmelzpunkts Von FCC Cu Mithilfe Der Npt-temperaturregelung
LAMMPS steht für Large-scale Atomic/Molecular Massively Parallel Simulator, ein klassischer molekulardynamischer Simulationscode, der sich auf die Materialmodellierung konzentriert. Es ist für den effizienten Betrieb auf Parallelrechnern und eine einfache Erweiterung und Änderung konzipiert. LAMMPS wurde ursprünglich in den Sandia National Laboratories, einer Behörde des US-Energieministeriums, entwickelt und umfasst heute Beiträge zahlreicher Forschungsgruppen und Einzelpersonen an zahlreichen Institutionen.
本教程使用 LAMMPS CPU 即可运行。
通过本教程的学习,您将能够:
* 理解 npt 控温操作流程
* 使用 dump 和 fix 指令将数据预处理
Effektbeispiele

1. Vorbereitung vor der Operation
Hier stellen wir zunächst einige Eingabedateien, mögliche Funktionstypen und NPT-Temperaturregelungsprozesse vor, die verwendet werden müssen.
1. Eingabedatei
Geben Sie ./melt_u3 ein, die Datei melt.in sieht wie folgt aus:
units real
dimension 3
boundary p p p
atom_style atomic
# 读取铜结构
read_data cu
#选用 eam potential
pair_style eam
pair_coeff * * Cu_u3.eam
#每隔 100 时间步长于屏幕输出
thermo 100
thermo_style custom step temp pe press vol lx density
#将原子轨迹输出到文件 md.lammpstrj
dump 2 all custom 100 md.lammpstrj id type x y z
#结构优化
minimize 1.0e-10 1.0e-10 10000 10000
#nvt 压强弛豫
fix 1 all nvt temp 1000 1000 100
run 10000
unfix 1
#npt 体积弛豫
fix 1 all npt temp 1000 1000 100 iso 1 1 1000
run 10000
unfix 1
#将温度和体积量分别存储到 t 和 v 中
variable t equal "temp"
variable v equal "vol"
#npt 控温由 1000K 升温至 2000K 。
#升温速率为 (2000-1000)/100000=0.001 K/fs=1K/ps
fix 1 all npt temp 1000 2000 100 iso 1 1 1000
fix 2 all ave/time 100 10 10000 v_t v_v file t_v.txt
run 1000000
2. Möglicher Funktionstyp
Dieses Projekt bietet ein Demonstrationsmodell der EAM-Potentialfunktion
Team
./melt_u3
Entsprechender potenzieller Funktionsbaustein
pair_style eam
pair_coeff * * Cu_u3.eam
3.npt Temperaturkontrollprozess
Der Hauptprozess ist:
NVT-Druckrelaxation, NPT-Volumenrelaxation
#结构优化
minimize 1.0e-10 1.0e-10 10000 10000
#nvt 压强弛豫
fix 1 all nvt temp 1000 1000 100
run 10000
unfix 1
#npt 体积弛豫
fix 1 all npt temp 1000 1000 100 iso 1 1 1000
run 10000
unfix 1
NPT-Heizung
#npt 控温由 1000K 升温至 2000K 。
#升温速率为 (2000-1000)/100000=0.001 K/fs=1K/ps
fix 1 all npt temp 1000 2000 100 iso 1 1 1000
fix 2 all ave/time 100 10 10000 v_t v_v file t_v.txt
run 1000000
2. Praktische Bedienungsschritte (am Beispiel einer CPU)
1. Erstellen und starten Sie eine Container-Molekulardynamik-Simulation
1.1 Öffnen Sie die persönliche Benutzeroberfläche von OpenBayes, klicken Sie links auf "High Performance Computing" > oben rechts auf "Neuen Container erstellen"

1.2 Rechenleistung Wählen Sie „CPU“ > „lammps-2024-cpu“ und geben Sie einen Containernamen ein, z. B. lammps > Wählen Sie „Arbeitsbereich“ und klicken Sie auf „Weiter: Rechenleistung auswählen“

1.3 Geben Sie einen Containernamen ein, z. B. „lammps“ > Wählen Sie „Arbeitsbereich“ und klicken Sie auf „Ausführen“.

2. Führen Sie eine molekulardynamische Simulation durch
2.1 Nachdem der Container erfolgreich ausgeführt wurde, klicken Sie links, um den Arbeitsbereich zu öffnen

2.2 Ziehen Sie das komprimierte Paket zum Hochladen in den Dateibereich links

2.3 Öffnen Sie dann das Terminal

2.4 Entpacken (das komprimierte Paket wurde in diesem Container entpackt, Sie können diesen Schritt also überspringen): Geben Sie unzip melt_u3.zip ein, um das komprimierte Paket zu entpacken
unzip melt_u3.zip
Archive: melt_u3.zip
creating: melt_u3/
inflating: melt_u3/cu
inflating: melt_u3/Cu_u3.eam
inflating: melt_u3/melt.in
inflating: melt_u3/melting.gif
inflating: melt_u3/p.plt
inflating: melt_u3/readme.md

2.5 Geben Sie cd melt_u3 ein, um das dekomprimierte Verzeichnis aufzurufen, und verwenden Sie ls, um die Dateien anzuzeigen
ls
Cu_u3.eam cu melt.in melting.gif p.plt readme.md

2.6 Lampen ausführen
mpirun -np 2 lmp < melt.in | tee out
2.7 Die Bildschirmausgabe wird in der Out-Datei synchronisiert. Die Gesamtlaufzeit beträgt ca. 5 Minuten.

2.8 Nach Abschluss des Vorgangs können Sie Ausgabedateien wie t_v.txt im Ordner erhalten

2.9 Die Datei t_v.txt wird durch den Fix-Befehl in der Eingabedatei gesteuert.
#将温度于体积量分别存储到 t 和 v 中
variable t equal "temp"
variable v equal "vol"
fix 2 all ave/time 100 10 10000 v_t v_v file t_v.txt
erzeugen
3. Datenverarbeitung
3.1 Apt-Quelle aktualisieren
apt-get update --fix-missing

3.2 Geben Sie apt install gnuplot ein, um das Tool gnuplot zu installieren, geben Sie dann y ein und drücken Sie zur Bestätigung die Eingabetaste.
apt install gnuplot

3.3 Führen Sie den Befehl gnuplot p.plt aus, um das TV-Diagramm zu erhalten
gnuplot p.plt

3.4 Doppelklicken Sie auf das linke TV-Diagramm, um den geschätzten Cu-Schmelzpunkt zu erhalten

Es ist ersichtlich, dass der Schmelzpunkt bei etwa 1600 K liegt, was von den tatsächlichen 1357,77 K abweicht. Dies liegt daran, dass die Temperatur zu schnell ansteigt und das Kupfer keine Zeit zum Schmelzen hat.
Die atomaren Bahnen während des Heizprozesses sind gegeben durch
#将原子轨迹输出到文件 md.lammpstrj
dump 2 all custom 1 md.lammpstrj id type x y z
Gespeichert in md.lammpstrj, laden wir es herunter

3.5 Visualisierung mit ovito
