Difference between revisions of "HRRL radiation footprint simulations"
Line 292: | Line 292: | ||
|} | |} | ||
+ | G4 code for registering particles in wall8. | ||
+ | <pre> | ||
+ | if( fTrack->GetVolume()->GetName() =="Wall8" && (fTrack->GetDefinition()->GetPDGEncoding()==22 ||fTrack->GetDefinition()->GetPDGEncoding()==11 ||fTrack->GetDefinition()->GetPDGEncoding()==2212 ||fTrack->GetDefinition()->GetPDGEncoding()==2112 )) | ||
+ | { | ||
+ | if (fTrack->GetDefinition()->GetPDGEncoding()==22 ) //if gamma | ||
+ | { ig++; | ||
+ | outfile | ||
+ | << ig << " 22 " | ||
+ | <<fTrack->GetKineticEnergy() << " " | ||
+ | << fTrack->GetPosition().x()<< " " | ||
+ | << fTrack->GetPosition().y()<< " " | ||
+ | << fTrack->GetPosition().z()<< " " | ||
+ | << fTrack->GetMomentum().x() << " " | ||
+ | << fTrack->GetMomentum().y() << " " | ||
+ | << fTrack->GetMomentum().z() << " "<< G4endl;} | ||
+ | if (fTrack->GetDefinition()->GetPDGEncoding()==11 ) //if e- | ||
+ | {ie++; | ||
+ | outfile | ||
+ | << ie << " 11 " | ||
+ | <<fTrack->GetKineticEnergy() << " " | ||
+ | << fTrack->GetPosition().x()<< " " | ||
+ | << fTrack->GetPosition().y()<< " " | ||
+ | << fTrack->GetPosition().z()<< " " | ||
+ | << fTrack->GetMomentum().x() << " " | ||
+ | << fTrack->GetMomentum().y() << " " | ||
+ | << fTrack->GetMomentum().z() << " "<< G4endl;} | ||
+ | if (fTrack->GetDefinition()->GetPDGEncoding()==2212 ) //if proton | ||
+ | {ip++; | ||
+ | outfile | ||
+ | << ip << " 2212 " | ||
+ | <<fTrack->GetKineticEnergy() << " " | ||
+ | << fTrack->GetPosition().x()<< " " | ||
+ | << fTrack->GetPosition().y()<< " " | ||
+ | << fTrack->GetPosition().z()<< " " | ||
+ | << fTrack->GetMomentum().x() << " " | ||
+ | << fTrack->GetMomentum().y() << " " | ||
+ | << fTrack->GetMomentum().z() << " "<< G4endl;} | ||
+ | if (fTrack->GetDefinition()->GetPDGEncoding()==2112 ) //if neutron | ||
+ | {in++; | ||
+ | outfile | ||
+ | << in << " 2112 " | ||
+ | <<fTrack->GetKineticEnergy() << " " | ||
+ | << fTrack->GetPosition().x()<< " " | ||
+ | << fTrack->GetPosition().y()<< " " | ||
+ | << fTrack->GetPosition().z()<< " " | ||
+ | << fTrack->GetMomentum().x() << " " | ||
+ | << fTrack->GetMomentum().y() << " " | ||
+ | << fTrack->GetMomentum().z() << " "<< G4endl;} | ||
+ | } | ||
+ | <pre> | ||
Revision as of 16:34, 25 February 2010
Design a simulation to determine radiation footprint in HRRL cell.
1.) The ceiling is 4 feet thick
2.) there is PB shiedling between the HRRL accelerator room and the accelerator operator station
3.) the dirt is about 10 feet thick on the wall side where the accelerator is going to be mounted
4.) determine shielding wall thickness for HRRL cavity to reduce dose out the door
5.) Determine shielding for Tungsten converter
Drawing
Get a drawing from facilities documenting the shielding in that cell with dimensions
Denton Dance: x4710, may be able to provide drawings. B119 Beam Lab
Material Definitions
Concrete
Concrete has 6 elements and a density of 2.7 g/cm^3
Element | Atomic Weight (A) | Atomic Number (Z) | Proportion by Weight |
1 | 1.0079 | 1. | 0.004 |
2 | 15.9994 | 8. | 0.509 |
3 | 26.981539 | 13 | 0.034 |
4 | 28.0855 | 14. | 0.345 |
5 | 40.078 | 20 | 0.070 |
6 | 55.8474 | 26. | 0.038 |
GEANT4 code
a = 1.0079*g/mole; G4Element* elH = new G4Element(name="Hydrogen",symbol="H" , z= 1., a); a = 15.9994*g/mole; G4Element* elO = new G4Element(name="Oxygen" ,symbol="O" , z= 8., a); a = 26.981539*g/mole; G4Element* elAl = new G4Element(name="Aluminum",symbol="Al" , z= 13., a); a = 28.0855*g/mole; G4Element* elSi = new G4Element(name="Silicon",symbol="Si" , z= 14., a); a = 40.078*g/mole; G4Element* elCa = new G4Element(name="Calcium",symbol="Ca" , z= 20., a); a = 55.8474*g/mole; G4Element* elNi = new G4Element(name="Iron",symbol="Fe" , z= 26., a); density =2.7*g/cm3; G4Material* Concrete = new G4Material(name="Concrete ",density,ncomponents=6); Concrete->AddElement(elH, fractionmass=0.4*perCent); Concrete->AddElement(elO, fractionmass=50.9*perCent); Concrete->AddElement(elAl, fractionmass=3.4*perCent); Concrete->AddElement(elSi, fractionmass=34.5*perCent); Concrete->AddElement(elCa, fractionmass=7.0*perCent); Concrete->AddElement(elNi, fractionmass=3.8*perCent);
Relative Rates
The first step in the simulation will be to compare relative radiation rates at the exit of the accelerator room. The radiation exiting the accelerator room before and after moving the accelerator will be simulated. Although all particles can be tracked we will mostly be interested in gamma and neutron fluxes through the door. The ratio of before/after moving fluxes for gamma and neutron should be plotted as a function of energy.
Geometry
[HRRL room dimension measured by Jason Swanson]
HRRL Geom by Sadiq
what is the thicknes of the walls below.
No dirt inside walls.
Wall Number 3, 4 and 5 are 1 feet thick.
Ceiling is 5 feet thick. Above that is 1st floor metal structure.
GEANT4 Simulation Setup
HRRL Room Top view
Wall is not real wall. Its material is air, this wall is just used as detector to detect particles and photons.
HRRL Room 45 Degree View
HRRL Room Side view
HRRL Electron Source and Tungsten Target 45 Degree View
HRRL Electron Source and Tungsten Target Top View
HRRL New Electron Source
Geant4 Codes
GPS e- Source
/gps/particle e-
/gps/energy 10. MeV
/gps/pos/type Plane
/gps/pos/shape Circle
/gps/pos/radius 0.6 cm
/gps/pos/sigma_r 3 mm
/gps/pos/sigma_x 3 mm
/gps/pos/sigma_y 3 mm
Old Position, -Z direction:
/gps/pos/centre 380 101.6 -93.68 cm
New Postion, X direction:
/gps/pos/centre 66.5 101.6 93.93 cm
/gps/direction 1 0 0
Physics List
10 MeV Gamma hit 2 meter D2O target to show neutron from disintegrated deuterium.
Yellow: neutron
Red: electron
Gray: gamma
It is better to show the tracking output in order to see the physics process and particles created.
Dectector Construction
File:Detector Construction.txt
Electron and photon interactions with the target and the walls
Electron in Target
********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 8, Parent ID = 2 ********************************************************************************************************* #Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process 1 1.66401 m 1.01473 m 93.5217 cm 0 eV 147.944 keV29.1396 um 29.1396 um Target eIoni
Electron go into Wall3
********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 ********************************************************************************************************* #Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process 1 1.64085 m 1.03791 m 93.998 cm 9.76788 MeV198.526 keV97.4316 cm 97.4316 cm World eIoni #Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process 2 1.67863 m 1.03716 m 93.7509 cm 9.73665 MeV7.70861 keV3.7869 cm 1.01218 m World eIoni #Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process 3 2.38158 m 1.04721 m 88.1765 cm 9.53633 MeV 137.3 keV70.5761 cm 1.71795 m World eIoni #Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process 4 4.8856 m 1.06243 m 1.22615 m 9.04023 MeV496.099 keV2.5446 m 4.26254 m World Transportation #Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process 5 5.194 m 1.034 m 1.28563 m 8.91744 MeV122.789 keV31.6299 cm 4.57884 m Wall3 Transportation #Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process 6 7.5 m 95.4945 cm 1.63263 m 8.49278 MeV424.668 keV2.34972 m 6.92856 m OutOfWorld Transportation
Gamma go into Wall3
********************************************************************************************************* * G4Track Information: Particle = gamma, Track ID = 3, Parent ID = 1 ********************************************************************************************************* #Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process 1 4.8856 m 98.0398 cm 24.6372 cm 78.0395 keV 0 eV 3.08802 m 3.08802 m World Transportation #Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process 2 5.194 m 97.6205 cm 17.6225 cm 78.0395 keV 0 eV 31.6305 cm 3.40432 m Wall3 Transportation #Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process 3 5.97662 m 96.5562 cm -1.78528 mm 0 eV 403 eV 80.2682 cm 4.207 m World phot
Gamma go into Wall4
********************************************************************************************************* * G4Track Information: Particle = gamma, Track ID = 2, Parent ID = 1 ********************************************************************************************************* #Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process 1 2.98112 m 1.42043 m 1.8796 m 92.4831 keV 0 eV 1.72044 m 1.72044 m World Transportation #Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process 2 3.42618 m 1.53616 m 2.1844 m 92.4831 keV 0 eV 55.1695 cm 2.27214 m Wall4 Transportation #Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process 3 7.5 m 2.59551 m 4.97442 m 92.4831 keV 0 eV 5.05 m 7.32214 m OutOfWorld Transportation
Results
Number of particles
Simulation results for 10 million run.
Particle | Numbers at Old Position [1] | Numbers at New Position [2] | Ration (new:old) |
e- | 697728 | 2397851 | 3.43665583 |
gamma | 375260 | 779381 | 0.481484665 |
G4 code for registering particles in wall8.
if( fTrack->GetVolume()->GetName() =="Wall8" && (fTrack->GetDefinition()->GetPDGEncoding()==22 ||fTrack->GetDefinition()->GetPDGEncoding()==11 ||fTrack->GetDefinition()->GetPDGEncoding()==2212 ||fTrack->GetDefinition()->GetPDGEncoding()==2112 )) { if (fTrack->GetDefinition()->GetPDGEncoding()==22 ) //if gamma { ig++; outfile << ig << " 22 " <<fTrack->GetKineticEnergy() << " " << fTrack->GetPosition().x()<< " " << fTrack->GetPosition().y()<< " " << fTrack->GetPosition().z()<< " " << fTrack->GetMomentum().x() << " " << fTrack->GetMomentum().y() << " " << fTrack->GetMomentum().z() << " "<< G4endl;} if (fTrack->GetDefinition()->GetPDGEncoding()==11 ) //if e- {ie++; outfile << ie << " 11 " <<fTrack->GetKineticEnergy() << " " << fTrack->GetPosition().x()<< " " << fTrack->GetPosition().y()<< " " << fTrack->GetPosition().z()<< " " << fTrack->GetMomentum().x() << " " << fTrack->GetMomentum().y() << " " << fTrack->GetMomentum().z() << " "<< G4endl;} if (fTrack->GetDefinition()->GetPDGEncoding()==2212 ) //if proton {ip++; outfile << ip << " 2212 " <<fTrack->GetKineticEnergy() << " " << fTrack->GetPosition().x()<< " " << fTrack->GetPosition().y()<< " " << fTrack->GetPosition().z()<< " " << fTrack->GetMomentum().x() << " " << fTrack->GetMomentum().y() << " " << fTrack->GetMomentum().z() << " "<< G4endl;} if (fTrack->GetDefinition()->GetPDGEncoding()==2112 ) //if neutron {in++; outfile << in << " 2112 " <<fTrack->GetKineticEnergy() << " " << fTrack->GetPosition().x()<< " " << fTrack->GetPosition().y()<< " " << fTrack->GetPosition().z()<< " " << fTrack->GetMomentum().x() << " " << fTrack->GetMomentum().y() << " " << fTrack->GetMomentum().z() << " "<< G4endl;} }[3]Positrons