لمپس
لمپس (به انگلیسی: LAMMPS) (شبیهساز اتمی/مولکولی بزرگمقیاسِ بهشدتموازی) یک نرمافزار دینامیک مولکولی است که آزمایشگاه ملی سندیا آن را ساختهاست. این نرمافزار از محاسبات موازی ام.پی. آی بهره میبرد، آزاد و متنباز است و با مجوز GPL در دسترس قرار دارد.
تاریخچه
LAMMPS یا همان شبیهسازی برای دستگاههای پر ذره که با موازی سازی میتواند شبیهسازیهای پیچیده را اجرا کند. برای بررسی سیستمهای مولکولی نمیتوان از روشهای بر پایهٔ محیط پیوسته استفاده کرد، چون دینامیک سیستم بسیار سریع بوده و از طرفی محیط فرایند هم پیوسته نیست؛ لذا از روش شبیهسازی دینامیک مولکولی استفاده میشود، که برمبنای مکانیک کلاسیک بوده و لمپس یکی از نرمافزارهایی است که میتوان با آن، براساس روش دینامیک مولکولی بسیاری از سیستمهای اتمی مولکولی را شبیهسازی نمود.
توسعهٔ لمپس از سال ۱۹۹۰ توسط CRADA شروع شد و بین آزمایشگاه DOE (سندیا و LLNL) و سه شرکت کری و بریستول و داپنت بود، که هدف آن توسعهٔ کدنویسی به صورت کلاسیکی و موازی برای حالت بزرگ مقیاس است. استون پلیمپتون در سندیا تلاشهای بسیاری برای کدنویسی آن انجام داد. ظهور نسخهٔ F77 منجر به تولید LAMMPS 99 شد و پس از ساخت F90، LAMMPS2001 تولید شد. بازنویسی لمپس از فرترن به C++ و تولید کد منبع باز آن در سال ۲۰۰۴ انجام گرفت. سرانجام آیدان تامپسون در سندیا LAMMPS2006 و ساختارهای موازی و میدانهای نیرو را برای این نرمافزار به وجود آورد.
مزایا
- اضافه کردن قیود نیرویی و جابه جایی مجموعهای از اتمها و شبیهسازی در هنگردهای متداول
- وجود بیش از یک نوع ترموستات و باروستات جهت تثبیت پارامترهای مختلف سیستم
- شرایط مرزی گوناگون در این برنامه امکانپذیر است.
- یک نرمافزار شبیهسازی MD است که قابلیت حل به صورت موازی را داشته و امکان شبیهسازی سیستمهایی با تعداد اتمهای بسیار زیاد را فراهم میکند.
- در این برنامه روشهای مختلف حداقل سازی انرژی، روشهای گام زمانی چند گانه نیز در دسترس است. فایلهای راهنمای این نرمافزار دارای مثالهای گوناگون است. گروهی نیز پاسخ گویی سوالات و اشکالات کاربران در حوزههای نرمافزار را بر عهده دارند.
- زبان برنامهنویسیC++ است و بر روی تمام سیستم عاملهای موجود قابل اجرا شدن بوده فقط باید توسط کمپایلر مخصوص خودش کدها آماده اجرا شوند. (Cross-platfom)
- دسترسی به کدهاش رایگان است و به راحتی میتوان آن را تغییر و دوباره منتشر کرد.
- میتوان محاسبات را به صورت موازی (اجرای همزمان) ومحاسبات سریال (شیوهٔ سنتی) انجام داد.
- لمپس قابلیت محاسبات بر روی هستهٔ پردازش گرافیکی (GPU) را دارد. مانند لینوکس که موجب کارامدی و انعطافپذیری نرمافزار میشود همهٔ فرایندها (اجرای شبیهسازی) در قالب فایلهای مانند Input صورت میگیرد. GPU که برای محاسبات گرافیکی است، ابتدا برای کمک به CPU آمد اما امروزه جای آن را گرفتهاست.
- تو سعه پذیر است و میتوان شبیهسازی را پیشبینی کرد چون کتابخانهٔ ویژهای دارد و شبیهسازی را راحتتر میکند. لمپس میتواند از یک اسکریپت، یک یا چند شبیهسازی را به صورت موازی انجام دهد؛ و کتابخانه و رابط کتابخانهای دارد و میتواند زبان برنامهنویسی پیتون را پوشش دهد.
- لمپس میتواند با دیگر کدها کوپل شود، لمپس کد دیگری را میخواند و کد دیگری لمپس را میخواند و کد دیگری که به کد آمبرلا معروف است هر دو را میخواند.
- در اینترنت میشود شبه کد را با جستجوی موضوعی به انگلیسی یافت، سپس موضوع را به خوبی پیادهسازی کرد.
معایب
- لمپس، واسط کاربر گرافیکی GUI ندارد لذا برای اجرای نرمافزار باید محیطهای متنی و دستور متنی داشت.
- لمپس، فایلهای مختصات و اطلاعات خروجی را تولید میکند و از به وجود آوردن تصاویر گرافیکی عاجز است و باید از نرمافزارهای کمکی استفاده کرد؛ لذا نمیتوان شبیهسازی را تجسم کرد.
- نموداراطلاعات خروجی را نمیتوان تولید کرد؛ و نمیتوان سیستمهای مولکولی را ساخت؛ و تجزیه و تحلیل پیچیدهای از شبیهسازی MD ارائه نمیدهد.
- ضرایب نیروهای اتم و مولکولی در این نرمافزار به صورت دستی توسط کاربر تعیین میشود. اما شبیهساز را آزاد گذاشته تا نیروها را انتخاب و اثر آن را بررسی کند.
پیوند به بیرون
پانویس
- ↑ Large-scale Atomic/Molecular Massively Parallel Simulator