منابع آموزشی نرم افزار لمپس
در این قسمت از سامانه لمپس دات آی آر به ارائه آموزش های رایگان در زمینه نرم افزار لمپس پرداخته شده است.

نرم افزار لمپس چیست؟
از نظر واژگان، نرم افزار لمپس مخفف کلمات زیر است:

LAMMPS : Large Scale Atomic/Molecular Massively Parallel Simulator

معنی کلمات اشاره شده در نام نرم افزار لمپس عبارتست از:
شبیه ساز:
فراهم کننده بستری برای شبیه سازی سیستم های مختلف.

اتمی/ مولکولی: توانایی نرم افزار در شبیه سازی سیستم های اتمی و مولکولی.
بزرگ مقیاس: توانایی شبیه سازی سیستم های پر ذره.
به شدت موازی: توانایی نرم افزار در موازی سازی شبیه سازی های سنگین.

درباره نرم افزار لمپس
نرم افزار لمپس با در اختیار داشتن میدان نیروهای (فورس فیلدهای) متنوع فراهم کننده بستری مناسب برای شبیه سازی نمونه های مختلف از سیستم های اتمی و مولکولی گرفته تا انواع پروتئین ها و سیستم های زیستی است. از مهمترین ویژگی های این نرم افزار می توان به توان بالای آن در شبیه سازی سیستم های پرذره اشاره کرد. این بسته محاسباتی بر اساس نظریه  دینامیک مولکولی کار می کند که در ابتدا در فیزیک نظری در دهه ۱۹۵۰ استفاده شد اما امروزه با گسترش حیطه کاربرد آن در علم مواد و زیست مولکولی نیز بکار می رود و قابلیت شبیه سازی سیستم های زیستی و مهندسی را دارا است.
در مورد ساختارهای شبیه سازی شده با استفاده از این نرم افزار می توان به موارد زیر اشاره کرد:

  • سیستم های پریودیک (کریستال ها)
  • ذرات درشت دانه
  • مولکول های ارگانیک
  • فلزات
  • پلیمرها
  • دی ان ای
  • پروتئین
  • ذرات کروی و بیضی گون با اندازه معین

ویژگی های فنی نرم افزار لمپس
از مهمترین ویژگی های فنی نرم افزار لمپس می توان به موارد زیر اشاره کرد:
زبان برنامه نویسی: سی پلاس پلاس
سیستم عامل اجرایی: بر روی تمام سیستم عامل های موجود در بازار قابل اجرا است و تنها کافی است، کدها توسط کامپایلر های مخصوص خود اجرا شوند.
لایسنس: تحت پروانه “جی پی ال” که از زیر مجموعه پروانه های فرهنگ گنو/لینوکس منتشر شده است، به این معنی که دسترسی به کدها رایگان بوده و امکان تغییر کدها و انتشار دوباره آن مجاز و قانونی است.

نقاط مثبت نرم افزار لمپس
از مهمترین ویژگی های مثبت نرم افزار لمپس می توان به موارد زیر اشاره کرد:

  • قابلیت اجرا به صورت موازی و سریال.
  • قابلیت اجرا با استفاده از “جی پی یو”: جیپی یو به معنی هسته پردازش گرافیکی سیستم است و انجام محاسبات گرافیکی بر عهده آن است که این قابلیت موجب کم شدن بار محاسباتی “سی پی یو” شده و محاسبات سریع تر صورت می پذیرد.
  • اجرای شبیه سازی ها با فایل های ورودی: این قابلیت موجب کارآمدی و انعطاف نرم افزار لمپس شده است.
  • نرم افزار لمپس متن باز بوده و امکان توسعه هر چه بیشتر را توسط کاربر دارد.
  • قابلیت اجرای چند شبیه سازی به وسیله ی یک فایل ورودی در نرم افزار لمپس وجود دارد.
  • امکان جفت شدن نرم افزار لمپس با سایر نرم افزارها وجود دارد.
  • پیش بینی حالت های مختلف شبیه سازی امکان پذیر بوده و کتابخانه های ویژه نرم افزار لمپس از پختگی بالایی برخوردار است.
  • مستندات آموزشی به روز و فراوانی در زمینه نرم افزار لمپس وجود دارد.
  • نتایج نرم افزار لمپس کاربرد پذیری بالایی داشته و خروجی های این نرم افزار در جایگاه های علمی و صنعتی مختلفی قابل استناد است.

