Spirit immediate mode desktop UI¶
Logo
The cross-platform imgui desktop user interface provides an alternative to the QT GUI and will eventually replace it.
It can be built by setting the CMake option SPIRIT_UI_USE_IMGUI=ON
, see also
the build instructions for Unix/OSX and Windows
for information on how to build the graphical user interface on your machine.
Note: This GUI is not yet fully fledged and should be regarded as a “preview”
Known Issues:
- Energies in energy plot are not updating correctly
Physics features¶
The pysics features are on par with the QT GUI.
Insert Configurations:
- White noise
- (Anti-) Skyrmions
- Domains
- Spin Spirals
You can manipulate the Hamiltonian as well as simulation parameters and your output file configuration.
You can start and stop simulation and directly interact with a running simulation.
- LLG Simulation: Dynamics and Minimization
- GNEB: create transitions and calculate minimum energy paths
By copying and inserting spin systems and manipulating them you may create arbitrary transitions between different spin states to use them in GNEB calculations. Furthermore you can choose different images to be climbing or falling images during your calculation.
Real-time visualisation¶
The imgui provides the same visualisation capabilities as the QT GUI:
- Arrows, Surface (2D/3D), Isosurfaces
- Spins or eff. field
- Every n’th arrow
- Spin sphere
- Directional & position filters
- Various colourmaps
Additionally, it provides
- Sphere and dot renderers
- Individual control over each renderer via a separate widget
Visualisation Settings
Additional features¶
- Drag mode: drag, copy, insert, change radius
- Screenshot
- Read configuration or chain
- Save configuration or chain
- Take a screenshot
How to perform an LLG dynamics calculation¶
To perform a dynamics simulation, use the “LLG” method and one of the following solvers:
- Depondt
- SIB
- Heun
- RK4
In this case, parameters such as temperature or spin current will have an effect and the passed time has physical meaning:
LLG
How to perform an energy minimisation¶
The most straightforward way of minimising the energy of a spin configuration is to use the “Minimizer” method and one of the following solvers:
- VP
- VP_OSO
- LBFGS_Atlas
- LBFGS_OSO
Minimizer
By pressing the “play” button or the space bar, the calculation is started.
How to perform a GNEB calculation¶
Select the GNEB method and one of the minimisation solvers.
In order to perform a geodesic nudged elastic band (GNEB) calculation, you need to first create a chain of spin systems, in this context called “images”. You can set the chain length directly in the field nex to the start/stop button.
You can also manipulate the chain by copying the current image using ctrl+c
(on mac replace ctrl
with cmd
) and then ctrl+rightarrow
/ctrl+leftarrow
to insert the copy into the chain and ctrl+v
to overwrite the current image.
See the help menu for all keybindings.
The GUI will show the length of the chain:
GUI controls
You can use the buttons or the right and left arrow keys to switch between images.
A data plot is available to visualise your chain of spin systems. The interpolated energies become available when you run a GNEB calculation.
Key bindings¶
Note that some of the keybindings may only work correctly on US keyboard layout.
UI Controls¶
Effect | Keystroke |
---|---|
Show this | F1 |
Toggle Settings | F2 |
Toggle Plots | F3 |
Toggle Debug | F4 |
Toggle \"Dragging\" mode | F5 |
Toggle large visualization | F10 / Ctrl+F |
Toggle full-screen window | F11 / Ctrl+Shift+F |
Screenshot of Visualization region | F12 / Home |
Toggle OpenGL Visualization | Ctrl+Shift+V |
Try to return focus to main UI | Esc |
Camera Controls¶
Effect | Keystroke |
---|---|
Rotate the camera around | Left mouse / W A S D ( Shift to go slow) |
Move the camera around | Left mouse / T F G H ( Shift to go slow) |
Zoom in on focus point | Scroll mouse ( Shift to go slow) |
Set the camera in X, Y or Z direction | X Y Z ( shift to invert) |
Control Simulations¶
Effect | Keystroke |
---|---|
Play/Pause | Space |
Cycle Method | Ctrl+M |
Cycle Solver | Ctrl+S |
Manipulate the current image¶
Effect | Keystroke |
---|---|
Random configuration | Ctrl+R |
Add tempered noise | Ctrl+N |
Insert last used configuration | Enter |
Visualisation¶
Effect | Keystroke |
---|---|
Use more/less data points of the vector field | +/- |
Regular Visualisation Mode | 1 |
Isosurface Visualisation Mode | 2 |
Slab (X,Y,Z) Visualisation Mode | 3 4 5 |
Cycle Visualisation Mode | / |
Move Slab | , / . ( Shift to go faster) |