Geant4-toolkit

Geant4-toolkit

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

Geant4-toolkit

Contact me: geant4.toolkit.zabihiATgmail.com

کاربردهای ابزار شبیه ساز Geant4-ژورنال کلاب دانشگاه شیراز

در این وبینار به معرفی ابزار Geant4 پرداخته ام 

و  کاربردها ی آن را بر اساس تجربیات خودم و با نگاه به مساله DNA بیان کرده ام.


لینک فیلم در آپارات

دانلود فایل پاورپوینت

دانلود فیلم در وبلاگ


آشنایی با مثال‌های Geant4


آشنایی با مثال‌های Geant4


در Geant4 سه مدل مثال تعریف شده است:

    v     Basice: مثال‌های بسیار ساده‌ای هستند که برای کاربران تازه کار بسیار مفید خواهند بود. با مطالعه این مثال‌ها کاربر آشنایی نسبتاً خوبی با اجزای مختلف Geant4 پیدا خواهد کرد.

     v     Extended: مجموعه‌ای از مثال‌هایی هستند که نیاز به کتابخانه‌های بیشتری دارند و موارد خاصی در آن جای گرفته است.

    v     Advanced: برنامه‌های کاربردی به صورت مثال‌های کاملی در آن قرار دارند. البته کاربران می‌توانند با توجه به نیاز خود آنها را اصلاح نماید.



 

Basice level examples

ExampleB1

   - Simple geometry with a few solids

   - Scoring total dose in a selected volume user action classes

  

 ExampleB2

   - Simplified tracker geometry with global constant magnetic field

   - Scoring within tracker via G4 sensitive detector and hits

   - Started from novice/N02 example

  

 ExampleB3

   - Schematic Positron Emitted Tomography system

   - Radioactive source

   - Scoring within Crystals via G4 scorers

 

 ExampleB4

   - Simplified calorimeter with layers of two materials

   - Scoring within layers in four ways: via user actions (a), via user own

     object (b), via G4 sensitive detector and hits (c) and via scorers (d)

   - Started from novice/N03 example

 


Extended level examples

 analysis

   - Histogramming through the AIDA interface

 biasing

   - Examples of event biasing, scoring and reverse-MC

 common

   - A set of common classes which can be reused in other examples demonstrating

     just a particular feature 

 electromagnetic

   - Specific EM physics simulation with histogramming

 errorpropagation

   - Use of the error propagation utility (Geant4e)

 eventgenerator

   - Applications using interface to HepMC

 exoticphysics

   - Exotic simulation applications (classical magnetic monopole, etc...)

 field

   - Specific simulation setups in magnetic field

 g3tog3

   - Examples of usage of the g3tog4 converter tool

 geometry

   - Specific geometry examples and tools: OLAP tool for detection

     of overlapping geometries

 hadronic

   - Specific hadronic physics simulation with histogramming

 medical

   - Specific examples for medical physics applications

 optical

   - Examples of generic optical processes simulation setups

 parallel

   - Examples of event-level parallelism in Geant4 using either the

     TOP-C library, Intel-TBB library or MPI technique

 parameterisations

   - Examples for fast shower parameterisations according to specific models

 persistency

   - Persistency of geometry (GDML or ASCII) and simulation output

 polarisation

   - Use of physics processes including polarization

 radioactivedecay

   - Examples to simulate the decays of radioactive isotopes and

     induced radioactivity resulted from nuclear interactions

 runAndEvent

   - Examples to demonstrate how to connect the information between

     primary particles and hits and utilize user-information classes

 visualization

   - Specific visualization features and graphical customisations

 


