Janus-Core Desktop UX
A desktop graphical user interface for STFC janus-core built with Qt6 and PySide6.
Features
-
Dedicated Tabs for All Janus-Core Calculations:
- ⚙️ MLIP Environments & Potentials Setup: Manage multiple micromamba/conda/virtual environments with incompatible dependencies. Auto-detect installed models (MACE, SevenNet, CHGNet, FairChem, NequIP, ORB, MatterSim), install/upgrade potentials directly via
uv, and choose target execution environments per calculation. - ⚡ Geometry Optimization: Atomic coordinate relaxation and crystal unit cell optimization (
FrechetCellFilter,ExpCellFilter), convergence curves, and trajectory playback. - 🎯 Single Point: Potential energy, atomic forces, stress tensor, and Hessian matrix.
- 🌊 Molecular Dynamics: NVE, NVT, and NPT ensembles with Langevin or Nosé-Hoover thermostats, temperature ramping, thermodynamic curves (T, Epot, Pressure vs Time), and trajectory player.
- 🎵 Phonons: Supercell generation, finite displacement, phonon band structures, DOS/PDOS, and vibrational heat capacity / entropy curves.
- 📈 Equation of State (EOS): Birch-Murnaghan, Murnaghan, and Vinet E(V) curve fitting, bulk modulus $B_0$, and interactive strained cell inspector.
- 💎 Elasticity: Full $6 \times 6$ elastic stiffness matrix $C_{ij}$, compliance matrix $S_{ij}$, and Voigt-Reuss-Hill bulk, shear, and Young's moduli.
- ⛰️ NEB Reaction Pathways: Climbing-image Nudged Elastic Band (CI-NEB) for transition state search and activation energy barriers $\Delta E^\ddagger$.
- 🧬 MLIP Descriptors: Atomic and system-level MLIP representations and invariants.
- ⚙️ MLIP Environments & Potentials Setup: Manage multiple micromamba/conda/virtual environments with incompatible dependencies. Auto-detect installed models (MACE, SevenNet, CHGNet, FairChem, NequIP, ORB, MatterSim), install/upgrade potentials directly via
-
Chemiscope 3D Atomistic Visualizer:
- Embedded via
QWebEngineViewusing local offline Chemiscope JavaScript libraries. - Interactive camera rotation, zoom, panning, unit cell boundary toggling, atomic bonds, and measurement tools.
- Trajectory playback and frame scrubber.
- Embedded via
-
Interactive 2D/3D Linked Graphs with Point Picking:
- Click any point on a geometry optimization convergence curve, EOS $E(V)$ curve, or NEB reaction path to immediately update the 3D Chemiscope visualizer to that specific structure/frame.
-
Asynchronous Background Execution:
- Calculations run in background
QThreadworkers without freezing the interface. - Live colorized terminal log streaming with search filtering.
- Cancel button for long simulations.
- Calculations run in background
Installation & Environment
Install from PyPI or editable source using uv:
# Install with uv
uv pip install -e . --python /opt/micromamba/envs/janus/bin/python
# Or install desktop shortcut and system icon
janus-core-ux --install-desktop
Launching the Application
Run directly from the command line using any of the installed entry points:
janus-core-ux
You can also launch it directly from your Linux system desktop application launcher (GNOME, KDE Plasma, XFCE).
Desktop Shortcut & Icon
To register the desktop application shortcut and system icon to ~/.local/share/applications and ~/.local/share/icons:
- Run CLI flag:
janus-core-ux --install-desktop - Or from inside the GUI: Navigate to Help -> Install Desktop Shortcut.
Running Tests
Run the test suite with uv and pytest:
uv run --no-project --python /opt/micromamba/envs/janus/bin/python -m pytest tests/
Metadata
Release files for janus-core-ux 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| janus_core_ux-0.1.0.tar.gz | 62.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| janus_core_ux-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 141.2 kB
Release files / janus_core_ux-0.1.0.tar.gz
| Download URL | janus_core_ux-0.1.0.tar.gz |
|---|---|
| Size | 62.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a6c9077b203cf60818175b35c938fa2a519defe51a1ca3c5542d9b212fb88b8a
|
|
BLAKE2b-256 checksum How to use checksums |
2d2eb585068da42024171738de1134715657c4f20149ca39df059787e54bae42
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.17 {"installer":{"name":"uv","version":"0.12.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / janus_core_ux-0.1.0-py3-none-any.whl
| Download URL | janus_core_ux-0.1.0-py3-none-any.whl |
|---|---|
| Size | 78.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9199eab7eda07f8c45c97d364511c4cdd8a9f3d3e86e9e1e700a785bb412b487
|
|
BLAKE2b-256 checksum How to use checksums |
e10e269ba9b4da1b813e9dff40b3765afe6fe045594d0f89b26ba161891ed67a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.17 {"installer":{"name":"uv","version":"0.12.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|