Research related to Geant4 in Korea Heavy-Ion Medical Accelerator for Cyclotron Based Carbon Therapy Facility Garam Hahn(garam@kirams.re.kr), Beam Physics Team KIRAMS 2012.12.15
Introduction KHIMA(Korea Heavy-Ion Medical Accelerator) Project Carbon Cancer Therapy Complex Construction at KIJANG KIRAMS-430 Superconducting Cyclotron Development Energy Selection System Development Research Beam Nozzle Development Therapy Beam Nozzle Purchase Started y2010 with 200B KRW 36% - MoST (Central Gov.) 26% - Busan (Local Gov.) 38% - KIRAMS (Cop. Investment) KIRAMS-430 Superconducting Cycloton Copyright: (c) 2011 KHIMA All right reserved 2
ESS Overview Layout Spec Summary - Energy variation : 145 ~ 430 [MeV/u] - Emittance Limit : ε rms < 10 pi [mm.mrad] - Momentum Spread : dp/p < 1.0 [%] Component Energy Degrader 1. Degrader Block - 145 ~ 430 [MeV/u] 2. Divergence Slit - ε rms < 10 pi [mm.mrad] ~13 m Momentum Selector 3. Momentum Slit dp/p < 0.1 ~ 1.0 [%] ~19 m Beam Transport Line 4. Dipole Magnet 5. Quadrupole Magnet 6. Steering Magnet Beam Diagnostics 7a. Insertable Profile Monitor 7b. Thin Wire Profile & Current Monitor
Basic Use of Geant4 - Fundamental Design of ESS I used - VC++ Express 2008 - Root 5.28 - Geant4 9.4 p01 - Python 2.7 - Mat Plot lib 1.0 - Many text books
Motivation Cyclotron Section-1 Section-2 Section-3 Section-4 Quadrupole Magnets Graphite Block Tantalum Collimator Block Bending Magnet Necessary Calculation about Degrader Block (1) Energy and emission angle of primary beam (2) Energy and emission angle of fragmented heavy-ions MCNP, FLUKA, GEANT can do (3) Statistical beam physics parameters by accessing every particle s physical quantities GEANT4 can do!!! GEANT4 Can Provide Us Maximum Degree of Freedom User can touch almost all calculation process and result OOP structured code provide such a powerful environment effectively and safely 5
Degrader Block Study From Cyclotron 430 MeV/u 430 MeV/u 350 MeV/u 260 MeV/u Degrader Block 145 MeV/u 6
Real Situation; for the treatment Input Beam After Degrader After Divergence Slit After Momentum Slit Un-invited!!!!! 7
Real Situation; for the treatment Input Beam After Degrader After Divergence Slit After Momentum Slit Un-invited!!!!! 8
Real Situation; for the treatment Input Beam After Degrader After Divergence Slit After Momentum Slit Un-invited!!!!! Un-wanted particles are still remaining, But small amount!!! 9
Summary Source Beam Information Particle Energy Emittance (x,y) E. Spread(RMS) Size (x,y) Result 12 C 6+ 430.0 MeV/u (12.0, 6.0) π. mm.m rad 0.125 % (10.0, 5.0) mm Mode Transmission Ratio Beam Information Energy Degrader Div. Slit Mom. Slit Global Tr. de/e(dp/p) εrms [MeV/u] [%] [%] [%] [%] [%] [π. mm.m rad ] 430(0.0) 100.00 100.00 89.04 89.04 0.2 (0.12) 12.00/6.00 350(44.0) 66.18 61.79 96.65 39.52 0.5 (0.28) 10.51/9.49 265(88.3) 44.90 39.29 97.01 17.11 0.9 (0.50) 10.56/9.86 145(131.5) 29.12 24.26 90.38 6.39 2.0 (1.06) 11.60/10.60 After Degrader Block After Divergence Slit After Momentum Slit Fragmented Nuclei Distribution 64.9 % Contamination 11.3 % Contamination 0.9 % Contamination 99.1 % Removed!! 10
More Use of Geant4 - About secondary particle I used - VC++ Express 2008 - Root 5.28 - Geant4 9.4 p01 - Python 2.7 - Mat Plot lib 1.0 - Many text books
Motivation General or Conventional Design Method Section-1 Section-2 Section-3 Optics MC Optic Track&Cut Optics Optic Track&Cut Optics Only Primary Particle will be tracked!! Where secondary particles went? Which magnet coil will be major demaged? Scattered particle at collimator edge? Where is most dangerous location? Wanted to see more detail at once Including secondary particles generated from destructive elements 12
Candidate Softwares G4BEAMLINE, Fermilab It was made in order to design muon accelerator One of Geant4 application Well made, validation was done LISE++, MSU Dedicated software for fragment saparator design Above two applications are very nice, but to me 1. Hard to access and cook intermediate result data(raw data) 2. Special thing not provided by software are needed frequantly I just wanted a simple code fully optimized to my own stuff 13
Desired Features Blue circle means Sphere phantom for measuring radiation Cross-check 3D Beam Tracking By using tabulated field map from most realistic FEM code like TOSCA Radiation Detection Optimizing Shielding Structure Virtual Dosimetry - in operation - at rest Exactly The Same Interface As Optics Code Add_Drift(3 m) Add_Quadrupole(13 T/m, 45 cm) Add_Bend(1.5 T, 30 deg) Shift_To_The_Right(1.2 mm) Add_Drift(3 m) 14
Necessary Modules Automatic Geometry Builder Must use only beam optics calculation parameters To make cross-check easier Automatically generated, positioned and alligned No need complicated detector construction code Tabulated Field or Analytic Field in Each Volume Field interpolation Ideal field can also be generated if wanted Beam Monitor As accelerator physics notation Beam Generator Gun must generate particle distribution by using twiss-parameter and emittance information 15
G4 ESS Tracking; Current Status Reference Particle Tracking Disaster... 3D CAD Model 16
Geant4 Beam Tracking Virtual Monitors (red plates) Automatically cooked data From virtual monitors 17
Gentry? This was simply done by less than 30 lines C++ code Thanks to G4Collaboration and Stroustrup 18
Automatic Geometry Builder G4VPhysicalVolume* DetectorConstruction::Construct() { BeamLineComponentManager bcm(430.0 * MeV, 0.5); DriftSpace drift(0.5 * m); } QuadrupoleMagnet quadrupole(0.78 * tesla, // max_poletip_field 40.0 * cm, // eff_length 1.2, // field_exp_margin 4.0 * cm, // inner radius 25.0 * cm, // outer radius "G4_Fe"); // body material RectDipoleMagnet dipole(8.0 * cm, // tube_full_height 15.0 * cm, // tube_full_width 22.5 * deg, // bending_angle 4.41503 * m, // radii_curv 0. * deg, // direction_angle 1.2, // field_exp_margin 50.0 * cm, // body_full_height 70.0 * cm, // body_full_width "G4_Fe"); FieldTable::GetInstance()->RegisterLinIntpolation("DPField_E11.dat", 8); bcm.add(drift.new()); bcm.add(quadrupole.new(-0.75)); bcm.add(drift.new(0.4 * m)); bcm.add(dipole.new(0.92, "DPField_E11.dat"));...... G4VPhysicalVolume* pv = bcm.generatevolume(); return pv; Define Each Beam Line Component Magnetic Field Import From TOSCA output Beam Line Configuration Generate and Return Top Physical Vol. 19
Automatic Geometry Builder Beam Line Component Manager Add( device_instance ) does Stack device instance into device vector Generate Volume() does Generate WV : world volume Generate R : rotation matrix Generate V : translation vector Loops over each device { 1. Calculate position and alignment of next device by updating R and V. 2. Call GenerateVolume(R, V, WV) of i-th device; Each device will make its own geometry using R, V, WV - automatically positioned - automatically aligned } 3. Returns WV 20
Field FieldTable::GetInstance()->RegisterLinIntpolation("DPField_E11.dat", 8); bcm.add(dipole.new(0.92, "DPField_E11.dat")); It register the tabulated field map into the pool ones the field was registed, many identical component can share same field Shared field map can be changed component s own scale when the field is called Field Table (name0, Bfield3vector_array[][][]), (name1, Bfield3vector_array[][][]),... Easy to apply different power on identical magnets G4Navigator can also be used Instead of this code 21
Accelerator Beam Generator In the macro file In the PrimaryGeneratorAction.cc file 22
Virtual Monitor Just very thin Sensitive Detector Event Action call Analysis Manager to fill up data Carbon beam monitor 23
QP Tracking Validation Cross-check and Validation - Single quadrupole configuration : Drift Quadrupole Drift optics : Twiss x = (4.523, 2.177, 9.856), Twiss y = (-8.972, 10.735, 7.591) hard edge : Twiss x = (4.408, 2.118, 9.645), Twiss y = (-8.886, 10.625, 7.526) field import : Twiss x = (4.441, 2.160, 9.592), Twiss y = (-8.936, 10.693, 7.561) - Quadrupole Triplet 24
Dipole Tracking Validation Linear Optics Optics result Xabg=(1.291111, 3.475060, 0.827449) Yabge=(-0.329184, 7.513715, 0.147512) Geant4 result( N=1000) Geant 4 25
Conclusion Previous Study - Conceptual Degrader Block Simulation - Beam Line Optics Tuning - Calculate Carbon Beam Requirements for Clinical Purpose On-going Stuff - Cross-check Validation of Geant4 Beam Tracking Module To Optics - Dosimetry Module implementation Next Stuff - To Finish Design, Realistic ESS Beam Line Optimization Using Geant4 Code - To Study Safety, Radio Activation Analysis of This Beam Line Research Interest... Or Far Future Plan - Implementation of KHIMA Beam Nozzle For Treatment - Treatment Planning Algorithm Study named ToyTPS and ToyMCCheck - G4DicomToVoxelizer - G4WaterEQLengthCorrector & G4DoseDistInterpolator - G4RBE_Corrector - OpenCL or CUDA porting 26
Thank you for listening
Backup Slide
CMake HOWTO
Magnets; quadrupole Type 1 Type 2 Power Consumption 1.5 (kw) 0.9 (kw) N of cooling channel 4 4 Water flow 0.45 (l/min) at 7.0 (bar) 0.57 (l/min) at 7.0 (bar) Temp. Rising 9.3 (degc) 4.9 (degc) Voltage 5.0 (V) 3.1 (V) Ramping Time 2.0 (sec) 2.0 (sec) Max. F. Gradient 17.564 (T/m) 17.564 (T/m) B.dl/B0 (Eq. Length) 39.97 (cm) 21.98 (cm) Field Error less than 0.025 % less than 0.025 % 30
Magnets; dipole Type 1 Bending Angle 22.5 (deg) Power Consumption ~75 (kw) N of cooling channel 8 Water flow 5.47 (l/min) @ 7.0 (bar) Temp. Rising 6.8 (degc) Voltage 5.0 (V) Ramping Time 2.0 (sec) B0 1.559 (T/m) Field Error less than +-0.025 % 31