[Gate-users] Weird Phantom Warning

Matthew Strugari matthew.strugari at dal.ca
Tue Jan 19 13:18:48 CET 2021


What happens when you define phantom 3 as the daughter of phantom 2? It’s still defined as the daughter of phantom 1.

Matthew

On Jan 19, 2021, at 12:14 AM, Xinjie Cao <xinjie.cao at stonybrook.edu> wrote:


CAUTION: The Sender of this email is not from within Dalhousie.
Hi Matthew,

I tested another phantom configuration with some modification based on the before version. While the same error/warning showed again once I changed the phantom 3 material from the air to water, is there any rule about the material setting?

/gate/world/daughters/name phantom1
/gate/world/daughters/insert cylinder
/gate/phantom1/placement/setTranslation           0.0 0.0 0.0 mm
/gate/phantom1/geometry/setRmax                   101.5 mm
/gate/phantom1/geometry/setHeight                 700 mm
/gate/phantom1/setMaterial                        Polyethylene
/gate/phantom1/attachPhantomSD

/gate/phantom1/daughters/name phantom2
/gate/phantom1/daughters/insert cylinder
/gate/phantom2/placement/setTranslation           0.0 -45.0 0.0 mm
/gate/phantom2/geometry/setRmax                   3.2 mm
/gate/phantom2/geometry/setRmin                   2.4 mm
/gate/phantom2/geometry/setHeight                 700 mm
/gate/phantom2/setMaterial                        Air
/gate/phantom2/attachPhantomSD

/gate/phantom1/daughters/name phantom3
/gate/phantom1/daughters/insert cylinder
/gate/phantom3/placement/setTranslation           0.0 -45.0 0.0 mm
/gate/phantom3/geometry/setRmax                   1.6 mm
/gate/phantom3/geometry/setHeight                 700 mm
/gate/phantom3/setMaterial                         Air
/gate/phantom3/attachPhantomSD

Best,
Xinjie

On Mon, Jan 18, 2021 at 3:16 PM Matthew Strugari <matthew.strugari at dal.ca<mailto:matthew.strugari at dal.ca>> wrote:
You should always set the model dimensions to be exactly equal to the physical dimensions for accurate modelling. From there, check to make sure you do not have any overlapping geometries with the command “/geometry/test/run” in your macro following “/gate/run/initialize”. If you do have overlapping geometries, GATE will tell you what is overlapping, where it’s overlapping, and by how much.

In some cases of exact dimensions, I found that abutting geometries required trimming by 1um to avoid overlap warnings, but they are just warnings and should not restrict the simulation from running. I trimmed them for peace of mind.

Best,
Matthew

From: Xinjie Cao <xinjie.cao at stonybrook.edu<mailto:xinjie.cao at stonybrook.edu>>
Date: Monday, January 18, 2021 at 15:40
To: Matthew Strugari <matthew.strugari at dal.ca<mailto:matthew.strugari at dal.ca>>
Cc: gate-users at lists.opengatecollaboration.org<mailto:gate-users at lists.opengatecollaboration.org> <gate-users at lists.opengatecollaboration.org<mailto:gate-users at lists.opengatecollaboration.org>>
Subject: Re: [Gate-users] Weird Phantom Warning
CAUTION: The Sender of this email is not from within Dalhousie.
Hi Matthew,

Thanks! I think I get your point now. One more question about the detailed size of the daughter volume. As for the example you presented in the last email, If the mother cylinder is with a 3.2 mm radius, what is the actual radius should I define for the following daughter cylinder? Rmax is 3.2 or 3.199 (some number that is very close to 3.2) considering the overlap? Or it doesn't matter?

Best,
Xinjie

On Mon, Jan 18, 2021 at 1:59 PM Matthew Strugari <matthew.strugari at dal.ca<mailto:matthew.strugari at dal.ca>> wrote:
Hi Xinjie,

In any geometry definition, it is important to follow these three rules when building a volume<https://opengate.readthedocs.io/en/latest/defining_a_geometry.html?highlight=daughter#building-a-volume>:

  *   A volume which is located inside another must be its daughter
  *   A daughter must be fully included in its mother
  *   Volumes must not overlap.
This may require you to get creative with daughter definitions in order to obtain a final geometry representing your physical setup.

