WARNING - Work in progress.
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.
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
- On Windows/OSX Xming or a similar window manager should be installed. Currently graphics are not working, so this is not a requirement.
Using system python3
jupyter (if you want to run notebooks).
- Correct MATLAB library paths have to be set.
- To start a session
mlPathfor 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.