Geant4-toolkit



راهنمای اجرای مجازی Geant4


  • ابتدا آخرین نسخه‌ی VMware Workstation Player  را دانلود و نصب کنید.
  • سپس از آدرس ftp://ftp.cenbg.in2p3.fr/info/Vmware/geant4.10.05/VmWare/  گزینه دوم یعنی G4.10.5_CentOS7_us را دانلود کنید.
  • حال از داخل سیستم مجازی، برنامه   G4.10.5_CentOS7_us را  مطابق شکل 1 و 2 اجرا کنید، سپس منتظر بمانید تا سیستم لود شود. می ‌توانید با کلیک راست روی G4.10.5_CentOS7_us و  انتخاب setting برنامه،  ram و . اختصاص داده به اجرای مجازی را افزایش دهید.


شکل 1 

 شکل 2


  • اگر با خطای شکل 3 مواجه شدید از آدرس زیر به قسمت بایاس سیستم بروید  و روش ارائه شده در این لینک را اجرا کنید.

شکل 3


  • حال ابتدا گزینه home  را از  desktop انتخاب کنید و از قسمت آخرین گزینه‌ی منوی  سمت چپ، other locations و سپس computer را انتخاب کنید.
  • سپس از آدرس /usr/local/geant4.10.05/share/Geant4-10.5.0/examples مثال ها را به home  یا desktop سیستم منتقل کنید.
  • روش اجرای مثال شبیه‌ی نسخه واقعی است، فقط باید در قسمت اول آدرس دهی دستور cmake عبارت زیر را وارد کنید: cmake -DGeant4_DIR=$G4COMP 






اوبونتو؛من هستم چون ما هستیم!


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

هنگامی که فرمان دویدن داده شد، آن بچه‌ها دستان هم را گرفتند و با یکدیگر دویده و در کنار درخت، خوشحال به دور آن سبد میوه نشستند.

وقتی پژوهشگر علت این رفتار آنها را پرسید و گفت در حالی که یک نفر از شما می‌وانست به تنهایی همه‌ی میوه‌ها را برنده شود، چرا از هم جلو نزدید؟ آنها گفتند "اوبونتو" ؛ به این معنا که "چگونه یکی از ما می‌تواند خوشحال باشد، در حالی که دیگران ناراحت‌اند"؟


اوبونتو در فرهنگ "ژوسا" (فرهنگ مردم قبیله‌ای در آفریقای جنوبی) یعنی : "من هستم، چون ما هستیم".



معرفی اجزای یک  مثال 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


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



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



دانش پایه‌ی C++

برای برنامه نویسی با ابزار Geant4 و انجام تغییرات در آن نیاز هست که زبان C++ را بفهمید. همچنین با مفاهیم الگوریتم نویسی آشنا باشید و بتوانید دستوراتی را به برنامه خاص خودتان اضافه کنید.


الگوریتم

برای آشنایی با مفاهیم الگوریتم نویسی این چند لینک را ببینید.

  • الگوریتم چیست؟ مثال‌هایی ساده از الگوریتم در برنامه‌نویسی
  • الگوریتم را به زبان بسیار بسیار ساده یاد بگیریم
  • آموزش الگوریتم و الگوریتم نویسی

  • زبان C++

      برای آشنایی با مفاهیم پایه برنامه نویسی C++ این چند لینک را ببینید.





      تبلیغات

      محل تبلیغات شما
      محل تبلیغات شما محل تبلیغات شما

      آخرین وبلاگ ها

      آخرین جستجو ها

      cafe cinema کافه سینما گروه تئاتر منوجان آهنگ و موزیک آموزش برنامه نویسی eypico Elijah مشاور من - از دهم تا کنکور سایت هواداری میثم ابراهیمی Greg backlinkgreen