|Message: Re: Recording (n, gamma) reactions, and misc. newbie questions||Not Logged In (login)|
Click on the Forum title, e.g. on the "Forums by Category" page, to read a sequence of postings to the Forum and its threads all in one page. If you are only interested in one thread or the thread following a specific posting, click the thread or the posting, which takes you to a smaller page, which contains only the part you are interested in and may be easier to navigate.
Messages are "chained" if there are only replies at the first level, i.e. 1/1.html, 1/1/1.html etc. In case of "chained" messages the message number is replaced by the icon and there is no indentation.
Inline: Display the subject line only or also the text of the posting(s); for the choice "All" the "Outline" choices are switched off.
|1||0||1||no text / full text of posting|
|2||1||All||text for level 1 only / text for All postings|
Outline: Choose the depth of the posting thread, successive toggle controls provide increasing detail.
|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)|
[ The following was sent by Karen Pease via e-mail; I'm reposting it here to maintain the thread... ]
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 - and does this mean that I can't have neutrons over 20 MeV? 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"? Changing these two things, I get the sort of behavior I need...
... because while the (n, 2n) reactions really seem to have kicked off:
multiplier Energy: 185.311 GeV Neutron interactions: 792009 Average neutron energy: 980.005 keV / 0 eV 1 - 10 eV: count 2, 8.92186 eV / 0 eV (17.8437 eV / 0 eV ) 10 - 100 eV: count 17477, 71.9725 eV / 0 eV (1.25786 MeV / 0 eV ) 100 -1000 eV: count 146454, 416.582 eV / 0 eV (61.01 MeV / 0 eV ) 1 - 10 keV: count 173150, 3.96649 keV / 0 eV (686.797 MeV / 0 eV ) 10 - 100 keV: count 188012, 39.4659 keV / 0 eV (7.42006 GeV / 0 eV ) 100 -1000 keV: count 221607, 1.00593 MeV / 0 eV (222.921 GeV / 0 eV ) 1 - 10 MeV: count 22422, 24.3102 MeV / 0 eV (545.083 GeV / 0 eV ) Multiplications: 42037 Captures: Be10: 3 Be7: 55 Be8: 4402 Be9: 15182158 He3: 18 He5: 4 He6: 1439 Li6: 12 Li7: 370 Li8: 146 Li9: 34 N14: 357 O16: 100 alpha: 33732 deuteron: 218 proton: 373 triton: 357
(I've added more detailed debugging information, as you can see).... 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 :( If I switch back to QBBC, the neutron reactions dramatically decline but GetTotalEnergyDeposit works right:
The run consists of 10000 particles.
multiplier Energy: 169.868 GeV Neutron interactions: 344465 Average neutron energy: 1.76728 MeV / 6.27812 keV 10 - 100 eV: count 7167, 72.3066 eV / 20.1442 eV (518.221 keV / 144.373 keV) 100 -1000 eV: count 59956, 417.352 eV / 100.973 eV (25.0227 MeV / 6.05397 MeV) 1 - 10 keV: count 71563, 3.97773 keV / 952.388 eV (284.659 MeV / 68.1557 MeV) 10 - 100 keV: count 77489, 38.46 keV / 10.2082 keV (2.98023 GeV / 791.022 MeV) 100 -1000 keV: count 97703, 1.26296 MeV / 12.7379 keV (123.395 GeV / 1.24453 GeV) 1 - 10 MeV: count 16048, 30.0399 MeV / 3.28323 keV (482.08 GeV / 52.6893 MeV) Multiplications: 18577 Captures: Be10: 4 Be7: 26 Be9: 1535029 He3: 92 He6: 1003 Li6: 332 Li7: 2203 Li8: 1151 Li9: 29 N14: 132 O16: 66 alpha: 14188 deuteron: 3566 proton: 986 triton: 2741
It's not that GetTotalEnergyDeposit() fails to work for everything... just for neutrons. If, in void SteppingAction::UserSteppingAction(const G4Step* step), I set the following code:
if (step->GetTrack()->GetDefinition() == G4Neutron::Definition()) G4cout << "++ " << step->GetTotalEnergyDeposit() << G4endl; else G4cout << "** " << step->GetTotalEnergyDeposit() << G4endl;
... then with FTFP_BERT_HP, many (if not most) of the "**" entries report energy deposited, but none of the "++" entries report it. With QBBC, some of the ++ entries give energy, others don't.
Clearly there's something going on here that is beyond my understanding :(
> 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:
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?
(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)
Page 7, again, I don't understand where I'm supposed to have code like that.
Just doing the steps stated on page 5 did not change the number of neutrons reported generated by the simulation. :(
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.
- kv, Karen
|Inline Depth:||Outline Depth:||Add message:|