Message: Re: Recording (n, gamma) reactions, and misc. newbie questions Not Logged In (login)
 Next-in-Thread Next-in-Thread
 Next-in-Forum Next-in-Forum

None Re: Recording (n, gamma) reactions, and misc. newbie questions 

Forum: Particles
Re: Question Recording (n, gamma) reactions, and misc. newbie questions (Karen Pease)
Re: Feedback Re: Recording (n, gamma) reactions, and misc. newbie questions (Michael H. Kelsey)
Re: Question Re: Recording (n, gamma) reactions, and misc. newbie questions (Karen Pease)
Re: Feedback Re: Recording (n, gamma) reactions, and misc. newbie questions (Michael H. Kelsey)
Date: 21 May, 2015
From: Michael H. Kelsey <Michael H. Kelsey>

[ 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...

Mostly...

... 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:

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?

(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:
 1 1
 All All
Outline Depth:
 1 1
 2 2
 All All
Add message: (add)

1 Feedback: Re: Recording (n, gamma) reactions, and misc. newbie questions   (Michael H. Kelsey - 21 May, 2015)
(_ None: Re: Recording (n, gamma) reactions, and misc. newbie questions   (Karen Pease - 21 May, 2015)
 Add Message Add Message
to: "Re: Recording (n, gamma) reactions, and misc. newbie questions"

 Subscribe Subscribe

This site runs SLAC HyperNews version 1.11-slac-98, derived from the original HyperNews


[ Geant 4 Home | Geant 4 HyperNews | Search | Request New Forum | Feedback ]