آموزش کاربردی و پیشرفته خروجی PTRAC در MCNP: از تنظیم تا استخراج داده

  • صفحه اول
  • آموزش کاربردی و پیشرفته خروجی PTRAC در MCNP: از تنظیم تا استخراج داده
image

آموزش کاربردی و پیشرفته خروجی PTRAC در MCNP: از تنظیم تا استخراج داده

 آیا تاکنون در شبیه‌سازی‌های MCNP با این سوالات مواجه شده‌اید: «ذرات در سلول خاصی دقیقاً چه مسیری را طی می‌کنند؟»، «انرژی توزیع شده در یک سطح نامنظم چقدر است؟»، یا «کدام تاریخچه‌های ذره‌ای منجر به یک نتیجه غیرمعمول در tally شده‌اند؟». اگر پاسخ شما مثبت است، این دوره دقیقاً برای شما طراحی شده است.

خروجی PTRAC (Particle Track) قوی‌ترین و در عین حال پیچیده‌ترین قابلیت MCNP برای استخراج داده‌های خام و سطح پایین از دل شبیه‌سازی‌های مونت کارلو است. در حالی که tallyهای استاندارد، نتایج آماری نهایی را ارائه می‌دهند، PTRAC این قدرت را به شما می‌دهد که همه چیز را ردیابی و ثبت کنید؛ از مختصات و انرژی هر ذره در هر لحظه تا نوع دقیق برهمکنش‌ها و مسیرهای حرکت. این داده‌های خام، کلید پاسخگویی به سوالات تحقیقاتی پیچیده، اعتبارسنجی دقیق مدل‌ها، و توسعه تحلیل‌های کاملاً سفارشی است.

این دوره برای چه کسانی ضروری است؟

  • محققان و دانشجویان تحصیلات تکمیلی در فیزیک هسته‌ای، پرتوپزشکی، حفاظت پرتویی و مهندسی راکتور که نیاز به تحلیل‌های پیشرفته و انتشار مقالات با کیفیت بالا دارند.

  • مهندسان و متخصصان صنعتی که در طراحی و بهینه‌سازی سیستم‌های پرتویی (مانند چشمه‌ها، حفاظ‌ها و آشکارسازها) فعالیت می‌کنند و نیاز به درک جزئیات فرآیندهای پرتویی دارند.

  • کاربران حرفه‌ای MCNP که از محدودیت‌های tallyهای عادی فراتر رفته و به دنبال داده‌های قابل اعتماد برای ساخت نرم‌افزارها یا گزارش‌های تحلیلی خاص هستند.

در این دوره جامع چه می‌آموزید؟


ما شما را گام‌به‌گام از تنظیم هوشمندانه کارت PTRAC در ورودی MCNP (با فیلترگذاری برای جلوگیری از فایل‌های غول‌آسا)، عبور از درک ساختار هدر و بدنه پیچیده فایل خروجی، و نهایتاً تا تفسیر داده‌ها با مراجعه به جدول‌های مرجع و استخراج خودکار اطلاعات با برنامه‌نویسی (در محیط متلب) پیش خواهیم برد. در پایان این دوره، شما نه تنها یک فایل متنی پر از اعداد، بلکه یک معدن طلای داده در اختیار خواهید داشت که می‌توانید پاسخ هر سوال معقولی را از شبیه‌سازی خود در آن بیابید. برای حرکت از یک کاربر معمولی MCNP به یک تحلیل‌گر پیشرفته و مستقل، این دوره نقطه عطفی خواهد بود. 

 جلسات آموزشی

جلسه ۱: معرفی کلی خروجی PTRAC در MCNP

