HyperAI

دليل البدء في استخدام LAMMPS: تقدير نقطة انصهار النحاس المتفاعل بالتفاعل الميكانيكي (FCC Cu) باستخدام نظام التحكم في درجة الحرارة NPT

LAMMPS تعني Large-scale Atomic/Molecular Massively Parallel Simulator (محاكي موازٍ ضخم للذرات/الجزيئات على نطاق واسع)، وهو عبارة عن كود محاكاة ديناميكيات جزيئية كلاسيكي يركز على نمذجة المواد. تم تصميمه ليعمل بكفاءة على أجهزة الكمبيوتر المتوازية، كما يمكن تمديده وتعديله بسهولة. تم تطوير LAMMPS في الأصل في مختبرات ساندي الوطنية، وهي وكالة تابعة لوزارة الطاقة الأمريكية، وهي الآن تشمل مساهمات من العديد من مجموعات البحث والأفراد في العديد من المؤسسات.

本教程使用 LAMMPS CPU 即可运行。

通过本教程的学习,您将能够:

* 理解 npt 控温操作流程
* 使用 dump 和 fix 指令将数据预处理

أمثلة التأثير

1. التحضير قبل العملية

هنا نقدم أولاً بعض ملفات الإدخال وأنواع الوظائف المحتملة وعمليات التحكم في درجة الحرارة npt التي يجب استخدامها.

1. ملف الإدخال

أدخل ./melt_u3، ملف melt.in هو كما يلي:

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. نوع الوظيفة المحتملة

يوفر هذا المشروع نموذجًا توضيحيًا لدالة الجهد الكهربي

فريق

./melt_u3

وحدة دالة الإمكانات المقابلة

pair_style       eam
pair_coeff      * *  Cu_u3.eam

3. عملية التحكم في درجة الحرارة npt

العملية الرئيسية هي:

استرخاء ضغط NVT، استرخاء حجم NPT

#结构优化
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

#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. خطوات التشغيل العملية (مع أخذ وحدة المعالجة المركزية كمثال)

1. إنشاء وبدء محاكاة ديناميكية جزيئية للحاوية

1.1 افتح واجهة المستخدم الشخصية لـ OpenBayes، وانقر على "الحوسبة عالية الأداء" على اليسار > "إنشاء حاوية جديدة" في الزاوية اليمنى العليا

1.2 قوة الحوسبة حدد "وحدة المعالجة المركزية" > "lammps-2024-cpu" وأدخل اسمًا للحاوية، مثل lammps > حدد "مساحة العمل" وانقر على "التالي: حدد قوة الحوسبة"

1.3 قم بإعطاء اسم للحاوية، مثل lampmps > حدد "مساحة العمل" وانقر فوق "تنفيذ"

2. إجراء محاكاة ديناميكية جزيئية

2.1 بعد تشغيل الحاوية بنجاح، انقر على اليسار لفتح مساحة العمل

2.2 اسحب الحزمة المضغوطة إلى منطقة الملف على اليسار للتحميل

2.3 ثم افتح المحطة

2.4 فك الضغط (تم فك ضغط الحزمة المضغوطة في هذه الحاوية، لذا يمكنك تخطي هذه الخطوة): أدخل unzip melt_u3.zip لفك ضغط الحزمة المضغوطة

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 أدخل cd melt_u3 للدخول إلى الدليل الذي تم فك ضغطه واستخدم ls لعرض الملفات

ls

Cu_u3.eam  cu  melt.in  melting.gif  p.plt  readme.md

2.6 تشغيل المصابيح

mpirun -np 2 lmp < melt.in | tee out

2.7 سيتم مزامنة إخراج الشاشة في ملف الإخراج. يبلغ إجمالي وقت التشغيل حوالي 5 دقائق.

2.8 بعد اكتمال العملية، يمكنك الحصول على ملفات الإخراج مثل t_v.txt في المجلد

2.9 يتم التحكم في ملف t_v.txt بواسطة الأمر fix في ملف الإدخال.

#将温度于体积量分别存储到 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

يولد

3. معالجة البيانات

3.1 تحديث مستودع apt

apt-get update  --fix-missing

3.2 اكتب apt install gnuplot لتثبيت أداة gnuplot، ثم اكتب y واضغط على Enter للتأكيد.

apt install gnuplot

3.3 قم بتشغيل الأمر gnuplot p.plt للحصول على الرسم البياني التلفزيوني

gnuplot p.plt

3.4 انقر نقرًا مزدوجًا فوق الرسم البياني التلفزيوني الأيسر للحصول على نقطة انصهار النحاس المقدرة

يمكن ملاحظة أن نقطة الانصهار تبلغ حوالي 1600 كلفن، وهي مختلفة عن 1357.77 كلفن الفعلية. وذلك لأن درجة الحرارة ترتفع بسرعة كبيرة والنحاس لا يملك الوقت الكافي للذوبان.

يتم إعطاء المسارات الذرية أثناء عملية التسخين بواسطة

#将原子轨迹输出到文件 md.lammpstrj
dump              2 all custom 1 md.lammpstrj id type x y z

تم تخزينه في md.lammpstrj، نقوم بتنزيله

3.5 التصور مع ovito