📌 نکته تکمیلی مرحله ۵: چرا Physics List مهم است؟
در Geant4، فیزیکلیست مشخص میکند که ذرات در برخورد با ماده چه رفتارهایی داشته باشند.
برای مثال در نمونهپروژه ما، فوتون گاما با انرژی 662 keV به حفاظ سربی برخورد میکند. در این برخورد، ممکن است چند اتفاق رخ دهد:
🔹 فوتون بهطور کامل جذب شود
🔹 فوتون پراکنده شود و مسیرش تغییر کند
🔹 بخشی از انرژی خود را در ماده رسوب دهد
🔹 از حفاظ عبور کند و در ناحیه خروجی ثبت شود
اینکه Geant4 این فرایندها را چگونه شبیهسازی کند، به Physics List انتخابشده وابسته است.
📌 بنابراین در پروژههای پرتویی، انتخاب Physics List فقط یک تنظیم ساده نیست؛ بلکه یکی از بخشهای اصلی اعتبار علمی شبیهسازی است.
در مرحله بعد، سراغ خروجیگیری میرویم و مشخص میکنیم چه چیزهایی را باید ثبت کنیم:
✅ تعداد فوتونهای عبوری
✅ انرژی رسوبکرده در سرب
✅ دادههای لازم برای تحلیل نهایی
@Geant4Lab
🌙 جمعبندی امشب نمونهپروژه Geant4
امشب مرحله ۵ نمونهپروژه را بررسی کردیم:
🧪 انتخاب Physics List مناسب
در این مرحله دیدیم که فیزیکلیست مشخص میکند Geant4 برهمکنش فوتون گاما با ماده را چگونه شبیهسازی کند.
در پروژه عبور گاما از حفاظ سربی، فرایندهایی مثل:
🔹 اثر فوتوالکتریک
🔹 پراکندگی کامپتون
🔹 تولید زوج
🔹 جذب یا عبور فوتون از حفاظ
برای تحلیل نتیجه اهمیت دارند.
📌 تا اینجا مسیر پروژه شامل این بخشها بوده است:
✅ مشخصات اولیه شبیهسازی
✅ طراحی هندسه
✅ تعریف مواد
✅ تعریف چشمه گاما
✅ انتخاب Physics List
در مرحله بعد، وارد یکی از مهمترین بخشهای پروژه میشویم:
🎯 خروجیگیری و ثبت نتایج
یعنی مشخص میکنیم چگونه تعداد فوتونهای عبوری و Energy Deposition در سرب را بررسی کنیم.
@Geant4Lab
🧪 نمونهپروژه Geant4 | مرحله ۶: تعریف خروجیها و Scoring
🎯 خروجیگیری و ثبت نتایج
در این نمونهپروژه، فقط اجرا شدن کد کافی نیست؛ باید مشخص کنیم دقیقاً چه کمیتی را میخواهیم از شبیهسازی استخراج کنیم.
در این پروژه، خروجیهای اصلی ما شامل موارد زیر است:
🔹 ۱. تعداد فوتونهای عبوری از حفاظ
یعنی چند فوتون گاما بعد از عبور از سرب به ناحیه ثبت ذرات میرسند.
🔹 ۲. Energy Deposition در حفاظ سربی
یعنی چه مقدار انرژی در داخل ماده سرب رسوب کرده است.
🔹 ۳. مقایسه خروجی برای ضخامتهای مختلف سرب
با تغییر ضخامت حفاظ، انتظار داریم تعداد فوتونهای عبوری کاهش پیدا کند.
🔹 ۴. آمادهسازی داده برای جدول و نمودار
در نهایت میتوانیم نتایج را بهصورت جدول یا نمودار نمایش دهیم.
📌 در Geant4، خروجیگیری میتواند با روشهای مختلفی انجام شود؛ مثلاً با استفاده از Sensitive Detector، SteppingAction، EventAction یا RunAction.
در این نمونهپروژه، مرحلهبهمرحله نشان میدهیم چطور بخشی از کد برای ثبت خروجیها نوشته میشود و بعد خروجیهای نهایی مثل جدول و نمودار را بررسی میکنیم.
#پروژه_نمونه_۱
#مرحله_۶
@Geant4Lab
💻 نمونهپروژه Geant4 | بخش اول کد: هندسه و مواد
در این بخش، وارد کدنویسی نمونهپروژه میشویم.
اولین قسمت مهم پروژه، کلاس "DetectorConstruction" است. در این بخش، هندسه و مواد اصلی شبیهسازی تعریف میشوند.
در نمونهپروژه ما، حداقل به این اجزا نیاز داریم:
🔹 محیط شبیهسازی از جنس هوا
🔹 حفاظ سربی
🔹 ناحیه ثبت فوتونهای عبوری پشت حفاظ
بخشی از کد تعریف مواد:
auto nist = G4NistManager::Instance();
G4Material* air =
nist->FindOrBuildMaterial("G4_AIR");
G4Material* lead =
nist->FindOrBuildMaterial("G4_Pb");
در این کد، از "G4NistManager" استفاده شده است تا مواد استاندارد مثل هوا و سرب مستقیماً از دیتابیس آماده Geant4 دریافت شوند.
📌 استفاده از مواد استاندارد Geant4 باعث میشود چگالی، ترکیب و مشخصات فیزیکی ماده بهصورت معتبر تعریف شود.
در ادامه، حجم محیط، حفاظ سربی و ناحیه ثبت فوتونها را در کد تعریف میکنیم.
#پروژه_نمونه_۱
#مرحله_۷
#کد_جینت
@Geant4Lab
💻 نمونهپروژه Geant4 | بخش دوم کد: تعریف حجمها
در پست قبل، مواد اصلی پروژه را تعریف کردیم:
🔹 هوا برای محیط شبیهسازی
🔹 سرب برای حفاظ
حالا باید حجمهای اصلی پروژه را بسازیم.
در این نمونهپروژه، سه حجم مهم داریم:
1️⃣ World Volume
محیط اصلی شبیهسازی که تمام اجزای پروژه داخل آن قرار میگیرند.
2️⃣ Pb Shield
حفاظ سربی که فوتونهای گاما به آن برخورد میکنند.
3️⃣ Scoring Plane
ناحیهای پشت حفاظ که برای ثبت فوتونهای عبوری استفاده میشود.
بخشی از ساختار کد بهصورت ساده:
G4double worldSize = 1.0 * m;
G4double shieldThickness = 2.0 * cm;
auto solidWorld =
new G4Box("World", worldSize/2, worldSize/2, worldSize/2);
auto solidShield =
new G4Box("PbShield", 5*cm, 5*cm, shieldThickness/2);
auto solidScoring =new G4Box("ScoringPlane", 5*cm, 5*cm, 0.5*mm);
در این بخش فقط شکل هندسی حجمها تعریف میشود.
در مرحله بعد، باید برای هر حجم یک Logical Volume بسازیم و مشخص کنیم هر حجم از چه مادهای تشکیل شده است.
📌 نکته مهم:
در Geant4، تعریف شکل هندسی، تعریف ماده و قرار دادن حجم در فضا سه مرحله جداگانه هستند.
#پروژه_نمونه_۱
#مرحله_۸
#کد_جینت
@Geant4Lab