Closed franzlang closed 9 months ago
Following is a list of all files in MDANSE that use the ILL MMTK module:
All the above files, excluding DependenciesTests/, use the following parts of ILL MMTK:
More detailed summary of the classes using MMTK can be found in the attached file: MDANSE MMTK.docx
From looking at the changes made to the ILL MMTK since it has been forked, and considering that most of the files in khinsen/MMTK have not been altered since before the ILL fork, it seems to me there should be few issues changing to the official MMTK, requiring few to no changes to the MDANSE code.
The main differences introduced in the ILL fork that seem relevant to MDANSE are as follows:
MMTK.Collections
has been rewritten to use numpy functions and arrays instead of Scientific.VectorMMTK_universe.c
and other c files, snprintf has been replaced with PyOS_snprintfMMTK.Units
were altered to contain more accurate numbers (eg. Planck's constant = 6.62606957e-34, not 6.626176e-34). Fortunately, this change has also been implemented in khinsen/MMTK.setup.py
FYI MMTK is not compatible with numpy versions after 1.9.0 (so Ubuntu 16.04), due to the use of Numeric (in Scientific.N). That explains the choice to use a custom version of MMTK, that we modified to get rid of Numeric.
Anyway, the problem of MMTK in MDANSE is a no-problem as I could get rid of MMTK in the branch protos.
As noted above, MMTK is not used anymore in Python 3 version of MDANSE.
investigate what parts of the code depend on the custom
mmtk
module released by the ILL (https://code.ill.fr/scientific-software/mmtk) that the MDANSE code currently requires. also gain an understanding of and document why we could or could not use the "standard"mmtk
module (https://github.com/khinsen/mmtk). if required: create issues for the different parts of the code that need to be updated so that we can use the standardmmtk
module. note that we might want to not spend the time to update the code use the standardmmtk
module as it is only available in python 2. here is a separate issue to investigate removing this dependency altogether: https://github.com/ISISNeutronMuon/MDANSE/issues/7.