-
Notifications
You must be signed in to change notification settings - Fork 1
Home

UPXO (UKAEA Poly-XTAL Operations) is an open-source Pythonic computational framework for generating, analysing, manipulating, meshing, visualising, and exporting representative polycrystalline grain structures for materials science. Although primarily developed for applications pertaining to multi-scale computational studies of nuclear structural materials, it can also solve a wide range of such problems in the Aerospace and Automobile sectors.
UPXO can enable you to create complex 2D and 3D poly-crystalline grain-structures suitable for Finite Element (FE) simulations, microstructure characterisation, and data-driven materials research involving such computational domains.
pip install upxoOptional extras:
| Extra | What it adds | Command |
|---|---|---|
[viz] |
Interactive plots (Plotly) | pip install upxo[viz] |
[mesh] |
FE meshing (pyvoro, tetgen) | pip install upxo[mesh] |
[io] |
Raster I/O (rasterio) | pip install upxo[io] |
[ebsd] |
EBSD data import (DefDAP) | pip install upxo[ebsd] |
[all] |
Everything above | pip install upxo[all] |
| Capability | Description |
|---|---|
| Grain Structure Generation | Voronoi tessellation and Monte-Carlo simulation (Potts model) |
| Characterisation & Analysis | Morphology, texture, and topological analysis |
| Manipulation Tools | Feature removal, introduction, modification, and replacement |
| Representativeness Assessment | Morphological, textural, and topological assessment |
| FE Meshing | Grain boundary geometry conformant and non-conformant meshes |
| Data Interface | Import, export, and management of grain structure data |
| Visualisation | 2D and 3D microstructure plotting tools |
- Equiaxed polycrystals generated from tessellation methods
- Elongated and directionally structured grains
- Hierarchical microstructures such as lath-based morphologies
- Multi-scale grain arrangements
| Page | Description |
|---|---|
| Getting Started | Installation, first run, demo notebooks |
| 2D Grain Structure Generation | MCGS2D and Voronoi 2D workflows |
| 3D Grain Structure Generation | MCGS3D and Voronoi 3D workflows |
| Grain Characterisation | Morphology, topology, grid and ID operations |
| Grain Boundary Operations | GB detection, misorientation, network analysis |
| Representativeness Assessment | Morphological and topological assessment |
| Meshing | Conformant and non-conformant FE meshing |
| Visualisation | 2D/3D plotting, pyvista, distributions |
| Data I/O | Import/export: Excel, VTK, raster, EBSD |
| Use Cases | Material-specific workflows and examples |
| Dependencies | Core and optional dependency list |
| API Reference | Full auto-generated API documentation |
| YouTube Channel | Video tutorials and walkthroughs |
| YouTube Channel | Video tutorials and walkthroughs |
This work has been funded by STEP, a major technology and infrastructure programme led by UK Industrial Fusion Solutions Ltd (UKIFS), which aims to deliver the UK's prototype fusion power plant and a path to the commercial viability of fusion.
If you use UPXO in your research, please cite it as:
Citation details to be added upon publication.
The following publications have used or cited UPXO:
This section will be updated as citations accumulate.
- Dr. Sunil Anandatheertha — UK Atomic Energy Authority (UKAEA), Culham, Oxfordshire, OX14 3DB, UK
- Dr. Vikram Phalke — UK Atomic Energy Authority (UKAEA), Culham, Oxfordshire, OX14 3DB, UK
- Dr. Chris Hardie — UK Atomic Energy Authority (UKAEA), Culham, Oxfordshire, OX14 3DB, UK
- Dr. Eralp Demir — University of Oxford, Parks Road, Oxford, OX1 3PJ, UK
UPXO is distributed under the GNU General Public License v3.0 (GPL-3.0) for open-source and academic use. For commercial licensing enquiries, please contact vaasu.anandatheertha@ukaea.uk.
Home | Getting Started | API Reference | PyPI | YouTube | GitHub
© 2026 UK Atomic Energy Authority (UKAEA) — GPL-3.0
Getting Started
Grain Structure Generation
Analysis & Operations
Output
Use Cases
Development
External