Replies: 3 comments 17 replies
-
That is a very good question indeed! The short answer is that currently, NCrystal does in fact not provide such numbers. Currently, the However, I think it is reasonable to suggest that at the very least NCrystal should provide such numbers, so that people with use-cases like your own might make their own choice (+ we might need such data anyway eventually for our internal modelling). In fact, if you look at the file where NCrystal's (currently hardcoded) database of atomic data, you can see that we could actually easily provide these numbers (there would mainly be some API coding work to do): https://github.com/mctools/ncrystal/blob/v3.7.1/ncrystal_core/src/NCAtomDB.cc#L245 In particular note the comment in lines 271-272, and the commented-out abundance values below (e.g. in line 277 for H1). Based on this I am happy to open a feature request to make NCrystal also provide this information, and to let the Btw., note that the abundances are only actually strictly needed/used if the The next NCrystal release might be a while off still though, since I am currently deeply engrossed in some other work, so I hope it is correctly understood that you have a work-around with the Nubase 2020 DB for now? Finally, it sounds like an interesting wrapper you are working on. If you get it to work, it might be interesting to share more widely. Well, as widely as one can with MCNP-adjacent code... the MCNP developers themselves might at least be interested I think. Cheers, |
Beta Was this translation helpful? Give feedback.
-
Hi Kyle. Take a look at how we implemented it in OpenMC. The logic is very
similar to MCNP.
NCrystal only replaces elastic scattering below 5 eV. Above that energy and
all other reactions (including capture) are handled by the regular
processes.
…On Fri, Sep 29, 2023, 18:04 Kyle Grammer ***@***.***> wrote:
Looking closer at how to incorporate the wrapper, I think the idea that
NCrystal could control all interactions below a certain energy isn't going
to work. The mechanism for absorption in the analogous McStas component is
to either terminate the track or reduce the weight, but this would need to
create a particle on absorption in MCNP.
I suspect that I'd need to handle 1 NCrystal material as 2 separate
materials with a scattering material and an absorption material. It looks
like attaching "coh_elas=0;incoh_elas=0;sans=0;" will give me absorption
only and "inelas=0;" would give me scattering only. I think that this means
NCrystal could handle the scattering part and MCNP routines and data tables
would then need to handle the absorption processes.
—
Reply to this email directly, view it on GitHub
<#144 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AFLRDEM4RYXMRZ5BE7G7JG3X43WRDANCNFSM6AAAAAA5GKFMQM>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
FYI the changes needed for OpenMC was in this PR: openmc-dev/openmc#2222 As Ignacio says, NCrystal only modifies the scattering below 5eV. Absorption at any energy is handled by whatever was already the in OpenMC (similarly to what we do for Geant4). Technically, there is nothing special needed in the NCrystal cfg-string in order to separate out scattering processes from absorption processes: By calling |
Beta Was this translation helpful? Give feedback.
-
I'm working on a fortran wrapper so that I can call NCrystal in MCNP. I would like to be able to call ncrystal_get_flatcompos so that I can get the composition with isotope fractions so that I can make the MCNP composition of a material match that of the NCrystal material without doing so by hand. However, I haven't figured out a way to poll the NCrystal AtomDB for the element fractions, so I haven't found the function pointer to give it for natelemprovider_raw.
Is there an internal function that I can give it for that parameter?
I've written one that works based on Nubase 2020, which works alright. I was wondering if there's a built in one, though.
Beta Was this translation helpful? Give feedback.
All reactions