|Message: Re: Recording (n, gamma) reactions, and misc. newbie questions||Not Logged In (login)|
|1||0||1||no text / full text of posting|
|2||1||All||text for level 1 only / text for All postings|
|1||2||1||2 levels / 1 level (original posting)|
|2||3||2||3 levels / 2 levels|
|3||3||All||3 levels / all levels (all postings)|
On Thu, 21 May 2015 18:13:44 GMT, Karen Pease wrote (via e-mail):
> Michael Kelsey wrote: > > What physics list are you using? Below 20 MeV, you should use a physics > > list which includes NeutronHP, such as FTFP_BERT_HP, Shielding or QBBC. > > Being based on B1, it was using QBBC; I switched it over to FTFP_BERT_HP > (I really don't know what these mean
They're the names of physics lists which we provide as part of the toolkit. Each physics list was originally intended for some "particular" area of physics. The FTFP* and QGSP* lists are primarily our high-energy physics lists; adding NeutronHP (which we identify with the "_HP" suffix in the name) allows the HEP experiments to also deal with activation and beamline-type backgrounds from lower energy neutrons, without having to change their application.
I don't know exactly who the target audience for QBBC is; I thought it was lower energy neutron and activation stuff. However, when I look at the source (physics_lists/lists/src/QBBC.cc), even though it has NeutronHP #include'd, that physics is not actually used! So for your purposes, I think either FTFP_BERT_HP or Shielding would be best (and my apologies for misdirecting you).
The Shielding list was inspired by the nuclear and space physics communities, and so is aimed more toward primarily low-energy (compared to HEP) situations. It includes NeutronHP, along with some EM models which are better at lower energies.
> - and does this mean that I can't have neutrons over 20 MeV?
Not at all! Each model (BERT, NeutronHP, FTF, etc.) is assigned an energy range within which we consider it "validated." For any given physics lists, these ranges may overlap, so that you get statistically an "intermediate" behaviour where the models overlap. The NeutronHP model, in particular, is only used for neutrons below 20 MeV; above that, another model, such as BERT, or BIC (Binary Cascade), or INCL++, will be used.
> The incoming neutrons, which I want to > multiply and thermalize, arrive with an average energy of 30-40 MeV > (spallation source)). I also found that the gaussian type in the > particle gun wasn't working as I expected and was shooting off way too > low powered neutrons - apparently you set the mean with "mono"?
I guess that you're G4GeneralParticleSource (GPS) as your generator? In my own work, I have not used GPS very much, preferring to write my own generators wrapped around G4ParticleGun. The GPS documentation is section 2.7 of the App Guide.
> Changing these two things, I get the sort of behavior I need... [...]
> you'll see all of those "0 eV" outputs. Those are all the output of > GetTotalEnergyDeposit() (the first number in each pair is the energy of > the neutron itself). By switching to FTFP_BERT_HP, > GetTotalEnergyDeposit() has stopped working right and simply reports > zero for neutrons :(
I will need to talk to Tatsumi Koi, the GEANT4 neutron expert, about this. My own understanding is that neutrons themselves are not supposed to "deposit energy." The neutron energy is transferred to the nucleus and to EM secondaries (gammas, electrons) when the neutron is absorbed or captured, and the actual energy deposit is assigned to those secondaries when they stop.
> If I switch back to QBBC, the neutron reactions > dramatically decline but GetTotalEnergyDeposit works right:[...] > It's not that GetTotalEnergyDeposit() fails to work for everything...just for neutrons.
I think the FTFP_BERT_HP result is "correct," even though it is not useful for your purpose.
> > So far as I know, the only place where temperature is used for physics is in > > NeutronHP, if you specify materials with names that include the magic string > > "TS_" (or is it "_TS"?) for thermal scattering. There's a discussion of > > this in the relevant section of the Application Users' Guide. > > Hmm, I don't see it in the guide, but I did find this which seems to > give instructions: > > https://indico.cern.ch/event/245281/contribution/1/material/slides/0.pdf > > I did the steps on page 5 - although was disappointed to see how few > materials there are to work with; maybe I can figure out how to add more > from the Sigma datafiles.... but anyway for now, I just need to get > *something* to work. :) I did: > > auto Be = new G4Element("TS_Beryllium_Metal", "Be", 4.,9.012182*g/mole); > auto beryllium = new G4Material("Beryllium", 1.8480*g/cm3, 1, kStateSolid, 1300*kelvin, 1*atmosphere); > beryllium->AddElement(Be, 1.0); > > Page six, I don't understand. Where am I supposed to have a piece of > code that says "else if (particleName == "neutron")..." and a bunch of > stuff about G4HadronElasticProcess / G4NeutronHPElastic?
That stuff is part of the physics list definition. The slides you reference assume that you are building your own physics list from scratch, not using one of our reference physics lists.
Sigh... I just checked all of our reference physics lists (I love Unix pipelines :-) and I don't find anywhere that we provide thermal scattering as a built-in option. In order to use it, you will have to construct your own physics list, either from scratch or by inheriting from and extending one of the reference lists. We don't even provide a nice "builder" (G4VPhysicsConstructor) to encapsulate the work for you.
I can provide, perhaps in a separate post, some guidance on how to do this. It should be posted to the Hadronic Processes group, which is more appropriate for the discussion of neutron physics.
> (So Geant4 doesn't do scattering above 4eV? So how do neutrons get down > from the MeV range? Well, for my needs it's better to be missing the > over 4eV range than the under 4eV range.... I don't really care about > the resonances or the like)
G4 does scattering at all energies. That slide is referring to the fact that _thermal_ scattering in G4 is only validated up to 5 eV. Beyond that, the NeutronHP data-driven model is most appropriate up to 20 MeV, and beyond that, one of the regular hadronic physics models will be best.
> I'm surprised to see so little focus on thermal scattering... is Geant4 > generally just not used for applications involving neutrons? Because > it's so critical to most practical neutron applications.
It's mainly historical. Geant4 was developed for the high energy physics community, where "low energy scattering" means a few hundred MeV or so :-) You nuclear folks care about stuff that is way down in the noise for us (HEP). However, we (Geant4) are building a stronger and stronger community of users in the nuclear physics and nuclear power communities, and so our support for these very low energy processes has been increasing over time.
-- Michael Kelsey
|Inline Depth:||Outline Depth:||Add message:|