Advanced level examples

 air_shower

   - Simulation of the ULTRA detector for UV and charged particles

     detection in cosmic rays

 amsEcal

   - Simplified AMS Ecal calorimeter structure

 brachytherapy

   - Setup for brachytherapy Ir-192 HDR source

 ChargeExchangeMC

   - Charge Exchange Monte Carlo

 composite_calorimeter

   - Test-beam simulation used in CMS against real data taken

     in 1996 in a CMS Hadron calorimeter test-beam at LHC

 dnageometry

   - Setup of a realistic nucleus model of a cell, including chromosomes,

     in combination with Geant4-DNA physics

 eRosita

   - Simplified eROSITA X-ray telescope setup for instrumental background

     simulations for fluorescence measurements.

 gammaknife

   - Application specifically developed to simulate an advanced device for

     Stereotactic Radiosurgery; reproduces a Leksell Gamma-Knife unit model C

 gammaray_telescope

   - Simulation of a typical telescope for gamma ray analysis

 hadrontherapy

   - Simulation of a hadron therapy beam line

 human_phantom

   - Anthropomorphic phantoms (male and female) based on MIRD/ORNL model

     with geometry description derived from GDML persistent files

 iort_therapy

   - Application specifically developed to address typical needs related to

     the Intra-Operative Radio-Therapy (IORT) technique

 lAr_calorimeter

   - Simulation of the Liquid Argon Calorimeter of the ATLAS

     Detector at LHC

 medical_linac

   - Simulation of energy deposit in a Phantom filled with water

     for a typical linac used for intensity modulated radiation therapy

 microbeam

   - Simulation of the cellular irradiation beam line installed on the AIFIRA

     electrostatic accelerator facility located at CENBG, France

 microelectronics

   - Simulating tracks of a 5 MeV proton in silicon.

 nanobeam

   - Simulation of the beam optics of the nanobeam line installed on the AIFIRA

     electrostatic accelerator facility located at CENBG, France.

 purging_magnet

   - Simulation of electrons traveling through a 3D magnetic field of a

     strong purging magnet used for treatment head in a medical environment

 radioprotection

   - Modeling a simplified diamond microdosimeter for radioprotection

     applications in space environments.

 underground_physics

   - Setup of an underground dark matter experiment

 xray_fluorescence

   - Test beam to characterize the response function of an

     HPGe detector used to measure fluorescence emissions

 xray_telescope

   - Realistic simulation of an X-ray Telescope

 

 

 

مقدمه (2)-آشنایی با ابزار Geant4


دانش‌های پایه مورد نیاز برای استفاده از Geant4


v     C++: ابزار Geant4 بر پایه آن نوشته شده است. لزومی ندارد یک برنامه نویس حرفه‌ای باشید، فقط کافی است که با مفاهیم برنامه نویسی و ساختار الگوریتم‌ها آَشنا باشید. بتوانید آن را درک کنید. موارد خاص خودتان را در مثال‌ها پیدا کنید و در مواردی بسیار نادر و البته آسان آنها را بنویسید. این لینک را ببنید.

v     مفهوم شی‌گرایی (Object Oriented Technology): یک شیوه برنامه‌نویسی است که ساختار یا بلوک اصلی اجزای آن، شی‌ها می‌باشند. در واقع در این شیوه برنامه‌نویسی، برنامه به شی گرایش پیدا می‌کند. به این معنا که داده‌ها و توابعی که قرار است بر روی این داده‌ها عمل کنند، تا حد امکان در قالبی به نام شی در کنار یکدیگر قرار گرفته، جمع‌بندی شده و یک واحد (شی) را تشکیل داده و نسبت به محیط بیرونِ خود، کپسوله می‌شوند و از این طریق، توابع بیگانه‌ی خارج از آن شی، دیگر امکان ایجاد تغییر در داده‌های درون آن شی را ندارند. در برنامه‌های خیلی پیشرفته از این مفهوم استفاده خواهد شد و کاربر معمولی فقط باید بداند که Geant4 با این روش تمام پیش‌نیازهای اصلی برای شبیه‌سازی را یک بار ساخته است و او باید فقط قادر باشد آنها را درک و استفاده نماید. همچنین در صورت لزوم امکان اصلاح و سفارشی کردن اجزا با توجه به نیاز کاربر وجود دارد.

v     Unix/Linux: محیط استاندارد برای اجرا است و بنابراین باید آشنایی مختصری با محیط و نیز اجرای کدهای C++ در آن وجود داشته باشد. در محیط ویندوز هم قابل Geant4 امکان اجرا دارد اما پیشنهاد تیم سازنده استفاده از محیط لینوکس است.  اینجا را ببنید.