نقاط منفی نرم افزار لمپس
از مهمترین ویژگی های منفی نرم افزار لمپس می توان به موارد زیر اشاره کرد:

  • نرم افزار لمپس دارای واسط کاربری گرافیکی نبوده و بنابراین کاربر برای اجرای نرم افزار لمپس نیاز به کار در محیط های متنی و دستورهای متنی خواهد داشت.
  • نرم افزار لمپس از تولید تصاویر گرافیکی متحرک دقیق (با دقت اتمی) در شبیه سازی های دینامیک مولکولی ناتوان است. به بیان دقیق تر نرم افزار لمپس فقط فایل های مختصات و اطلاعات خروجی را تولید کرده و کاربر برای ایجاد تصاویر گرافیکی متحرک دقیق به نرم افزارهای کمکی مانند نرم افزار “وی ام دی” نیاز خواهد داشت.
  • نرم افزار لمپس در تولید نمودارهای اطلاعات خروجی ناتوان است.
  • نرم افزار لمپس در تعیین خودکار نیروهای اتمی و مولکولی ناتوان است. در شبیه سازی های نرم افزار لمپس، نیروهای بین اتمی توسط کاربر انتخاب می شوند. از سوی دیگر می توان چنین گفت که ویژگی بیان شده برای نرم افزار لمپس در این قسمت به نوعی موجب انعطاف در شبیه سازی های دینامیک مولکولی شده و موجب آزاد گذاشتن شبیه ساز در انتخاب نیروها و بررسی اثر گذاری هر یک از نیروهای بین اتمی انتخاب شده در شبیه سازی ها می شود.

با توجه به توضیحات بیان شده در این قسمت، می توان نرم افزار لمپس را از مهمترین بسته های محاسباتی در زمینه شبیه سازی ساختارهای اتمی و مولکولی در ابعاد نانومتریک دانست. نمونه ساختارهای اتمی و مولکولی ارائه شده در شکل زیر با استفاده از نرم افزار لمپس شبیه سازی شده و با استفاده از نرم افزارهای مکمل به صورت گرافیکی در آمده اند.

شبیه سازی های دینامیک مولکولی با کمک نرم افزار لمپس

خروجی های نرم افزار لمپس
با استفاده از شبیه سازی های دینامیک مولکولی انجام شده توسط بسته محاسباتی نرم افزار لمپس می توان بسیاری از ویژگی های ترمودینامیکی و دینامیکی سیستم های اتمی و مولکولی را بررسی کرد. تعدادی از مهمترین خروجی های حاصل از اجرای بسته محاسباتی لمپس در قسمت زیر فهرست شده است:

  • لاگ فایل که شامل اطلاعات ترمودینامیکی سیستم شبیه سازی شده است.
  • فایل خروجی از مکان و سرعت هریک از اتم های شبیه سازی شده که به ازای هر لحظه دلخواه از زمان شبیه سازی شده امکان محاسبه دارد.
  • محاسبه مقادیر انرژی، دما، فشار و … سیستم شبیه سازی شده در هر گام زمانی.
  • میانگین گیری فضایی و زمانی از ویژگی های ترمودینامیکی تک تک اتم ها و مولکول های شبیه سازی شده.
  • ارائه خروجی قابل نمایش گرافیکی از رفتار سیستم در بازه های زمانی شبیه سازی در فرمت هایی مختلف مانند: XYZ, XTC, DCD, CFG.

قواعد کلی کدنویسی نرم افزار لمپس
آماده سازی فایل ورودی در نرم افزار لمپس از چندبن قانون کلی تبعیت می کند که از مهمترین آن ها می توان به موارد زیر اشاره کرد:

  • هر خط غیر خالی در فایل ورودی نرم افزار لمپس به عنوان یک خط کد با معنا توسط نرم افزار شناخته می شود.
  • دستورهای لمپس “کیس سنسیتیو” هستند، بدین معنی که نرم افزار لمپس به بزرگی و کوچکی حروف حساس بوده و دستورهای این نرم افزار با استفاده از حروف کوچک نوشته می شوند.
  • حروف بزرگ در داخل فایل ورودی نرم افزار لمپس، برای نوشتن نام ها و آی دی ها استفاده می شوند.
  • خطوطی از فایل ورودی که با کاراکتر “#” شروع می شوند به عنوان توضیحات فرض شده و اجرا نخواهند شد.

ساختمان کدهای ورودی در نرم افزار لمپس
کدهای ورودی نرم افزار لمپس به صورت عمومی دارای ۴ بخش اصلی به شرح زیر است:

  1. قالب بندی (Initialization)
  2. معرفی اتم ها و مولکول ها (Atom Definition)
  3. تنظیمات و پیکربندی ها (Settings)
  4. کدهای اجرایی (Run a Simulation)