مهم‌ترین نکات جلسه:

  1. هدف از خروجی PTRAC:
    • دستیابی به داده‌های خام و جزئیاتی که توسط کارت‌های خروجی پیش‌فرض MCNP (مثل کارت tally) در دسترس نیست.
    • امکان استخراج هر نوع داده‌ای که در طول شبیه‌سازی رخ می‌دهد.
  2. کاربردها و مثال‌های PTRAC:
    • ردیابی و رسم مسیر حرکت ذرات.
    • بررسی انرژی ذرات در مکان‌های خاص.
    • مطالعه برخوردها و تعاملات ذرات در سلول‌ها یا سطح‌های مشخص.
    • بررسی سهم انرژی از دست رفته ذرات هنگام عبور از مرز سلول‌ها.
    • شمارش ذرات عبوری از یک سطح خاص.
    • پاسخ به بی‌نهایت سؤال و سناریوی شبیه‌سازی خاص.
  3. ماهیت فایل PTRAC:
    • یک فایل متنی حاوی تعداد بسیار زیادی خط و عدد است.
    • ساختار آن استاندارد است و هر مجموعه عدد بیانگر یک پارامتر فیزیکی یا رویداد خاص است (مانند نوع ذره، انرژی، مختصات، نوع رویداد و ...).
    • تحلیل دستی آن به دلیل حجم بالای داده غیرممکن است و نیاز به پردازش با کد یا اسکریپت دارد.
  4. روند کلی کار با PTRAC:
    • فعال‌سازی: نوشتن کارت PTRAC در فایل ورودی MCNP برای تولید خروجی.
    • پردازش: استفاده از یک زبان برنامه‌نویسی (مانند متلب یا پایتون) برای خواندن، تفسیر و استخراج اطلاعات مورد نیاز از فایل متنی PTRAC.
  5. پیش‌نیازهای این دوره:
    • آشنایی با مبانی MCNP و ساختار فایل ورودی.
    • تسلط بر نوشتن کارت‌های Tally پایه.
    • آشنایی مقدماتی با محیط متلب (به عنوان ابزار اصلی پردازش داده‌های PTRAC در این دوره).
  6. نگاه کلی به سرفصل دوره:
    • PTRAC چیست و چه اطلاعاتی ذخیره می‌کند؟
    • چگونه آن را فعال و تنظیم کنیم؟
    • چگونه خروجی آن را بخوانیم و داده‌های مختلف را از آن استخراج کنیم؟

 

 

جلسه ۲: آشنایی با دستور PTRAC و کلیدواژه‌های اصلی آن