زمینه‌های کاربرد Geant4

ابزار Geant4 در موضوعات بسیاری به کار برده شده و به مقاله مرجع معرفی ابزار بیش از 4000 بار استناد رخ داده است.


v     large scale HEP experiments

v     Space science and astrophysics

v     Medical physics, nuclear medicine

v     Radiation protection

v     Accelerator physics

v     Pest control, food irradiation

v     Homeland security


کاربرهای معمولی (پژوهشگران یا دانشجویان دکتری یا ارشد با عناوین مرتبط به زمینه‌های مطرح شده بالا) برای طراحی مساله خود باید ابتدا مرتبط‌ترین مثال را از بین مثال‌های فراوان Geant4 پیدا کنند. سپس مثال مورد نظر را به دقت برای درک آن مطالعه نمایند. راهنمای مربوط به مثال را با عنوان readme که در همه مثال‌ها وجود دارد، حتماً مطالعه نمایند. سپس مثال را با توجه به نیاز خود اصلاح نمایند. به عبارت دیگر کاربر معمولی نیازی نیست که از ابتدا شروع به نوشتن یک برنامه نماید. پیشنهاد می‌شود برای اضافه کردن هر تعریف جدیدی در مثال خودتان، حتماً به دیگر مثال‌های نسخه نصب شده در سیستم‌ خودتان مراجعه کنید.

کاربر معمولی بعد از آشنایی با هسته اصلی Geant4 قادر خواهد بود به کمک مثال‌های متعددی که در منبع برنامه نصبی وجود دارد تبحر خود را افزایش داده و بعد از مدتی مساله مورد نظر خود را طراحی و اطلاعات مورد نیاز را از استخراج نماید. بنابراین ابتدا نگاهی کلی و بدون در نظر گرفتن جزئیات، به هسته Geant4 خواهیم داشت.


هسته Geant4

v     Run مجموعه‌ای از Eventها و با شرایط یکسان هندسه و ساختار شبیه‌سازی و یک تعریف مشخص و ثابت از فیزیک برهمکنش‌ها در مسأله است. G4RunManager کلاس مدیریتی و G4UserRunAction کلاس اختیاری کاربر برای تعاریف مورد نیاز است.

v     Event به عنوان واحد پایه در شبیه‌سازی تعریف می‌شود، یعنی هر ذره تابشی یک Event در نظر گرفته می‌شود. در ابتدای فرایند، ردها (track) تولید می‌شوند و در پشته (stack) نگهداری می‌شوند. trackها از پشته یکی یکی خارج شده و ردیابی می‌گردند. نتایج ثانویه هر track دوباره به پشته ارسال می‌شود. این فرایند تا تمام شدن پشته ادامه می‌یابد و وقتی پشته خالی شود یعنی یک event تمام شده است. کلاس G4Event اطلاعات یک event را در انتهای آن نمایش می‌دهد که شامل لیست ذزه ورودی و ذرات ایجاد شده در event است و همه ردها را به عنوان خروجی در خود دارد. G4EventManager کلاس مدیریتی و  G4UserEventAction کلاس اختیاری کاربر برای تعاریف مورد نیاز است.

v     Tracking: تصویر لحظه‌ای ذره توسط track داده می‌شود. در آن همه کمیت‌های فیزیکی متناظر به آن موقعیت وجود دارد و اطلاعات قبلی را در خود ندارد. کلاس G4Trac اطلاعات هر track را دارد. G4TrackingManager کلاس مدیریتی و G4UserTrackingAction کلاس اختیاری کاربر برای تعاریف مورد نیاز است. Track زمانی حذف می‌شود که:

o       ذره از محیط شبیه‌سازی (جهان) خارج شود.

o       واپاشی یا پراکندگی غیرالاستیک رخ دهد.

o       انرژی جنبشی ذره به صفر برسد و فرایند “AtRest”ی نیاز هم نباشد.

o       کاربر نیاز داشته باشد به طور دستی (مصنوعی) ذره را از بین ببرد (kill).

