mantidproject / mantid

Main repository for Mantid code
https://www.mantidproject.org
GNU General Public License v3.0
207 stars 121 forks source link

difmag package not working in Mantid release candidate #35651

Open gemmaguest opened 1 year ago

gemmaguest commented 1 year ago

From Pas:

"I have noticed that our diffmag package is no longer working within mantid (it is fine through python3 on idaaS but it needs to be working within mantid so that we can plot the simulation and the data in the same way via the sliceviewer in mantid). I believe it was reported by the Idaas team but I have not heard anything. Is it possible to chase?"

Probably related to: https://github.com/ISISNeutronMuon/mantid-isis-support/issues/68

Check with Pas if this is the same error as before - if so not a regression and won't do for this release.

RichardWaiteSTFC commented 1 year ago

Have confirmed this is the same error as in https://github.com/ISISNeutronMuon/mantid-isis-support/issues/68 - so changing the milestone to 6.8

RichardWaiteSTFC commented 1 year ago

Here is a script

from libDifMag import *
from numpy import *
import matplotlib.pyplot as plt
import time

s=SuperCell()
s.fromFile("/home/pm8303/Desktop/test_diffmag/CaFe3O5.def")
s.setDimension(41,41,41)
s.populateSites()
s.populateInteractions()
mc=IsingMCEngine()
mc.setLattice(s)
mc.setLatticeRandom()
T=100.0
pow=Powder(s)
while (T>0.05):
    mc.setT(T)
    print(T, mc.run(100))
    T=T*0.92
s.saveFStudio("/home/pm8303/Desktop/test_diffmag/test.fst")
qrange=linspace(0.75,2.5,251)
p414141_101101=pow.calculate(qrange,101,101)
plt.plot(qrange,pow.getdata())
plt.show()

The error is as follows

Boost.Python.ArgumentError: Python argument types in
    SuperCell.fromFile(SuperCell, str)
did not match C++ signature:
    fromFile(DifMag::SuperCell {lvalue}, std::string)
  File "/home/pm8303/Desktop/test_diffmag/CaFe3O5.py", line 7, in <module>
    s.fromFile("/home/pm8303/Desktop/test_diffmag/CaFe3O5.def")