A live demo can be found through Pangeos instance of Binder:
pySpinW (py-spin-double-u) is a python implementation of the MATLAB library SpinW. It can optimize magnetic structures using mean field theory and calculate spin wave dispersion and spin-spin correlation function for complex crystal and magnetic structures. For details see http://www.spinw.org
This is currently under development and will progress in stages.
Conversion to a compiled python library.Currently in testing- Conversion of symmetry, atoms, matoms etc to python. In progress
- Conversion of graphics modules to native python using matplotlib/VTK.
- Migration of auxiliary code to pure python.
- Migration of main classes to pure python.
- Convert the core spinwave code to C++
- Currently graphics are not showing up in the Docker script.
- The ipython interface is a bit clunky, until the ipython-magic is re-written
- Maybe memory duplication, so not ideal for large datasets.
There are 2 supported methods, Docker for a pre-built environment or a system install
Use the Docker file and docker-compose as it creates a stable environment.
docker-compose build
A jupyter notebook session is started with:
docker-compose up pySpinW
Where a session is accessible at http://127.0.0.1:8888 . At the moment notebook.ipynb
is an example notebook.
You can also try scripting with:
docker-compose up testScript
It will execute docker_script.py
- On Windows/OSX Xming or a similar window manager should be installed. Currently graphics are not working, so this is not a requirement.
numpy
and jupyter
(if you want to run notebooks).
- Correct MATLAB library paths have to be set.
- To start a session
mlPath
for your MATLAB or MATLAB Runtime (v96) installation has to be given.
Then you can run host_script.py
or make your own.
- Using a conda environment crashes the interface, so it's not recommended.