Message: Detailed tips Not Logged In (login)
 Next-in-Thread Next-in-Thread
 Next-in-Forum Next-in-Forum

Idea Detailed tips 

Keywords: voxel number, human model
Forum: Medical Applications
Re: Question how many voxels can geant4 includes? (John)
Re: None Re: how many voxels can geant4 includes? (Joseph Perl)
Re: None Re: how many voxels can geant4 includes? (John)
Re: None Re: how many voxels can geant4 includes? (Makoto Asai)
Date: 13 Oct, 2004
From: Makoto Asai <Makoto Asai>

As requested from a user for the details of the "tricks",
following is my reply sent to him.

> 	For this aim i use a voxel based phantom read by 
> Geant4. The total numer of voxel is 292300. Unfortunately the 
> maximum number that geant4 is able to handle in a simulation 
> is (on my machine) only 140304. Can you tell me some trick to 
> make G4 able to use all the 292300 voxels?

 I don't know why your machine cannot handle more than about 140k
copies, but it is not an issue. Anyway, having a map of more than
100k entries is something that is not recommended...

 The tricks you can utilize are suspending tracks and use of 
stacking mechanism. The basic concept is

 - Concentrate to a small region with a smaller map.
 - Finalize calculation of this small region before working for
  another regions.

Here is the recipe.

1) Divide your mother volume (which should have 292300 cubes
in total) into, say, 25 boxes. All of these 25 boxes can share the 
same logical volume.

2) Fill 11692 (= 292300 / 25) cubes with parameterization into 
the box logical volume.

3) Prepare 25 waiting stacks. The number of waiting stacks can 
be set by SetNumberOfAdditionalStacks() method of 
G4StackManager.

4) Load the material map of 11692 entries which should 
correspond to the box where the primary particle gets into. 
 
5) In your stepping action, once a track comes to a boundary 
of a box to go into the next box, suspend it. In your stacking 
action, push the suspended track into a waiting stack which 
represents the neighboring box that the track is getting into. 
Of course, secondary particles generated by the ordinary 
physics processes should be pushed into the urgent stack.

6) Continue the simulation until the urgent stack becomes 
empty. Once it becomes empty, choose one waiting stack 
which has the largest number of entries, and transfer all 
suspended tracks in that stack to the urgent stack. At the 
same moment, load another material map of 11692 entries 
for this new box.

7) Repeat the procedures 5) and 6) until all stacks become 
empty. That's it.

 The number 25 is just an example. You may want to tune 
this number to get the best performance.

Inline Depth:
 1 1
 All All
Outline Depth:
 1 1
 2 2
 All All
Add message: (add)

 Add Message Add Message
to: "Detailed tips"

 Subscribe Subscribe

This site runs SLAC HyperNews version 1.11-slac-98, derived from the original HyperNews


[ Geant 4 Home | Geant 4 HyperNews | Search | Request New Forum | Feedback ]