مهم‌ترین نکات جلسه:

  1. محل و ساختار دستور PTRAC:
    • دستور PTRAC در بخش Data Cards فایل ورودی MCNP نوشته می‌شود.
    • این دستور از عبارت Particle Track گرفته شده است.
    • می‌توان آن را به‌صورت ساده (PTRAC) یا همراه با کلیدواژه‌ها (Keywords) برای تنظیمات دقیق‌تر نوشت.
  2. دسته‌بندی کلی کلیدواژه‌های PTRAC: سه دسته اصلی:
    • کنترل خروجی (Output Control)
    • فیلتر رویدادها (Event Filter)
    • فیلتر تاریخچه‌ها (History Filter)
  3. کلیدواژه‌های کنترل خروجی:
    • BUFF: تعیین اندازه بافر (پیش‌فرض: ۱۰۰۰).
    • FILE: تعیین فرمت فایل خروجی. برای خوانایی، باید FILE=ASC (متنی/اسکی) انتخاب شود. فرمت پیش‌فرض باینری است.
    • MAX: تعیین حداکثر تعداد رویدادهای ثبت‌شده.
      • اگر مثبت باشد (مثلاً MAX=100)، بعد از ثبت آن تعداد رویداد، شبیه‌سازی ادامه می‌یابد اما رویداد جدیدی ثبت نمی‌شود.
      • اگر منفی باشد (مثلاً MAX=-100)، پس از ثبت آن تعداد رویداد، شبیه‌سازی متوقف می‌شود.
    • NPS: حداکثر تعداد رویدادهای ثانویه که برای هر ذره‌ی اولیه ثبت می‌شود. (مثال: یک فوتون اولیه ممکن است چندین برخورد داشته باشد).
    • WRITE: تعیین پارامترهای نوشته‌شده برای هر رویداد.
      • WRITE=P → مختصات (x,y,z) و شماره سلول.
      • WRITE=ALL → تمام پارامترها (همراه با انرژی، وزن ذره و ...). منظور از "وزن"، وزن آماری ذره در روش‌های کاهش واریانس است.
    • RAND: فعال‌سازی فرمت خاص برای اعداد تصادفی (به ندرت استفاده می‌شود).
  4. کلیدواژه‌های فیلتر رویداد (EVENT):
    • برای انتخاب نوع رویدادهایی که باید ثبت شوند.
    • انواع رویداد: SRC (تولید از چشمه)، BANK (انتقال به بانک/مثلاً برای پردازش ذرات ثانویه)، SUR (عبور از سطح)، COL (برخورد)، TER (پایان ذره)، CP (برخورد جذبی).
    • TYPE: فیلتر بر اساس نوع ذره (مطابق جدول ذرات MCNP: ۱=نوترون، ۲=فوتون، ۳=الکترون و ...). پیش‌فرض: ثبت تمام ذرات.
  5. کلیدواژه‌های فیلتر (محدودکننده) بر اساس متغیرها (FILTER):
    • برای محدود کردن ثبت رویداد به شرایط مکانی یا انرژی خاص.
    • مثال‌ها: فقط رویدادهای درون CELL=2، یا ذرات با انرژی بین ۰ تا ۱۰ مگاالکترون‌ولت، یا در مختصات خاص (x,y,z).
  6. کلیدواژه‌های فیلتر تاریخچه (TALLY, VALUE):
    • TALLY: ثبت رویداد فقط برای ذراتی که به یک کارت Tally خاص (مثلاً tally شماره ۴) کمک می‌کنند.
    • VALUE: تعیین آستانه برای tallyها. اگر tally منفی باشد، VALUE به عنوان ضریب نسبی نسبت به میانگین تفسیر می‌شود.
  7. نکات کلیدی و بهترین روش‌ها:
    • می‌توان چندین فیلتر را ترکیب کرد تا دقیقاً به خروجی مورد نظر برسیم.
    • برای تمرین‌های ساده از فرمت متنی (FILE=ASC) استفاده می‌کنیم. برای داده‌های حجیم از فرمت باینری (پیش‌فرض) برای صرفه‌جویی در حجم فایل.
    • فیلترگذاری هوشمندانه و متناسب با نیاز تحلیل، بسیار مهم است تا از تولید فایل‌های غول‌آسا و غیرقابل پردازش جلوگیری شود.
    • کنترل حجم داده با MAX و NPS ضروری است.
    • از TALLY و VALUE زمانی استفاده می‌شود که بخواهیم ببینیم کدام ذرات/تاریخچه‌ها به نتیجه یک tally خاص کمک می‌کنند یا خیر.

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

جلسه سوم: آشنایی با ساختار فایل خروجی PTRAC (بخش اول)

