,

LAMMPS چیست و چگونه در Linux آنرا کامپایل کنیم

LAMMPS چیست ؟

در این مقاله سعی دارم تا شما را با مفهوم LAMMPS و نحوه بکارگیری و

کامپایل آن در سیستم عامل Linux آشنا کنم

اولا ببینم مفهوم LAMMPS چیست ؟

ابتدا به تعریف مفهومی بنام lamp می پردازم . Lamp یعنی دستگاهی برای تولید نور ، گرما یا پرتو افکنی .

 

LAMMPS یعنی چی ؟ یک کد دینامیک مولکولی کلاسیک است که برای مدلسازی روی مجموعه ای

از ذرات مایع ، جامد یا گازی بکار میرود

از آن میتوان برای مدل سازی اتمی ، پلیمری ، بیولوژیکی ، فلزی ، گرانول ، و سیستم های دانه درشت

در انواع زمینه های نیرو استفاده نمود .

برای مشاهده از مثالهایی که از LAMMPS در مدل سازی استفاده شده میتوانید به سایت

LAMMPS www site  مراجعه کنید

LAMMPS برای اینکه بتواند این مدل سازی را انجام دهد قادر است روی یک پردازنده single –processor

تحت desktop  یا laptop اجرا گردد  ، اما در اصل بری انجام محاسبات موازی طراحی شده است .

LAMMPS میتواند روی چندین ماشین بصورت موازی که از کامپایلر C++ استفاده میکنند اجرا گردد

و قادربه پشتیبانی از MPI یا Massage Passing Library میباشد .  ساختار آن بگونه است که قادر است

روی تعدادی ماشین بصورت کلاستر بصورت توزیع پذیر و با استفاده از مکانیزم حافظه اشتراکی اجرا

گردد .

LAMMPS یک پروژه متن باز یا opensource است . همچنین ساختار توزیع پذیری تحت لیسانس

GPL Public دارد و این بدنی معناست که شما را قادر میسازد تا با دسترسی به کد آن و تغییر آن

نیاز خود را برآورده سازید .

LAMMPS بگونه ای طراحی شده است که شما را قادر میسازد براحتی قابلیت های جدیدی ،

مانند ایجاد انواع اتم و یا شرایطی که آنرا احاطه میکند را خلق کنید .

نسخه موجود LAMMPS با زبان C++  نوشته شده است . نسخه های قدیمی تر آن به زبان F77 یا Fortran77 یا  F90 نوشته شده بود .

اولین بار LAMMPS بصورت یک پروژه تحقیقاتی در وزارت انرژی ایالات متحده بیام CRADA  به معنی

همکاری تحقیقاتی و مواافقتنامه توسعه  و بین دو آزمایشگاه و سه شرکت توسعه داده شد .

اگر بخواهیم یک مفهوم کلی از LAMMPS را تعریف کنیم م یتوانیم بگوییم که LAMMPS ادغامی از

معادلات حرکتی نیوتن برای به حرکت در آوردن مجموعه ای از اتمها ، مولکولها و یا ذرات ماکروسکوپی

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

ایجاد میکند .  اما چرا این موضوع را مطرح کردم . از آنجا که LAMMPS یک برنامه opensource است

که غالبا تحت سیستم عامل Linux براحتی قابل استفاده و اجرا است بنابراین افراد متخصصی که در

این حوزه فعالیت میکنند نیاز به دانش کافی در نحوه بکارگیری این برنامه و نحوه کامپایل آن در

سیستم عامل Linux دارند

بنابراین نحوه نصب و کامپایل آنرا در این جا توضیح میدهم .

اولا از آنجا که این برنامه قرار است پردازشات موازی و توزیع پذیری انجام دهد بنابراین بشدت به

معماری سیستم وابسته است پس هنگام نصب این برنامه به نسخه و مدل سیستم عامل خود توجه

بفرمایید که آیا از مدل ۳۲ بیتی استفاده میکنید یا از مدل ۶۴ بیتی .

همچنین آیا نسخه ۶ سیستم عامل لینوکس را استفاده میکنید یا نسخه ۷ را

در نسخه های ۶ هم library های ۳۲ بیتی مورد استفاده قرار میگیرند و هم Library های ۶۴ بیتی .

بنابراین غالبا بهتر است حواسمان باشد که هنگام نصب این برنامه بدانیم از چه مدلی میخواهیم استفاده

نماییم . زیرا روی نسخه های ۶ از سیستم عامل لینوکس زمانیکه میخواهیم از غالب

Repository manager  برای نصب این ابزار استفاده کنیم و چنانچه سیستم عامل ما از نوع ۶۴ بیتی

باشد بنابراین برنامه نصب شده LAMMPS نیز ۶۴ بیتی نصب خواهد شد .

اما چنانچه نیاز به patch کردن برنامه ای جدید در LAMMPS را دارید ممکن است دچار خطا در هنگام نصب

شوید . مثلا اگر میخواهید تابع MS_CG که یکی از توابع مورد استفاده در این برنامه است را در دل

LAMMPS کامپایل کنید بهتر است بدانید که عموما این تابع با نسخه ۳۲ بیتی نصب میگردد و

هنگام نصب روی نسخه های ۶۴ بیتی ممکن است ما را دچار دردسر نماید .

در لینوکس ۶۴ بیتی و نسخه ۷ عموما توابع نصب شده برای LAMMPS همگی ۶۴ بیتی هستند

 و احتمال خطای کمتری مشاهده میگردد .

در مقاله بعدی  روش نصب LAMMPS را تحت سیستم عامل Centos6 , CentOS7 مرحله به مرحله

نشان میدهم

0 پاسخ

دیدگاه خود را ثبت کنید

تمایل دارید در گفتگوها شرکت کنید؟
در گفتگو ها شرکت کنید.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *