Hello,
I have 2 questions regarding avalanche simulations.
For context, I am attempting to simulate an incident Electron/Proton in the range of MeVs passing through a Triple GEM Detector and the subsequent delta electrons and avalanches. The detector is the Ansys component “triplegem” from the Ansys123 example, with the foil spacing slightly edited. To speed up the simulations I am utilizing OpenMP for parallelization of each Avalanche.
I frequently get this message while the simulation is running, AvalancheMicroscopic::TransportElectron: Cannot retrieve deexcitation product 0/1.
Is this an error to worry about?
I am guessing this may be a parallelization problem as I don’t believe I ever got this message while simulating without OpenMP.
Is there a way to speed up Avalanche Simulation?
I am already utilizing parallelization so that each instance of AvalancheMicroscopic has its own CPU core for computing, but it seems that the computation of the avalanche is what is taking a while. Just to get some tangible data promptly, I limited the size of each avalanche to 1000. Ideally, I wanted to get the results with the avalanche limit disabled.
Thanks for any help and/or clarifications you can provide!
Yes, this looks like a concurrency problem. How did you implement the parallelisation?
Good question… For large avalanches (and large field maps), a microscopic simulation can indeed take a very long time (to the point that it becomes impractical). There are a few ideas to transit to a more macroscopic simulation once the avalanche has reached a certain size, but I don’t have a magic solution at the moment. If you have access to a GPU, you could try the GPU-version of AvalancheMicroscopic`: Examples/GemGPU · master · garfield / garfieldpp · GitLab