مهم‌ترین نکات جلسه:

  1. مقدمه و هشدار اولیه:
    • این جلسه به بررسی ساختار و محتوای خروجی فایل PTRAC می‌پردازد.
    • اگر حجم فایل PTRAC بسیار زیاد باشد (مثلاً ده‌ها گیگابایت)، نمی‌توان آن را مستقیماً با ویرایشگرهای متنی مثل Notepad++ باز کرد.
    • برای پردازش فایل‌های حجیم، باید از ابزارهایی مانند git (یا سایر Splitterها) برای تقسیم فایل به بخش‌های کوچکتر استفاده کرد. (آموزش آن در سایت آکادمی موجود است).
  2. فرض جلسه و شروع بررسی:
    • فرض بر این است که فایل PTRAC مورد بررسی کوچک است (مثلاً حدود ۲۰۰۰۰ خط) و قابل باز شدن است.
    • ساختار نشان‌داده‌شده مربوط به نسخه MCNP6 است و ممکن است با نسخه MCNPX متفاوت باشد.
  3. ساختار ابتدایی فایل (خطوط ۱ تا ۶):
    • خط ۱: عدد -۱ نشان‌دهنده‌ی فایل خروجی اصلی (Primary) است.
    • خط ۲: اطلاعات کلی اجرا (نسخه MCNP، تاریخ و ساعت اجرا).
    • خط ۳: اگر در فایل ورودی TITLE تعریف شده باشد، اینجا نمایش داده می‌شود. در غیر این صورت خالی است.
    • خطوط ۴، ۵ و ۶: این خطوط حاوی اطلاعات کلیدی درباره تنظیمات PTRAC هستند. اعداد این خطوط ایندکس یا شناسه‌های هر یک از کلیدواژه‌های تنظیمشده (یا نشده) هستند.
  4. تفسیر خطوط ۴، ۵ و ۶ (جدول ایندکس‌ها):
    • این اعداد به ما می‌گویند چه تنظیماتی فعال شده و چه مقادیری دارند.
    • هر ایندکس (موقعیت عدد) مربوط به یک کلیدواژه خاص از دستور PTRAC است. مثال:
      • ایندکس ۱ (BUFF): مقدار ۱ نشان می‌دهد یک عدد برای بافر وجود دارد. مقدار بعدی در داده‌ها (که در ادامه می‌آید) ۱۰۰ است (مقدار پیش‌فرض بافر).
      • ایندکس ۲ (CELL فیلتر): مقدار ۰ نشان می‌دهد فیلتر بر اساس سلول غیرفعال است.
      • ایندکس ۳ (EVENT): مقدار ۴ نشان می‌دهد ۴ پارامتر برای فیلتر رویدادها تعریف شده است (که بعداً مشخص می‌شوند).
      • ایندکس ۴ (FILE): مقدار ۱ نشان می‌دهد یک پارامتر برای فایل وجود دارد (مثلاً FILE=ASC).
      • ایندکس ۵ (FILTER): مقدار ۰ یعنی فیلتر بر اساس متغیر تعریف نشده.
      • ایندکس ۶ (MAX): مقدار ۱ یعنی یک عدد برای MAX تعریف شده (مثلاً ۱۰۰۰۰).
      • ایندکس ۱۱ (TYPE): مقدار ۱ یعنی یک نوع ذره فیلتر شده (در مثال: فقط فوتون با کد ۲).
      • ایندکس ۱۳ (WRITE): مقدار ۱ یعنی یک پارامتر برای WRITE تعریف شده (در مثال: WRITE=P برای مختصات و شماره سلول).
    • با تحلیل این اعداد می‌توان فهمید فایل تحت چه شرایط و با چه تنظیماتی تولید شده است.
  5. ادامه دارد: درک معنای واقعی اعداد داده‌ها (که پس از این سرآیند می‌آیند) به جلسه بعد موکول شده است.

خلاصه نهایی: این جلسه بر روی سرآیند (Header) فایل PTRAC متمرکز بود. یادگیری خواندن این سرآیند مانند خواندن یک شناسنامه است که تمام تنظیمات مؤثر در تولید فایل را فهرست می‌کند. این گام اول و ضروری برای تفسیر درست انبوه داده‌های عددی است که در ادامه فایل قرار دارند.

 

 جلسه چهارم: تفسیر ساختار داده‌های فایل PTRAC (بخش دوم: بدنه اصلی فایل)