Your geometry does not satisfy these points based on the issues that I previously outlined. If part of your geometry requires polyethylene with a height of 800mm, I would start by defining that size as your mother volume. You can add on a daughter volume if you need a specific 100 mm region to be replaced with air.

Consider, for example, that you define a mother polyethylene cylinder with a radius of 3.2 mm. Next, you define a daughter cylinder of air with a radius r of 2.4 <= r(mm) < 3.2 and within that daughter, you define a daughter cylinder of water with a radius of 0 <= r(mm) < 1.6. The remaining volume between 1.6 <= r(mm) < 2.4 will remain as polyethylene (i.e. there’s no need to redefine a daughter of polyethylene with those dimensions). Try to use that approach when defining your nested phantoms.

Hth,
Matthew


From: Xinjie Cao <xinjie.cao at stonybrook.edu<mailto:xinjie.cao at stonybrook.edu>>
Date: Monday, January 18, 2021 at 13:08
To: Matthew Strugari <matthew.strugari at dal.ca<mailto:matthew.strugari at dal.ca>>
Cc: gate-users at lists.opengatecollaboration.org<mailto:gate-users at lists.opengatecollaboration.org> <gate-users at lists.opengatecollaboration.org<mailto:gate-users at lists.opengatecollaboration.org>>
Subject: Re: [Gate-users] Weird Phantom Warning
CAUTION: The Sender of this email is not from within Dalhousie.
Hi Matthew,

Thanks for your remind, how about setting the phantom 3 as the world daughter too to avoid that violation? Because that 800 mm length is according to the NEMA standard, so I am guessing better keep it if it could be solved.

For the phantom 3 configuration, I think it is necessary. There is actually an air gap between the inner plastic tube and the outer 200 mm diameter plastic shell according to the standard I believe.

Best,
Xinjie

On Mon, Jan 18, 2021 at 11:58 AM Matthew Strugari <matthew.strugari at dal.ca<mailto:matthew.strugari at dal.ca>> wrote:
Hi Xinjie,

It looks like you have issues with overlapping geometries. You could try nesting phantom4 within phantom3 and nest phantom3 within phantom2. Also, is the height of phantom3 correct at 800mm? This does not fit within your parent volume of phantom1.

Alternatively, is phantom3 even required? It looks like you’re reinserting polystyrene after voiding the region with air in phantom2. This could be avoided by setting Rmin to 2.4mm in phantom2.

Regards,
Matthew

From: Gate-users <gate-users-bounces at lists.opengatecollaboration.org<mailto:gate-users-bounces at lists.opengatecollaboration.org>> on behalf of Xinjie Cao <xinjie.cao at stonybrook.edu<mailto:xinjie.cao at stonybrook.edu>>
Date: Monday, January 18, 2021 at 12:38
To: gate-users at lists.opengatecollaboration.org<mailto:gate-users at lists.opengatecollaboration.org> <gate-users at lists.opengatecollaboration.org<mailto:gate-users at lists.opengatecollaboration.org>>
Subject: [Gate-users] Weird Phantom Warning
CAUTION: The Sender of this email is not from within Dalhousie.
Dear GATE users,

I am simulating the count rate performance of some PET scanners, while I found an interesting warning/error when I made a change to the phantom configuration.

With the following simplified phantom configuration, both single thread or cluster tool can run the macro well:
#==========================
#  P H A N T O M
#==========================

/gate/world/daughters/name phantom1
/gate/world/daughters/insert cylinder
/gate/phantom1/placement/setTranslation           0.0 0.0 0.0 mm
/gate/phantom1/geometry/setRmax                   101.5 mm
/gate/phantom1/geometry/setHeight                 700 mm
/gate/phantom1/setMaterial                        Polyethylene
/gate/phantom1/attachPhantomSD

/gate/phantom1/daughters/name phantom2
/gate/phantom1/daughters/insert cylinder
/gate/phantom2/placement/setTranslation           0.0 -45.0 0.0 mm
/gate/phantom2/geometry/setRmax                   3.2 mm
/gate/phantom2/geometry/setHeight                 700 mm
/gate/phantom2/setMaterial                        Air
/gate/phantom2/attachPhantomSD

