ورود به حساب کاربری

نام کاربری *
رمز عبور *
یاداوری

آموزش کد محاسباتی سیستا (مولکول هیدروژن)

امتیاز کاربران

ستاره غیر فعالستاره غیر فعالستاره غیر فعالستاره غیر فعالستاره غیر فعال
 

در این آموزش سعی داریم انرژی کل و طول پیوند مولکول هیدروژن را محاسبه کنیم. برای اینکار فایل فشرده ضمیمه شده را دانلود کنید و آن را در مکان دلخواهتان (در سیستم عامل لینوکس) از حالت فشرده خارج کنید. پس از خارج کردن از حالت فشرده شما سه فایل را میبینید که یکی از آنها فایل h2.fdf است. فایل ورودی برنامه سیستا دارای پسوند fdf است . فایلی که شما دانلود کردید دارای محتوای زیر می باشد:

 

 

که توضیح هر خط آن به این شکل است:

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

خط دوم: یک برچسب برای سیستم انتخاب می کنیم

خط سوم: تعداد اتم های ترکیب را اینجا می نویسیم. مثلا برای مثال اتم هیدروژن این تعداد 2 می باشد

خط چهارم: تعداد گونه های اتمی را اینجا می نویسیم. مثلا برای این مثال فقط 1 گونه اتم هیدروژن داریم.

خط ششم الی هشتم: در این بلاک در هر خط یک شاخص، عدد اتمی و برچسب گونه مورد نظر را می نویسم. مثلا در این مثال یک گونه هیدروژن داریم با عدد اتمی 1 که به آن شاخص (ایندکس) 1 نسبت میدهیم.

خط دهم: در این قسمت واحد مختصات اتمی را مینویسم که در اینجا آنگستروم است.

خط یازدهم تا چهاردهم: در این بلاک مختصات اتم های موجود در سیستم را وارد می کنیم. مثلا در این مثال دو اتم هیدروژن داریم که یکی در مختصات 0 0 0 و دیگری در مختصات 0 0 1 (مختصه x برابر 1 است) قرار دارد.

خط شانزدهم: برای توضیح این خط به صفحه 48 فایل user guide کد سیستا مراجعه کنید.

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

مولکول هیدروژن: اولین اجرا با سیستا

چک کنید همه فایل های مورد نیاز در پوشه مورد نظر وجود داشته باشند.

دقت کنید که علاوه بر فایل ورودی شما به ازای هر گونه اتمی یک فایل شبه پتانسیل نیاز دارید که دارای پسوند .vps یا .psd است.

برای اتم هیدروژن شما می توانید شبه پتانسیل مربوط به تقریب LDA رو از سایت سیستا دانلود کنید.

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

# siesta < h2.fdf > h2.1.00.out

پس از اجرای این دستور فایل خروجی با نام h2.1.00.out در پوشه جاری ساخته میشه که خروجی برنامه سیستا است.

نکته: در لینوکس علامت > (کوچکتر) به معنای خواندن از ورودی است فایلی که در بعد از آن نوشته می شود به عنوان ورودی برای دستور قبل از این علامت مورد استفاده قرار میگیرد. همچنین علامت < (بزرگتر) به معنای نوشتن در فایل خروجی است. می توان با استفاده از عملگر پایپ (|) همزمان علاوه بر نوشتن در فایل خروجی محتوای آن را بر روی صفحه نمایش دید. برای اینکا به جای دستور فوق باید نوشت:

# siesta < h2.fdf | tee h2.1.00.out

نام فایل خروجی را می توان به صورت دلخواه انتخاب کرد. ولی بهتر طوری انتخاب شود که در آینده قابل فهم باشم. اینجا چون فاصله بین دو اتم هیدروژن یک آنگستروم بود ما اسم فایل خروجی رو به این شکل نوشتیم.

مولکول هیدروژن: نگاهی کلی به فایل های خروجی

حال میخواهیم یک بررسی در فایل های خروجی انجام دهیم ؛

 

مولکول هیدروژن: فاصله ی بین اتمی

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

روش اول:

  • محاسبه انرژی کل رای مقادیر مختلف فاصله بین اتمی
  • برازش یک منحنی بر روی نقاط مختلف
  • بدست آوردن کمینه این تابع برازش شده

روش دوم:

  • محاسبه نیرو ها برای فاصله اهی بین اتمی مختلف
  • برازش یک منحنی بر روی نقاط مختلف
  • محاسبه صفر این تابع برازش شده

روش سوم:

  • استفاده از الگوریتمی اتوماتیک برای کمینه کردن انرژی

مولکول هیدروژن: بدست آوردن فاصله ی بین اتمی از روش اول

در فایل ورودی قبلی مقدار فاصله بین اتمی رو از مقدار 0.4 آنگستروم تا 3 آنگستروم با بازه های 0.1 تغییر داده و برای هر کدام یک اجرای جداگانه بگیرید.