مهم‌ترین نکات جلسه:

  1. تکمیل سرآیند (Header):
    • عدد 14 در ابتدای خطوط ۴-۶ سرآیند نشان می‌دهد ۱۴ پارامتر فعال در فایل وجود دارد. مابقی اعداد (صفرها) جایگاه‌های رزرو برای توسعه‌های آینده هستند.
  2. ساختار دوگانه بدنه فایل:
    • پس از سرآیند، فایل به دو بخش اصلی تقسیم می‌شود:
      • بخش ۱: راهنمای فرمت (Format Guide)
      • بخش ۲: داده‌های واقعی رویدادها
  3. بخش ۱: راهنمای فرمت (خطوط بعد از سرآیند):
    • این بخش به صورت یک سری اعداد است که تعداد متغیرهای مربوط به هر نوع رویداد را مشخص می‌کند.
    • هر ایندکس (موقعیت) در این رشته اعداد، به یک نوع خط/رویداد خاص اشاره دارد (مطابق یک جدول مرجع داخلی MCNP). مثال‌ها:
      • ایندکس ۱ و ۲: مربوط به خط NPS (اطلاعات پایه تاریخچه) - ۲ متغیر دارد.
      • ایندکس ۳ تا ۸: مربوط به رویداد SRC (تولید از چشمه) - ۶ متغیر دارد.
      • ایندکس ۹ و ۱۰: مربوط به رویداد BANK (انتقال به بانک) - ۲ متغیر دارد.
      • ایندکس ۱۱ و ۱۲: مربوط به رویداد SUR (عبور از سطح) - ۲ متغیر دارد.
      • ایندکس ۱۳ و ۱۴: مربوط به رویداد COL (برخورد) - ۲ متغیر دارد.
      • ایندکس ۱۵ و ۱۶: مربوط به رویداد TER (پایان) - ۲ متغیر دارد.
      • ایندکس ۱۷ تا ۲۰: مربوط به نوع ذره (مثلاً ۱=نوترون، ۲=فوتون، ۳=الترون) و فرمت عددی (۴ بیتی یا ۸ بیتی).
    • نکته کلیدی: این بخش مانند یک راهنما یا نقشه است که به ما می‌گوید برای تفسیر هر خط از داده‌های بخش دوم، باید به دنبال چند عدد باشیم و آن اعداد به چه چیزی اشاره دارند.
  4. بخش ۲: داده‌های رویدادها و تفسیر با جدول‌های مرجع:
    • این بخش شامل خطوط متوالی اعداد است که هر خط یا مجموعه‌ای از خطوط، یک رویداد را توصیف می‌کنند.
    • هر رویداد با یک کد عددی آغاز می‌شود: (طبق جدول مرجع)
      • 1000 = SRC (تولید از چشمه)
      • 2000 = BANK (انتقال به بانک)
      • 3000 = SUR (عبور از سطح)
      • 4000 = COL (برخورد)
      • 5000 = TER (پایان یک ذره)
      • **9000 = پایان کل یک تاریخچه (همه ذرات اولیه و ثانویه)
    • برای تفسیر اعداد بعدی هر رویداد، باید به جدول مرجع کامل MCNP برای PTRAC مراجعه کرد. مثلاً برای یک رویداد SRC (کد ۱۰۰۰):
      • عدد اول بعد از ۱۰۰۰شماره رویداد (مثلاً ۳۰۰۰).
      • اعداد بعدی: می‌توانند شامل شماره تاریخچه، نوع ذره، مختصات (x,y,z)، جهت (u,v,w)، انرژی، وزن آماری، زمان، شماره سلول، شماره ماده، نوع برهمکنش (MT) و... باشند.
    • مثال عملی در جلسه: شناسایی یک رویداد BANK با کد ۲۰۱۶ که نشان‌دهنده‌ی تولید تابش ترمزی (Bremsstrahlung) توسط یک الکترون است.
  5. چالش اصلی و نکته پایانی:
    • درک ساختار PTRAC نیازمند مراجعه همزمان به چندین جدول مرجع (جدول نوع رویدادها، جدول نوع ذرات، جدول واکنش‌های هسته‌ای MT و ...) است که می‌تواند در ابتدا گیج‌کننده باشد.
    • پردازش دستی داده‌های PTRAC غیرممکن است. حجم داده‌ها بسیار زیاد است.
    • راه حل: باید از برنامه‌نویسی (در این دوره: متلب) برای خودکارسازی فرآیند استفاده کرد. روند کلی برنامه به این صورت است:
      1. خواندن فایل PTRAC در متلب.
      2. پیمایش خط به خط داده‌ها.
      3. اعمال شرط‌های منطقی بر اساس کد رویدادها و اطلاعات جدول‌های مرجع (مثلاً: "اگر رویداد از نوع برخود (4000) بود و در سلول ۵ رخ داد، آنگاه مختصات و انرژی آن را ذخیره کن").
      4. استخراج و ذخیره‌سازی اطلاعات مورد نظر محقق.

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

 

 

رسول شامحمدی

مدیر آکادمی پرتویار


پیوست ها: 4
2,000,000 تومان 2,000,000 تومان

0 بررسی:

نظر بدهید

برای ثبت دیدگاه یا پرسش سوال وارد سایت شوید

جزییات دوره

اضافه به سبد

⭐ نظرتو بگو، جامعه رو راهنمایی کن!

تجربه‌ات از این مقاله چطور بود؟

0.0
از ۵
📊 بر اساس 0 نظر
🔐 برای امتیازدهی نیاز به عضویت داری!

با ثبت‌نام رایگان، می‌تونی:

  • 📝 به مقالات امتیاز بدی
  • 💬 نظرت رو ثبت کنی
  • 📚 از محتوای اختصاصی استفاده کنی
  • 🎯 در جامعه حرفه‌ای‌ها عضو بشی