آموزش مش بندی و score در geant4 به همراه مثال

  • صفحه اول
  • آموزش مش بندی و score در geant4 به همراه مثال
image

آموزش مش بندی و score در geant4 به همراه مثال

محاسبات در geant4 نیاز مند این است که یک مش بندی روی هندسه انجام شود و پارامتر مورد نظر را محاسبه شود. ساده ترین راه استفاده از مش است که در این مقاله توضیح داده می شود. سرفصل این آموزش ها عبارت است از 

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

در حالت پیشفرض مش بندی در geant4 فعال نیست. برای استفاده از مش بندی باید ابتدا آن را فعال کنیم. برای فعال کردن مش بندی از دستور زیر استفاده می کنیم. 

G4ScoringManager* scoringManager = G4ScoringManager::GetScoringManager();

این دستور باید بعد از شروع runmanager باشد و هدر G4ScoringManager.hh  فراخوانی شود. بنابراین شکل کلی باید به صورت زیر باشد.

#include “G4ScoringManager.hh”
int main()
{
G4RunManager* runManager = new G4RunManager;
G4ScoringManager* scoringManager = G4ScoringManager::GetScoringManager();
…

شروع مش بندی چگونه است؟

برای مش بندی باید دستورات مربوط به مش بندی را درون فایل ماکرو قرار داد. شروع مش بندی به صورت زیر است. 

# define scoring mesh
/score/create/boxMesh boxMesh_1
/score/mesh/boxSize 100. 100. 100. cm
/score/mesh/nBin 30 30 30

در اینجا مش مکعبی ساخته شده است که دارای ابعاد 100*100*100 سانتی متر است . در مجموعه به 30*30*30  تقسیم شده است. 

 

چه مش هایی میتوان ساخت؟

فقط میتوان مش های مکعبی و استوانه ای ساخت و بنابراین در صورتی که میخواهیم مش ما کروی باشد باید مش کروی را با استفاده از مطلب از مش استوانه ای فراخوانی کنیم.

 

چگونه نتیجه مش بندی را ذخیره کنیم؟

نتیجه مش بندی را میتوان به صورت فایل csv ذخیره کرد. این فایل بعد از اجرا درون پوشه ران برنامه ایجاد می شود.  نحوه ذخیره به صورت دستور زیر است. 

/score/dumpQuantityToFile  


/score/dumpQuantityToFile  tally1 neutronDose.csv

در اینجا نتیجه مش بندی از مش با نام tally1 به صورت فایل neutronDose.csv ذخیره می شود. 

  چه کمیت هایی می تواند در مش ذخیره شود؟

کمیت هایی زیادی می تواند در یک مش مورد ارزیابی قرار گیرد. این کمیت ها عبارتند از 

– energyDeposit * Energy deposit scorer.
– cellCharge * Cell charge scorer.
– cellFlux * Cell flux scorer.
– passageCellFlux * Passage cell flux scorer
– doseDeposit * Dose deposit scorer.
– nOfStep * Number of step scorer.
– nOfSecondary * Number of secondary scorer.
– trackLength * Track length scorer.
– passageCellCurrent * Passage cell current scorer.
– passageTrackLength * Passage track length scorer.
– flatSurfaceCurrent * Flat surface current Scorer.
– flatSurfaceFlux * Flat surface flux scorer.
– nOfCollision * Number of collision scorer.
– population * Population scorer.
– nOfTrack * Number of track scorer.
– nOfTerminatedTrack * Number of terminated tracks scorer.

 نحوه گذاشتن فیلتر روی مش 

میتوان روی هر پارامتری که میخواهیم اندازه گیری کنیم، یک فیلتر قرار دهیم. این فیلتر نتیجه را محدود به شرایط داده شده در فیلتر می کند. فیلتر هایی که میتواند استفاده شود عبارت است از

– charged * Charged particle filter.
– neutral * Neutral particle filter.
– kineticEnergy * Kinetic energy filter.
/score/filter/kineticEnergy    
– particle * Particle filter.
/score/filter/particle   … 
– particleWithKineticEnergy * Particle with kinetic energy filter.

 

نحوه استفاده از فیلترها عبارت است از

/score/quantity/energyDeposit eDep
/score/quantity/nOfStep nOfStepGamma
/score/filter/particle gammaFilter gamma
/score/quantity/nOfStep nOfStepEMinus
/score/filter/particle eMinusFilter e-
/score/quantity/nOfStep nOfStepEPlus
/score/filter/particle ePlusFilter e+
/score/close
قیمت: 135,000 135,000 تومان اضافه به سبد