v     Step: ‌هر step شامل اطلاعات جزئی از یک track هست. یک track جمع stepها نیست. در عوض هر track با step به روزرسانی می‌شود.



در Geant4 همه ذرات تا آخرین مرحله از دست دادن همه انرژی جنبشی با توجه به فیزیک تعریف شده ردیابی می‌شوند. تنها محدودیت تعریف شده انرژی آستانه برای تولید ذرات ثانویه است. کاربر خود می‌تواند cut برای انرژی و برد و ... با توجه به مساله خاص خود تعریف کند.

مقدمه (1)-آشنایی با ابزار Geant4

به نام رب رحمن

مقدمه-آشنایی با ابزار Geant4


مروری کوتاه بر توانایی‌ها و چگونگی استفاده از ابزار Geant4 در شبیه‌سازی‌ها‌:


v     Geant4 ابزاری رایگان و منبع باز است.

v     فایل منبع و کتابخانه‌ها و راهنمای کاربر و ابزار مورد نیاز از سایت http://cern.ch/geant4 قابل دانلود هست.

v     مثال‌های مختلف و بسیاری در منبع برنامه وجود دارد که کمک بسیار ارزشمندی برای تسریع یادگیری و ساخت و اجرای برنامه شبیه‌سازی هر پژوهشگری خواهد بود.

v     انجمن بسیار کاربردی به آدرس http://hypernews.slac.stanford.edu/HyperNews/geant4/top.pl برای به اشتراک گذاشتن و بحث درباره مسائل مختلف شامل گروه‌های مختلف وجود دارد. هنگامی که سوالی مطرح می‌شود تیم اصلی طراح ابزار هم در پاسخ‌دهی مشارکت بسیار خوبی دارند.

v     Geant4 ابزاری قدرتمند و همچنین پیچیده‌ای هست.

v     غیرممکن هست همه نکات آن در یک روز آموزش داده شود.

v     غیرممکن هست همه نکات در یک روز یاد گرفته شود.

v     این ارائه سعی در ایجاد یک چشم‌انداز کلی به Geant4 و روشی برای چگونگی استفاده از آن است.

v     پیدا کردن مسیر درست استفاده در ابزار پیچیده Geant4 کار آسانی نیست.

v     چشم انداز روشن به یادگیری بیشتر کمک خواهد کرد.


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

 

Geant4 چه کارهایی برای شما می‌تواند انجام دهد؟

1.      گام به گامِ عبور ذره در ماده و برهمکنش‌های رخ داده با آن و میدان‌های خارجی تعریف شده را ردیابی می‌کند تا زمانی که

v     ذره همه انرژی جنبشی‌اش را از دست بدهد.

v     به علت فرآیندهای فیزیکی ذره از بین برود.

v     به مرز محیط شبیه‌سازی برسد.


2.      کاربر قادر خواهد بود اطلاعات عبور ذره از ماده شامل جزئیات فرایندهای رخ داده در شبیه‌سازی را در مراحل زیر داشته باشد:

v     در شروع و پایان عبور هر ذره

v     در آغاز و شروع هر گام

v     در هر محل خاص از سیستم طراحی شده توسط کاربر



شما چه کارهایی برایGeant4 باید انجام دهید؟


سه اطلاعات اساسی را باید در هر شبیه‌سازی فراهم سازید:


v     طراحی هندسه شبیه‌سازی و تعریف مواد به کار رفته در آن

v     تعریف نوع ذره تابشی به همراه انرژی، مکان و جهت و کیفیت چگونگی تابش

v     انتخاب فیزیک مناسب با توجه به مواد هندسه شبیه‌سازی و نوع تابش


در صورت نیاز می‌توان میدان‎‌های الکتریکی و مغناطیسی را هم اضافه نمود. با انجام این سه مرحله Geant4 تمام رویدادها را با توجه به هندسه طراحی شده و مواد آن و فیزیک مورد نظر ردیابی خواهد کرد.


در نهایت با توجه به طراحی انجام شده، کاربر می‌تواند داده‌های مورد نیازش را از برنامه استخراج کند.



مقدمه (2)-آشنایی با ابزار Geant4

آشنایی با مثال‌های Geant4