آموزش اضافه کردن فانتوم به برنامه از پیش نوشته شده MCNP
دانلود برنامه کد MCNP فانتوم میرد در شتابدهنده کلینیکال 2100 با استفاده از اصول نگارش و اضافه کردن فانتوم به دستگاه های تصویر برداری و MCNP
هنگام شبیهسازی سیستمهای پرتودرمانی، یکی از چالشهای اصلی قرار دادن فانتومهای انسانی در موقعیتهای دقیق نسبت به شتابدهنده است. برنامههای MCNP موجود معمولاً پیچیده بوده و ادغام فانتوم با آنها نیازمند رعایت اصول خاصی میباشد.
این آموزش به شما نشان میدهد چگونه:
-
فانتوم MIRD را به برنامهی موجود اضافه کنید
-
از تداخل شمارهگذاری جلوگیری کنید
-
تبدیلهای هندسی پیچیده را اعمال نمایید
-
برنامه را برای محاسبات دزیمری بهینه کنید
-
فهرست مطالب
1️⃣ بیان مسأله
در مدلسازی پرتودهی و تصویربرداری با استفاده از MCNP، گاهی نیاز است فانتوم انسانی مانند MIRD به هندسهای از پیش تعریفشده (مثلاً شتابدهنده درمانی) اضافه شود. این کار بهظاهر ساده، در عمل با چالشهایی روبهروست که نیازمند دقت بالا در نگارش هندسه و مدیریت کارتهاست.
2️⃣ چالشهای هندسی در MCNP
-
تداخل شماره سلولها و سطوح: برنامههای MCNP معمولاً شامل صدها کارت هستند. افزودن فانتوم بدون تغییر شمارهها منجر به خطاهای هندسی میشود.
-
ادغام دو هندسه مستقل: هندسه فانتوم و دستگاه درمانی معمولاً بهصورت جداگانه طراحی شدهاند. ترکیب آنها نیازمند همترازی دقیق و تعریف بردارهای انتقال و چرخش است.
-
موقعیتدهی فانتوم: بسته به هدف مطالعه (مثلاً بررسی دز در ناحیه شکم یا سر)، باید بتوان فانتوم را در موقعیتهای مختلف قرار داد.
3️⃣ اصول ادغام فانتوم با هندسه موجود
برای افزودن فانتوم به هندسه موجود، باید مراحل زیر را رعایت کرد:
-
بازنویسی شماره سلولها و سطوح فانتوم با offset مناسب
-
استفاده از کارتهای U و Fill برای تعریف واحدهای قابل تکرار
-
تعریف بردار چرخش و انتقال با استفاده از نرمافزار MATLAB یا ابزارهای مشابه
-
بررسی تداخل هندسی با استفاده از کارتهای Plot و Visual Editor
4️⃣ مراحل عملیاتی
4.1 تغییر شماره سلولها و سطوح
با استفاده از اسکریپت MATLAB یا Python، میتوان شمارههای سلول و سطح فانتوم را با یک عدد ثابت (مثلاً +1000) افزایش داد تا با هندسه اصلی تداخل نداشته باشند.
4.2 استفاده از کارتهای U و Fill
-
کارت U برای تعریف یک واحد هندسی (مثلاً فانتوم) استفاده میشود.
-
کارت Fill برای جایگذاری آن واحد در موقعیت دلخواه داخل هندسه اصلی کاربرد دارد.
-
این روش امکان استفاده چندباره از یک فانتوم در موقعیتهای مختلف را فراهم میکند.
4.3 تعریف بردار چرخش با MATLAB
برای چرخش یا انتقال فانتوم، باید ماتریس بردار چرخش را محاسبه کرد. MATLAB میتواند برای تولید کارت TRCL یا کارتهای برداری مناسب استفاده شود. مثال:
% تعریف بردار چرخش 90 درجه حول محور Z
theta = pi/2;
Rz = [cos(theta) -sin(theta) 0;
sin(theta) cos(theta) 0;
0 0 1];
5️⃣ نکات کلیدی در نگارش کد MCNP
-
از کامنتگذاری مناسب برای توضیح هر بخش استفاده کنید.
-
کارتهای جدید را با پیشوند مشخص (مثلاً MIRD_) نامگذاری کنید تا قابل تشخیص باشند.
-
از کارتهای Plot برای بررسی هندسه نهایی استفاده کنید.
-
در صورت استفاده از سورسهای جدید، کارت SDEF را بهدرستی تنظیم کنید.
6️⃣ منابع و فایلهای قابل دانلود
تمام فایلهای مورد نیاز شامل:
-
هندسه فانتوم MIRD
-
فایل MCNP شتابدهنده کلینیکال 2100
-
اسکریپتهای MATLAB برای چرخش و شمارهگذاری مجدد