change_in_at_dist

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

# siesta < h2.fdf > h2.your_interatomic_distance.out

که در اینجا برای هر بار اجرا باید به جای your_interatomic_distance فاصله ای که در فایل ورودی وارد کرده اید بنویسید.

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

# grep “Total =” h2.*.out > h2.distance.dat

این دستور این عمل را انجام میدهد : داخل هر فایلی که اول اسم آن h2. و آخر اسمش .out است رفته ، عبارت “Total =” جستجو و پیدا کرده، آن خط را در فایل h2.distance.dat ذخیره می کند.

بعد از این کار فایل h2.distance.dat را باز کنید و فقط دو ستون باقی بگذارید که اولی فاصله بین اتمی و دومی انرژی کل است:

exercise-h2

این اعداد از سیستا نسخه 3 بتا که با کامپایلر g95 کامپایل شده بدست آمد. این اعداد ممکن است برای شما کمی تغییر پیدا کند.

در این مرحله شما باید نمودار برای این اعداد رسم کنید. برای رسم نمودار می توانید از برنامه gnuplot استفاده کنید برای اینکار یک ترمینال در مسیری که فایل مورد نظر شما هست باز کنید و د آن تایپ کنید gnuplot و enter بزنید و بعد دستور زیر را وارد کنید:

> plot "h2.distance.dat" using 1:2 with lines

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

h2-dist

 

 

-------------------------------------------

منبع : http://www.comphys.ir

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

 

سایت مرتبط : " بنیاد توسعه رایانش سریع و ابری "

 

 

آخرین مقالات

کامپایل و نصب mfix-2016.1

درک عملکرد دستگاه های انرژی، محیط زیست و فرایندها...

شبیه سازی مولکولی بر روی...

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

چرا یادگیری زبان اسکالا و...

تقریبا اکثر قریب به اتفاق برنامه‌نویسان به این حقی...

شیمی محاسباتی، مکانیک مول...

شیمی محاسباتی شاخه‌ای از دانش شیمی است که از روش‌ه...

Watch "Jakub Kurzak...

یکی از کتابخانه های پرکاربرد در نرم افزارهای محاسب...

Video: Large Scale Traini...

In this video from PASC18, Jakub Tomczak from the...

راهنمای برنامه نویسی در M...

This publication is part of a developer guide focu...

روش های تشخیص زبان در متن

تشخیص زبان یک متن، یکی از اولین گام ها به سوی متن...

قطعه بندی متون فارسی (tok...

قطعه بندی متن (Tokenizer) به روش های تشخیص زبان در...

یک برنامه هوش مصنوعی می‌ت...

در جدیدترین نوع رقابت بین انسان و ماشین، از یک سیس...

کامپایل OpenFOAM-5.0 با I...

حداقل ورژن نیازمندیها : gcc : 4.8.5 cmake : 3.3 (م...

نمونه کدهای MPI

"چند مورد دیگر نیز بزودی به این لیست اضافه خواهد ش...

PBS Professional user Gui...

*download pdf file * download doc file Parts of t...

بلاک چین به زبان ساده چیس...

بلاک چین فناوری اصلی ارز دیجیتال است که حیات یک پ...

SIESTA

SIESTA (Spanish Initiative for Electronic Simulat...

Redirection (computing)

for input, output, and error In computing, redire...

روش جمع آوری اطلاعات از ش...

جمع آوری اطلاعات از توئیتر: یکی از منابع اصلی برا...

نظارت و مدیریت Job

چندین دستور مفید وجود دارد که به شما اجازه می دهد...

Unravelling Earthquake Dy...

Your browser does not support the video tag. In t...

اصطلاحات علمی در حوزه تحل...

اصطلاحات علمی تحلیل شبکه های اجتماعی: ظهور و شناس...

چگونه پوشه‌ها و فایل‌هایی...

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

دستور نمایش حجم پوشه و فا...

دو مورد از کاربردی ترین دستورات لینوکس که دانستن آ...

Paradigm and DDN: Achievi...

The pressure to reduce both operating and capital...

How to Handle the Big Dat...

In this special guest feature, Larry Skowronek, V...

تحلیل انتشار اطلاعات یا D...

یکی از مهم‌ترین فرایندهای دینامیکی در شبکه‌های اج...

کدهای اساسی و الگو مورد ا...

در اینجا کدهای اساسی و الگو مورد استفاده در بسیاری...

آموزش کد محاسباتی wien2k

بسته‌ی محاسباتی WIEN2k شامل مجموعه­ ای از برنامه‌...

ماشین هوشمند بدون کمک انس...

یک ماشین هوشمند با حل معمای مکعب روبیک بدون هیچ آم...

آموزش lammps

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

آموزش نرم افزار amber (زب...

در اینجا تعدادی از آموزش های آماده شده توسط توسعه...

گالری تصاویر