While when I added two more daughter phantoms inside the previous outer shell volume as followed,

#===========================
#  P H A N T O M
#===========================

/gate/world/daughters/name phantom1
/gate/world/daughters/insert cylinder
/gate/phantom1/placement/setTranslation           0.0 0.0 0.0 mm
/gate/phantom1/geometry/setRmax                   101.5 mm
/gate/phantom1/geometry/setHeight                 700 mm
/gate/phantom1/setMaterial                        Polyethylene
/gate/phantom1/attachPhantomSD

/gate/phantom1/daughters/name phantom2
/gate/phantom1/daughters/insert cylinder
/gate/phantom2/placement/setTranslation           0.0 -45.0 0.0 mm
/gate/phantom2/geometry/setRmax                   3.2 mm
/gate/phantom2/geometry/setHeight                 700 mm
/gate/phantom2/setMaterial                        Air
/gate/phantom2/attachPhantomSD

/gate/phantom1/daughters/name phantom3
/gate/phantom1/daughters/insert cylinder
/gate/phantom3/placement/setTranslation           0.0 -45.0 0.0 mm
/gate/phantom3/geometry/setRmax                   2.4 mm
/gate/phantom3/geometry/setRmin                   1.6 mm
/gate/phantom3/geometry/setHeight                 800 mm
/gate/phantom3/setMaterial                        Polyethylene
/gate/phantom3/attachPhantomSD

/gate/phantom1/daughters/name phantom4
/gate/phantom1/daughters/insert cylinder
/gate/phantom4/placement/setTranslation           0.0 -45.0 0.0 mm
/gate/phantom4/geometry/setRmax                   1.6 mm
/gate/phantom4/geometry/setHeight                 700 mm
/gate/phantom4/setMaterial                        Water
/gate/phantom4/attachPhantomSD

the GATE feedbacked a warning/error like this,

*** Break *** segmentation violation

===========================================================
There was a crash.
This is the entire stack trace of all threads:
===========================================================
#0  0x00007f563c6d146c in waitpid () at /lib64/libc.so.6
#1  0x00007f563c64ef62 in do_system () at /lib64/libc.so.6
#2  0x00007f564b4c70c4 in TUnixSystem::StackTrace() () at /home/goldan/GATE/root/lib/libCore.so.6.18
#3  0x00007f564b4c97fc in TUnixSystem::DispatchSignals(ESignals) () at /home/goldan/GATE/root/lib/libCore.so.6.18
#4  0x00007f56471f4630 in <signal handler called> () at /lib64/libpthread.so.0
#5  0x0000000000000040 in  ()
#6  0x00000000008e2658 in GateMaterialDatabase::~GateMaterialDatabase() ()
#7  0x000000000087a8e6 in GateDetectorConstruction::~GateDetectorConstruction() ()
#8  0x00007f564423a1e6 in G4RunManager::DeleteUserInitializations() (this=this
entry=0x32997c0) at /home/goldan/GATE/geant4.10.05.p01/source/run/src/G4RunManager.cc:236
#9  0x00007f564423ae75 in G4RunManager::~G4RunManager() (this=0x32997c0, __in_chrg=<optimized out>) at /home/goldan/GATE/geant4.10.05.p01/source/run/src/G4RunManager.cc:211
#10 0x0000000000830e19 in GateRunManager::~GateRunManager() ()
#11 0x000000000050198f in main ()
===========================================================


The lines below might hint at the cause of the crash.
You may get help by asking at the ROOT forum http://root.cern.ch/forum
Only if you are really convinced it is a bug in ROOT then please submit a
report at http://root.cern.ch/bugs Please post the ENTIRE stack trace
from above as an attachment in addition to anything else
that might help us fixing this issue.
===========================================================
#5  0x0000000000000040 in  ()
#6  0x00000000008e2658 in GateMaterialDatabase::~GateMaterialDatabase() ()
#7  0x000000000087a8e6 in GateDetectorConstruction::~GateDetectorConstruction() ()
#8  0x00007f564423a1e6 in G4RunManager::DeleteUserInitializations() (this=this
entry=0x32997c0) at /home/goldan/GATE/geant4.10.05.p01/source/run/src/G4RunManager.cc:236
#9  0x00007f564423ae75 in G4RunManager::~G4RunManager() (this=0x32997c0, __in_chrg=<optimized out>) at /home/goldan/GATE/geant4.10.05.p01/source/run/src/G4RunManager.cc:211
#10 0x0000000000830e19 in GateRunManager::~GateRunManager() ()
#11 0x000000000050198f in main ()
===========================================================


