Geant4-toolkit

Geant4-toolkit

Contact me: geant4.toolkit.zabihiATgmail.com
Geant4-toolkit

Geant4-toolkit

Contact me: geant4.toolkit.zabihiATgmail.com

آموزش ویدیویی جینت ۴


Contact me: geant4.toolkit.zabihiATgmail.com

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










معرفی اجزای یک مثال Geant4



معرفی اجزای یک  مثال Geant4


 هر مثال  به صورت فولدری هست که از دو فولدر src و include و تعدادی فایل تشکیل شده است. برای درک و آَشنایی بهتر لطفاً از قسمت مثال‌ها و فولدر basic مثال B1 را باز کنید.

  • در فولدر اصلی یک فایل با عنوان  exampleB1.cc  قرار دارد که از این به بعد به عنوان main  برنامه نامیده می‌شود. این فایل با پسوند cc. فایل اصلی‌اس است که ارتباط بین اجرای برنامه را نشان خواهد داد.
  •  فولدر src و  include شامل اجزای سازنده برنامه هستند. می‌توان گفت اکثر تغییرات باید در کلاس‌های فولدر src رخ بدهد.
  • به ازای هر کلاسی که در فولدر src با پسوند cc وجود دارد، کلاس مشابه آن در فولدر include و با پسوند hh باید وجود داشته باشد. به این معنا که اگر در برنامه‌ای نیاز بود کلاسی به برنامه‌تان اضافه کنید باید هر دو بخش در فولدرها کپی کنید.



دقت کنید که با اضافه شدن کلاسی به برنامه، باید دوباره cmake انجام دهید. ولی برای تغییرات در هر کلاس فقط نیاز به make کردن هست.



حال به فولدر src بروید.

  • اولین کلاس که B1ActionInitialization نام دارد، کلاسی است که به شما کمک خواهد کرد برنامه را به روش موازی یعنی درگیر کردن همه coreهای سیستم اجرا کنید. این روش در نسخه‌های 4.10 به بالا به برنامه اضافه شده است و روش MULTITHREADED مالتی ترد نام دارد. برای اطلاعات بیشتر این قسمت را ببینید.


  • دومین کلاس B1DetectorConstruction نام دارد. در این کلاس اجزای سازنده شبیه‌سازی‌تان را وارد خواهید کرد. ابتدا باید یک فضا به نام جهان بسازید. سپس همه اجزای دیگر در آن قرار خواهند گرفت. به عبارت دیگر مختصات اجزای اصلی نسبت به مبدأ جهان تعریف خواهد شد. برای هر هندسه‌ای که تعریف می‌کنید ابتدا باید تعیین کنید که شکل هندسی آن چیست مانند اینکه کره هست یا مکعب یا .... سپس جنس آن را باید تعیین کنید یعنی از آب ساخته شده است یا سرب یا .... سپس محل قرارگیری و جهت آن را  باید نسبت به مادرش مشخص کنید. برای اطلاعات بیشتر این قسمت را ببنید.


  • سومین کلاسی که در همه مثال‌ها مشاهده خواهید کرد کلاس B1PrimaryGeneratorAction است. در این کلاس کیفیت و کمیت تابش وارد شده به هندسه مساله باید تعیین کنید. یعنی چه ذره تابشی، با چه انرژی، در چه جهتی و از کجا و چگونه بتابد. برای اطلاعات بیشتر این قسمت را ببینید.


  • با تعیین هندسه مساله و نوع تابش، نیاز هست که فیزیک رخدادها نیز تعیین گردد. به این معنی که آن ذره تابشی به چه طریقی در محیط یا همان هندسه مساله ردیابی بشود. به  این کلاس Physicslist می‌گویند. در نسخه‌های جدید Geant4 یعنی بالای 10  این امکان وجود دارد که شما  در main  برنامه بسته فیزیک لیست را معرفی کنید. در مثال B1 از یک بسته خاص فیزیک استفاده شده است. اگر به فولدر اصلی برنامه برگردید و main آن را باز کنید می‌توانید فیزیک لیست تعیین شده را ببینید "QBBC". با ctrl+F به راحتی کلمات یا دستورات دلخواه را در برنامه پیدا کنید.



