-
Hi Everyone, my name is Shuqi Xu, currently working on neutron magnetic scattering for the HighNESS project. I would like to generate the scattering kernels (S(Q,omega) or S(alpha,beta) tables) for the oxygen. The source files of NCrystal include a SAB file, so I deduce that probably we could generate the tables by some specific functions. Nevertheless, I failed to find such functions. Does anyone know how to generate these tables by using NCrystal? Thank you very much for your answers in advance. Best regards, |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments
-
Hi Shuqi, If you read https://github.com/mctools/ncrystal/wiki/Announcement-Release2.0.0 you will get an introduction to how NCrystal generates scattering kernels based on a phonon density distribution (one can of course also just provide the full scattering kernel in the input). So the issue for you is whether or not you have any estimate of what the phonon distribution for your oxygen atoms should be? If not, you can always just add them via the Debye model (also described on the link above) which requires just a single free parameter - but it might not be adequate for the problem at hand (not sure). In any case, the input format is described on https://github.com/mctools/ncrystal/wiki/NCMAT-format, but I can for sure give you some help concerning how to best compose your NCMAT files if you get that far. Of course, once you actually have an NCMAT file composed, it is a simple matter of using the NCrystal python interface to extract the kernel. Here is an example for a mono-atomic atom with just a single entry (for Al) in the dyninfos list: >>> import NCrystal as NC
>>> info=NC.createInfo('Al_sg225.ncmat')
>>> print(len(info.dyninfos))
1
>>> di = info.dyninfos[0]
>>> kernel = di.loadKernel()
>>> print(type(kernel))
<class 'dict'>
>>> print(kernel.keys())
dict_keys(['suggestedEmax', 'egrid', 'alpha', 'beta', 'sab']) Perhaps @marquezj or @dddijulio have some thoughts on the matter? Cheers, ps. I havent forgotten about the cif2ncmat part of your material construction that we discussed in our meeting, but I was kept busy looking into UCN production. |
Beta Was this translation helpful? Give feedback.
-
Hi Thomas, thank you for your prompt reply! Actually I used a simple Debye model for test. The commands you put are exactly what I was looking for. Now I can extract the kernels for oxygen by using these commands. About the cif2ncmat, it is not urgent in this moment because we should wait for the PDOS from Sara. I think I may be able to convert the cif file to ncmat, but in case of problems, I will absolutely ask you for help ^_^. Best regards, |
Beta Was this translation helpful? Give feedback.
Hi Shuqi,
If you read https://github.com/mctools/ncrystal/wiki/Announcement-Release2.0.0 you will get an introduction to how NCrystal generates scattering kernels based on a phonon density distribution (one can of course also just provide the full scattering kernel in the input). So the issue for you is whether or not you have any estimate of what the phonon distribution for your oxygen atoms should be? If not, you can always just add them via the Debye model (also described on the link above) which requires just a single free parameter - but it might not be adequate for the problem at hand (not sure). In any case, the input format is described on https://github.com/mctools/ncrystal/wiki/…