دو بخش پایانی فهرست شده، می توانند در یک فایل ورودی به طور مکرر تکرار شوند. تکرار بخش های اشاره شده به معنی آن است که می توان شبیه سازی دینامیک مولکولی موردنظر را با پیکربندی خاصی اجرا کرده و سپس در ادامه کد و پس از اعمال تغییرات موردنظر، دوباره کدها را اجرا کرد به طوری که این روند می تواند به طور متوالی تکرار شده و نتایج خروجی حاصل از شبیه سازی ها با هم مقایسه شوند. در ادامه به طور خلاصه به تشریح هر کدام از بخش های فهرست شده، پرداخته می شود.

بخش قالب بندی
در این بخش پارامترهایی تنظیم خواهد شد که نیاز است قبل از تعریف اتم ها و مولکول ها یا خواندن فایل های ورودی، برای سیستم تعریف شده باشند. مهمترین دستورهای مرتبط با این بخش عبارتند از:

کد لمپسبخش معرفی اتم ها و مولکول ها
برای معرفی اتم ها و مولکول ها در نرم افزار لمپس سه روش کلی در دسترس است که این سه روش به ترتیب زیر خواهد بود:

  • خواندن اطلاعات ورودی از فایل های دیتا و ریستارت با دستورهای read_data و read_restart. در این فایل ها می توان ترکیب های مولکولی و ساختارهای اتمی مختلف را در شبیه سازی ها وارد کرد.
  • تعریف مستقیم اتم ها و شبکه های اتمی (بدون پیوندهای اتمی پیشفرض) با استفاده از دستورهای create_atom, create_box, region, lattice.
  • ترکیبی از دو روش بالا برای شبیه سازی های بزرگ و پیچیده به کمک تکرار دستورهای دو شیوه فوق.

تنظیمات و پیکربندی ها
پس از تعریف اتم ها و ساختارهای مولکولی، سیستم اتمی آماده است تا پیکربندی های مختلفی بر آن اعمال شود. از مهمترین تنظیمات موردنیاز در شبیه سازی های دینامیک مولکولی می توان به مواردی مانند حوزه و ضریب نیروهای بین مولکولی، پارامترهای اجرایی شبیه سازی، قواعد خروجی های شبیه سازی و … اشاره کرد. تعدادی از تنظیمات قابل تعریف برای سیستم های شبیه سازی شده می توان به موارد زیر اشاره کرد:

  • ضریب و حوزه تاثیر نیروهای بین اتمی و مولکولی با دستورهای فهرست شده در شکل زیر قابل تنظیم هستند.کد لمپس
  • پارامترهای عمومی مانند گام زمانی، گروه بندی اتمی و … شبیه سازی های دینامیک مولکولی با دستورهای فهرست شده در شکل زیر قابل تعریف اند.
  • کد لمپساستفاده از مجموعه دستورهای “fix” برای اعمال کردن ویژگی های مختلف اعم از نیروهای خارجی، هنگرد شبیه سازی ها و … استفاده کرد. از سوی دیگر خروجی های فیزیکی حاصل از شبیه سازی های دینامیک ملکولی با استفاده از نرم افزار لمپس نیز با به کارگیری دستورهای فهرست شده در شکل زیر قابل تعریف هستند.

کد لمپس

کدهای اجرایی
شبیه سازی های دینامیک ملکولی در نرم افزار لمپس با استفاده از دستور “run” اجرا می شوند. دستورهای ذکر شده در قسمت بالا تنها بخش کوچکی از کل دستورهای قابل اعمال و اجرا در نرم افزار لمپس هستند به همین دلیل نیاز است که برای آشنا شدن کامل با دستورهای این نرم افزار به Manual آن مراجعه شود.

فایل ورودی نرم افزار لمپس
در حالت کلی فایل ورودی نرم افزار لمپس باید دارای بخش هایی مطابق با شکل ارائه شده در قسمت زیر باشد.

لمپس

تحلیل نمونه فایل ورودی دینامیک مولکولی در نرم افزار لمپس
همانگونه که پیشتر بیان شد، فایل ورودی نرم افزار لمپس دارای چهار قسمت اصلی: قالب بندی، تعریف اتم ها و ملکول ها، تنظیمات و کدهای اجرایی است. در این قسمت با اشاره به یک فایل ورودی نمونه در این نرم افزار، هر یک از بخش های بیان شده نمایش داده می شوند.