با تعیین شدن این سه کلاس اصلی یعنی Physicslist، PrimaryGeneratorAction و DetectorConstruction برنامه شبیه‌سازی شما تکمیل شده است به این معنا که با اجرای برنامه، با توجه به فیزیک تعریف شده، تابش تعریف شده در هندسه تعیین شده ردیابی خواهد شد تا جایی که با توجه به انرژی تابشی ذره و فیزیک و هندسه مساله امکان ردیابی آن باشد و همچنین تابش از محیط خارج نشده باشد.




برون کشی داده

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



نحوه اجرای مثال‌ها


نحوه اجرای  مثال‌ها با  روش cmake


  • در فولدر نصبی برنامه یعنی مسیر زیر مثال‌های معرفی شده  قرار دارند. یک کپی از آن را به home یا هر محل دیگری از سیستم عامل‌تان بیاورید.   ( ابتدا گزینه home  را از  desktop انتخاب کنید و از قسمت آخرین گزینه‌ی منوی  سمت چپ، other locations و سپس computer را انتخاب کنید. حال فولدر usr را پیدا کنید و ...)
 \usr\local\include\geant4.10.02\share\Geant4-10.2.3\examples\
  • به عنوان اولین مثال \basic\B1\ را انتخاب کنید.
  • کنار فولدر مثال‌تان یک فولدر با نام B1_build بسازید.
  • در فولدر B1_build ترمینال را باز کنید تا در همان مسیر، ترمینال باز شود.
  • برای اجرای برنامه به روش  cmake  باید دستورات زیر را وارد کنید. قسمت اول دستور مسیر کتابخانه Geant4  است و قسمت دوم مسیر محل قرارگیری سورس برنامه یعنی همان B1 است.
  • روش دیگر که ساده تر هست و نیازی به آدرس دهی ندارد، این است که درون فولدر مثال مورد نظر، یک فولدر به نام build بسازید و درون آن ترمینال را باز کنید و سپس برای  cmake کردن باید عبارت زیر را،  که بین عبارت و دونقطه فاصله هست را تایپ کنید. ادامه روش مشابه هست.
  • cmake  -DGeant4_DIR=/usr/local/include/Geant4-­10.3-install/lib/Geant4-­10.3     Home/examples/B1
  • خط اول روش اول است و خط زیر روش ساده تر است.
  • cmake ...
  •  سپس  دستور  make را وارد کنید.
  • اگر مثلاْ  j8- را بعد از دستور میک بنویسید تعداد هسته های سیستم را با آن عدد مشخص کردید. بنابراین برنامه سریع تر میک می شود.
  • در انتها نام برنامه را  که در انتهای make شدن در ترمینال می‌بینید به صورت exampleB1/. وارد کنید.
  • در این زمان باید محیط هندسی مثال تان را مشاهده نمایید.

چند نکته دیگر

  • می‌توانید  در محیط Qt عبارت  run/beamOn 100/ را تایپ کنید و تابش 100 ذره در محیط هندسه‌تان را مشاهده نمایید.
  • می‌توانید در محیط Qt عبارت      control/execute/ run1.mac  را به اضافه ی نام ماکرو مثل اینجا وارد کنید و فایل‌های ماکرو را اجرا نمایید.
  • دستورات ذکر شده را از منوی سمت چپ و گزینه help می‌توانید انتخاب کنید.
  • پیشنهاد می‌کنم باقی دستورات را هم نگاهی بیاندازید.
  • از منوی سمت چپ محیط و گزینه اول  (scene tree) هم می توانید به اجزای هندسه دسترسی داشته باشید و آنها را  با تیک زدن و نزدن،  خاموش و روشن کنید.
  • با تغییر دادن فایل‌های ماکرو، نیازی نیست برنامه make  شود. به عبارت دیگر فایل ماکرو خارج از محیط برنامه نویسی است و تغییراتش را می‌توان به طور مستقیم با اجرای دوباره مثال مشاهده کرد.
  • اگر در کلاس‌های src یا include یا main  برنامه تغییری دادید، حتماً قبل از اجزای مثال باید make کنید.
  • تنها زمانی به cmake  کردن نیاز دارید که فایلی با پسوند .hh  و .cc به کلاس های برنامه اضافه کرده باشید.
  • در فایل vis.mac هم با کامنت کردن عبارت vis/open OGL 600x600-0+0/#  (علامت کامنت کردن #) می‌توانید نمایش هندسه را خاموش کنید. هنگامی که از برنامه طراحی شده‌تان مطمئن شدید، پیشنهاد می‌کنم حتماً برای اجراهای اصلی‌تان، هندسه را خاموش کنید.



به دنیای Geant4 خوش آمدید.