-
Hi there! As part of my PhD project, I developed a validated Monte Carlo (Geant4), CAD-based model of a thermal neutron beamline and I plan to implement a sapphire filter to decrease the epithermal neutron component of the beam. To my understanding, NCrystal works for the thermal neutron range, and there is no tool that is capable of simulating what I need. My question is therefore, what exaclty would be necessary (cross-section data etc.) to use NCrystal for this purpose in Geant4. Is it a matter of providing NCrystal with the relevant data and using the existing code to load and apply it in the simulation? I will be very grateful for your help! Cheers, |
Beta Was this translation helpful? Give feedback.
Replies: 5 comments 5 replies
-
Hi Klaudiusz, So if you are using NCrystal in Geant4 (or OpenMC for that matter), you should most likely already have what you want! When using NCrystal in Geant4, NCrystal only modifies the usual neutron scattering physics (specifically the Btw., note that the Geant4 hooks are up for an overhaul (most likely expect something this fall), and currently have issues with running in MT mode or with parallel geometries. |
Beta Was this translation helpful? Give feedback.
-
No, unfortunately I do not think the current Geant4-NCrystal bindings are safe in such a scenario. For how to enable the Bragg scattering, you need to use the dir1+dir2+mos variables cfg variables (see here: https://github.com/mctools/ncrystal/wiki/CfgRefDoc), but do you actually know the orientation of the single crystal? It is normal to model single crystal filters with bragg=0, to emulate the situation where the incoming neutrons are not aligned with any plane. Cheers, |
Beta Was this translation helpful? Give feedback.
-
I see, thank you for the confirmation. I am waiting for information on which orientation is used at the physical beamline, but in the literature, 100 is the most common. Alternatively, the c-axis 001 can be used but is more expensive to produce. Nonetheless, I would test both orientations. I have tested two things so far:
I was also wondering, is it possible to override the temperature of the crystal? |
Beta Was this translation helpful? Give feedback.
-
So this is a bit puzzling. Off the top of my head, a few ideas/comments:
|
Beta Was this translation helpful? Give feedback.
-
Hi Thomas, Thank you for the suggestions! I ran some tests, and I realised the scoring plane was bigger than the beam size, so it also registered higher energy neutrons scattered away from the beam path. Once I set an equal size, the results follow the notebook and literature. It is a fantastic outcome, thank you so much for all your prompt responses, effort and help! I genuinely appreciate that. I will make sure to cite NCrystal in the paper. Best Regards. |
Beta Was this translation helpful? Give feedback.
Hi again.
So first of all, it seems to me from the numbers you quote above, that although you have created NCrystal-G4Materials in your Geant4 setup, you have not actually enabled the NCrystal process in the physics list. Have a look at the last lines in the example at https://github.com/mctools/ncrystal/blob/master/examples/ncrystal_example_g4sim.cc for how you must do this. Specifically, you must invoke
G4NCrystal::installOnDemand()
after runmanager initialize, and before the beamon. And once again, this will currently not work with Geant4 in MT mode.Concerning the actual NCrystal settings for the sapphire filter, I thought it sounded interesting enough that I went and created a little…