I was having some problems running large simulations (500k+ particles) in Geant4. Every once in a while I would get a std::bad_alloc() error. A reboot seemed to fix it but I didn’t understand WHY this would be a problem. Anyhow, I found this post which seems to be onto a possible solution. Simply increasing the memory your shell has access to seems to fix this memory error. We’ll see….
whereas increasing the stack size by using the command
ulimit -s 900000
allowed the program to run apparently without a crash:
EDIT: Nevermind, I had created a bomb. Oops.
posted by Jason Young at 6:22 pm
In my research I work with the Physics simulation software GEANT4. It’s an incredibly detailed and realistic package, but it’s an absolute beast to get working. A while ago one of my coworkers found this site and it makes it incredibly easy. It went down a while ago, but you can find it at http://aix1.uottawa.ca/~skirkwoo/GEANT4-Kubuntu.html now. I believe the old link is up as well, but the newer link is Dr. Kirkwood’s official site. It’s a really great install and very valuable because it works on 8.04 (Hardy Heron), which is a Long-Term Service release. The guide is for Kubuntu, but it works great on Ubuntu as well.
A quick note about using newer version of Ubuntu: From 8.10 (Intrepid Ibex) on, Ubuntu doesn’t come with a g77 package. g77 is not used for GEANT4 specifically, but with CERN’s ROOT, which is an amazing statistical analysis package. You won’t NEED this for GEANT4, but it allows you to do some cool stuff. Anyhow, instead of g77, Intrepid (8.10) comes with ‘gfortran’ which is not the same code, it seems. Now, there are two ways on handling it. I, personally, advise sticking to 8.04 and the g77 it comes with. However, you can use a newer version of Ubuntu (or its variants) and either use Hardy packages or install from source. Either way, it’s nice to have ROOT installed for statistical analysis.
As a side note, I’m hoping to (eventually) post a complete walkthrough of the process I go through when compiling CLHEP, GEANT4, and ROOT on a 8.04 machine. It’ll probably be a while before I manage to get it written up, but it sure would be nice…
posted by Jason Young at 1:12 am