WARNING - Attempt to delete the physical volume store while geometry closed !
WARNING - Attempt to delete the logical volume store while geometry closed !
WARNING - Attempt to delete the solid store while geometry closed !
WARNING - Attempt to delete the region store while geometry closed !

The cluster tool could run the macro with added phantom configuration well with no warning/error, so I am not sure where the wrong with it or whether it has an influence on the simulation result. I probably have seen a similar issue when I used CASToR for reconstruction so I am guessing it is related to ROOT?

Did anyone ever meet this issue before? Any reply will be highly appreciated! Thanks!

Best,
Xinjie



--
....................................................
Xinjie Cao
M.E. / Ph.D. Candidate
Research Project Assistant
Department of Electrical and Computer Engineering & Radiology
Novel Medical Imaging Technologies Lab
Health Science Center Level 8
Stony Brook, NY 11794-8460
Tel: +1 (631)202-9445
you.stonybrook.edu/goldan/people/<https://you.stonybrook.edu/goldan/people/>
email: xinjie.cao at stonybrook.edu<mailto:xinjie.cao at stonybrook.edu>

 [https://docs.google.com/uc?export=download&id=12iMPAuaMtpKRdkcmBleVsP6iWiM4wlm_&revid=0B_TLWOu4jP1eWnFFRW9qQXlicTY3ZTVzWnR5QkRVY3RRT3JVPQ]    [https://drive.google.com/a/stonybrook.edu/uc?id=17TB1Ha3enD8HC5e_Ez238vpeBF92aCgH&export=download]
....................................................
It is prohibited to distribute or publish the files attached to any other people unless you get permission from the writer himself. All rights reserved.


--
....................................................
Xinjie Cao
M.E. / Ph.D. Candidate
Research Project Assistant
Department of Electrical and Computer Engineering & Radiology
Novel Medical Imaging Technologies Lab
Health Science Center Level 8
Stony Brook, NY 11794-8460
Tel: +1 (631)202-9445
you.stonybrook.edu/goldan/people/<https://you.stonybrook.edu/goldan/people/>
email: xinjie.cao at stonybrook.edu<mailto:xinjie.cao at stonybrook.edu>

 [https://docs.google.com/uc?export=download&id=12iMPAuaMtpKRdkcmBleVsP6iWiM4wlm_&revid=0B_TLWOu4jP1eWnFFRW9qQXlicTY3ZTVzWnR5QkRVY3RRT3JVPQ]    [https://drive.google.com/a/stonybrook.edu/uc?id=17TB1Ha3enD8HC5e_Ez238vpeBF92aCgH&export=download]
....................................................
It is prohibited to distribute or publish the files attached to any other people unless you get permission from the writer himself. All rights reserved.


--
....................................................
Xinjie Cao
M.E. / Ph.D. Candidate
Research Project Assistant
Department of Electrical and Computer Engineering & Radiology
Novel Medical Imaging Technologies Lab
Health Science Center Level 8
Stony Brook, NY 11794-8460
Tel: +1 (631)202-9445
you.stonybrook.edu/goldan/people/<https://you.stonybrook.edu/goldan/people/>
email: xinjie.cao at stonybrook.edu<mailto:xinjie.cao at stonybrook.edu>

 [https://docs.google.com/uc?export=download&id=12iMPAuaMtpKRdkcmBleVsP6iWiM4wlm_&revid=0B_TLWOu4jP1eWnFFRW9qQXlicTY3ZTVzWnR5QkRVY3RRT3JVPQ]    [https://drive.google.com/a/stonybrook.edu/uc?id=17TB1Ha3enD8HC5e_Ez238vpeBF92aCgH&export=download]
....................................................
It is prohibited to distribute or publish the files attached to any other people unless you get permission from the writer himself. All rights reserved.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opengatecollaboration.org/pipermail/gate-users/attachments/20210119/f7f557eb/attachment-0001.html>


More information about the Gate-users mailing list