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

  • صفحه اول
  • مروری بر کد ها و نرم افزار های پرکاربرد در حوزه محاسبات هسته ای
image

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

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

بخش اول) مفاهیم اولیه

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

فریم ورک[1]

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

شاید این توضیح کمی گنگ به نظر رسد اما با یک مثال ساده این مطلب شرح داده می شود. کد Geant4 یک  ابزار زبان برنامه نویسی گسترده است که در حوزه های مختلف کاربرد دارد اما برای کاربردهای مخصوص فیزیک پزشکی یک نسخه از آن مشتق شده است که به GATE گفته میشود. در واقع GATE یک فریم ورک از ابزار Geant4 است.  

پلتفرم [2]

پلتفرم در واقع بستری است که برنامه های نرم افزاری نوشته شده برای یک وسیله در آن قابل اجرا و استفاده است، این بستر هم شامل ملزومات سخت افزاری (مانند نوع سیستم و CPU) و هم شامل ملزومات نرم افزاری (مانند سیستم عامل) است، به طور مثال برنامه های کاربردی و بازی هایی که همه روزه با آنها سر و کار داریم بدون وجود دستگاه هایی مانند کامپیوترهای شخصی (PC)، تلفن های همراه، لپ تاپ ها، کنسول های بازی و... عملا قابل استفاده نیستند (سخت افزار) و از طرفی هر برنامه ای در یک سیستم عامل خاص (و یا حتی تحت نسخه خاص) قابل اجرا است (نرم افزار) که در مجموع به آنها پلتفرم می گوییم، مانند پلتفرم ویندوز XP 64 Bit، پلتفرم ویندوز 10، پلتفرم ویندوز موبایل، پلتفرم لینوکس، پلتفرم اندروید، پلتفرم جاوا، پلتفرم PC، پلتفرم XBOX و...، 

زبان برنامه نویسی  

زبان‌های برنامه‌نویسی ساختارهای زبانی دستور مداری در رایانه‌ها هستند که به‌وسیلهٔ آن‌ها می‌توان یک الگوریتم را به‌وسیلهٔ ساختارهای دستوری متفاوت برای اجرای رایانه توصیف کرد و با این روش امکان نوشتن برنامه جهت تولید نرم‌افزارهای جدید بوجود می‌آید. معمولاً هر زبان برنامه‌نویسی دارای یک محیط نرم‌افزاری برای وارد کردن متن برنامه، اجرا، همگردانی و رفع اشکال آن هستند.  

کد محاسباتی

اگر توسط دستورات یک زبان خاص نرم افزار یا بستری فراهم شود که با نوشتن دستور در بستر ایجاد شده، دستوراتی به زبان مرجعه تولید و توسط کد پردازش شود به آن بستر بوجود آمده کد[3] می گویند.


بخش دوم) کد و نرم افزار های هسته ای

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

1)  کد های مبتنی بر اصول مونت کارلو

این کد ها با استفاده از اصول مونت کارلو به محاسبه می پردازند و به صورت عمومی نوشته می شوند. این کد ها شامل MCNP-GEANT4-FLUKA-TOPAS  و  GATE هستند. در این کد های محاسباتی از روش تولید تصادفی  برای تخمین نتیجه مساله استفاده می شود.

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

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

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

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

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

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

معایب شبیه سازی مونت کارلو

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

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

دقت محدود: نتایج شبیه‌سازی مونت کارلو در معرض متغیرهای آماری است. در حالی که شبیه سازی ها تخمین ها و احتمالات را ارائه می دهند، اما پیش بینی های دقیقی نیستند. اگرچه دقت تخمین ها با تعداد بیشتری از شبیه سازی ها بهبود می یابد، همیشه درجه ای از عدم قطعیت وجود خواهد داشت.

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

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

 

2)  کد های مبتنی بر اصول تحلیلی 

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

2-1)  مطالعات نوترونی

  • ANISN
  • CITATION
  • DOT
  • TOT
  • WIMS
  • XPCODE

2-2)  مطالعات حوزه حوادث هسته ای 

  • RASCAL

2-3)  مطالعات حوزه مصرف سوخت 

  • ORIGEN

2-4)  مطالعات حوزه محاسبات ترموهیدرولیکی

  • SNAP
  • RELAP
  • COBRA

3) کد های محاسبه سطح مقطع و تولید برهمکنش های هسته ای 

  • ENDEF
  • NJOY
  • JANIS
  • JEFPC
  • SNAP
  • TALYS
  • EMPIRE
  • LAHET
  • ALICE/ASH

 

 بخش سوم) شرح برخی از کدهای پر کاربرد

1)       کد محاسباتی MCNP

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

این کد تحت پلتفرم ویندوز اجرا میشود.

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

2)      ابزار مونت کارلو Geant

geant که بیشتر به toolkit جینت شناخته میشود که ابزار محاسبات مونت کارلو است که تحت دو پلتفرم لینوکس و ویندوز اجرا  می شود و دستورات آن به زبان c++ نوشته می شود. برای مطالعه بیشتر در مورد  جعبه ابزا  هسته ای geant به این آدرس مراجعه کنید.

3)     کد محاسباتی Fluka

برای مشاهده در مورد کد فلوکا به آدرس زیر مراجعه کنید.

4)      کد محاسبات مصرف سوخت Origen

برخلاف کد های قبلی  این کد از ساختار منطقی بهره می برد و لذا مدت زمان اجرای برنامه آن بسیار ناچیر بوده و بلافاصاله تمام می شود. بیشترین استفاده از این کد در مورد مباحث مصرف سوخت است. برای مطالعه بیشتر در مورد کد هسته ای Origen به آدرس زیر مراجعه کنید.

5)     کد تحلیل رویداد هسته ای Rascal

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

بخش چهارم) نرم افزار های مفید

  • نرم افزار رسم نمودار Origin
  • محاسبات آماری SPSS
  • نرم افزار رسم هندسه و نمودار کد MCNP - نرم افزار Reflection
  • نرم افزار مشاهده و اجرای برنامه کد MCNP - نرم افزار VIsulaEdittor
  • نرم افزار مشاهده داده های هسته ای RadDecay

 

 



[1] Framework

[2] Platform

[3] Code