Hello,
I am simulating neutron measurements using a converter and then a standard 300um and 500 um timepix silicon detectors. The simulation was working fine until I switched from the [GenericPropagation] module to the [TransientPropagation] module. I left some commented lines in there, which are settings I played around with to see if there is a difference (there is not). What happens is that the memory fills up and when it reaches the maximum capacity the program is killed without any error message (only that it is killed). I played around with “workers” and “buffer_per_worker”, putting it higher or lower. It only changes the time it takes to fill up the memory. It is difficult to find a minimal working code to reproduce the error as it takes several hours before the memory is filled up. It is necessary to have several thousand events for the memory to fill up. My suspicion is that somewhere some allocated memory is not freed up until the program is finished or killed. I watched the memory fill up and getting freed up. The only work around I have right now is to simulate a small amount of events per file.
I use the latest stable Allpix code (3.1.1), Geant4 v11.2.2 and root v6.32.02 on Ubuntu 22.04.5 LTS.
I hope, someone who understand the code better than me can fix it? I am not sure what other information I can give. Let me know if there is anything.
Kind regards
Stefan
I cannot upload files (it says new users are not allowed to upload files), so I just dump the config and related file content here:
//main config start//
[Allpix]
number_of_events = 100000
detectors_file = “Moon_Detector_PE.conf”
#workers = 100
[GeometryBuilderGeant4]
[DepositionGeant4]
physics_list = QGSP_INCLXX_HP_EMZ
source_type = “macro”
file_name = “GPS.mac”
record_all_tracks = 1
number_of_particles = 1
#cutoff_time = 882s
[ElectricFieldReader]
model = “linear”
bias_voltage = 150V
depletion_voltage = 40V
[WeightingPotentialReader]
model = “pad”
[TransientPropagation]
temperature = 323K
charge_per_step = 200
timestep = 0.5ns
integration_time = 30ns
distance = 4
[PulseTransfer]
timestep = 0.5ns
[ROOTObjectWriter]
file_name = “PEconv.root”
exclude = PropagatedCharge,DepositedCharge
//main config end//
//detector file start//
[detector]
type = “timepix”
sensor_thickness = 500um
position = 0 0 0mm
orientation = 0 0 0
[DeadLayer]
type = “box”
size = 14.4mm 14.4mm 800nm
position = 0mm 0mm -250.4um
orientation = 0 0 0deg
material = “silicon”
role = “passive”
[Electrode]
type = “box”
size = 14.4mm 14.4mm 600nm
position = 0mm 0mm -251.1um
orientation = 0 0 0deg
material = “aluminum”
role = “passive”
[Converter]
type = “box”
size = 14.4mm 14.4mm 2mm
position = 0mm 0mm -1251.4um
orientation = 0 0 0deg
material = “G4_POLYETHYLENE”
role = “passive”
//detector file end//
//GPS.mac//
/gps/particle neutron
/gps/ene/type Lin
/gps/ene/intercept 1
/gps/ene/min 1e8 eV
/gps/ene/max 1e9 eV
/gps/pos/type Plane
/gps/pos/shape Rectangle
/gps/pos/halfx 7.2 mm
/gps/pos/halfy 7.2 mm
/gps/pos/centre 0 0 -12 mm
/gps/direction 0 0 1
//GPS.mac//