قالب بندی

لمپس

 

 

 

 

معرفی اتم ها و مولکول ها

لمپس

 

 

 

 

 

تنظیمات و پیکربندی ها

ورودی نرم افزار لمپس

 

 

 

 

 

 

کدهای اجرایی

ورودی نرم افزار لمپس

 

 

 

 

 

نصب نرم افزار لمپس در محیط ویندوز (تمامی نسخه ها)
پس از دانلود نسخه نرم افزار لمپس متناسب با رایانه خود ( نسخه های ۳۲ یا ۶۴ بیتی) از سایت های www.lammps.sandia.gov  و یا www.lammps.ir، فایل زیپ دریافت شده را استخراج کرده و با دوبار کلیک کردن بر روی فایل اجرایی که دارای پسوند  .exe است و سپس زدن گزینه های yes و Install نرم افزار در رایانه نصب خواهد شد. مراحل بیان شده در این قسمت، در شکل های ارائه شده در قسمت زیر نشان داده شده است.

لمپس

نصب نرم افزار لمپس

پس از نصب نرم افزار لمپس، پوشه LAMMPS مطابق با شکل زیر، در قسمت برنامه های نصب شده ویندوز قابل مشاهده خواهد بود.

نصب نرم افزار لمپس

ویدیو آموزشی نصب نرم افزار لمپس در سیستم عامل ویندوز
در قسمت زیر ویدیو آموزشی از چگونگی روند نصب نرم افزار لمپس در سیستم عامل ویندوز ارائه شده است.

چگونگی اجرای فایل ورودی نرم افزار لمپس در سیستم عامل ویندوز (تمامی نسخه ها)
در مجموعه شکل های زیر چگونگی اجرای فایل ورودی نرم افزار لمپس ارائه شده است. در گام نخست، عبارت “cmd” را در قسمت آدرس پوشه مربوط به فایل اجرایی نرم افزار لمپس می کنیم.

نصب نرم افزار لمپس

  در گام دوم، دستور lmp_serial -in “input name را در صفحه cmd تایپ و دکمه اینتر را فشار می دهیم.

اجرای نرم افزار لمپس

پس از اجرای شبیه سازی، خروجی های حاصل از نرم افزار لمپس در فایل هایی همچون “log file” و “dump file” ذخیره می شوند.

اجرای نرم افزار لمپس

عبارت lmp_serial تایپ شده در قسمت سوم اجرای نرم افزار لمپس، نام فایل اجرایی نرم افزار است که شبیه ساز می تواند به اختیار خود نام آن را تغییر دهد. از سوی دیگر عبارت “input name” تایپ شده، نام فایل ورودی نرم افزار لمپس است که به دلخواه شبیه ساز انتخاب شده است. شبیه ساز در صورت علاقمندی به مشاهده گرافیکی ساختار اتمی و مولکولی شبیه سازی شده، باید دستوری تحت عنوان “dump” را در فایل ورودی نرم افزار بنویسد که این دستور همانطور که در شکل بالا مشاهده می شود موجب ایجاد فایلی جدید با عنوان “dump file” خواهد شد. با وارد کردن این فایل در ورودی نرم افزارهایی همچون VMD می توان تصاویر گرافیکی از سیستم شبیه سازی شده ایجاد کرد.

نصب نرم افزار لمپس در سیستم عامل لینوکس (توزیع اوبنتو)
برای نصب نرم افزار لمپس در سیستم عامل لینوکس روش های متعددی وجود دارد که یکی از آسانترین و سریعترین این روش ها نصب نسخه lammps-daily این نرم افزار است. برای این منظور ترمینال سیستم عامل لینوکس را باز کرده و دستورهای زیر را به ترتیب تایپ و دکمه اینتر زده می شود:

sudo add-apt-repository ppa:gladky-anton/lammps
sudo apt-get update
sudo apt-get install lammps-daily
sudo apt-get updatesudo apt-get install lammps-daily-doc

پس از اجرای دستورهای بیان شده، نرم افزار لمپس در سیستم عامل لینوکس نصب خواهد شد. برای پاک کردن نرم افزار لمپس هم باید دستور زیر در ترمینال لینوکس اجرا شود:

sudo apt-get remove lammps-daily

اجرای نرم افزار لمپس در سیستم عامل لینوکس (اوبنتو)
اجرای نرم افزار لمپس در سیستم عامل لینوکس با باز کردن ترمینال این سیستم عامل و با استفاده از دستور زیر امکان پذیر خواهد بود:

lammps-daily < “input file name