Skip to content
Sunil Anandatheertha edited this page May 22, 2026 · 13 revisions

UPXO Wiki

UPXO logo and banner

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.


Quick Install

pip install upxo

Optional 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]

Core Capabilities

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

Supported Microstructures

  • Equiaxed polycrystals generated from tessellation methods
  • Elongated and directionally structured grains
  • Hierarchical microstructures such as lath-based morphologies
  • Multi-scale grain arrangements

Navigate the Wiki

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

Funding

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.


Citing UPXO

If you use UPXO in your research, please cite it as:

Citation details to be added upon publication.


Works Citing UPXO

The following publications have used or cited UPXO:

This section will be updated as citations accumulate.


Contributors

  • 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

License

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.

Clone this wiki locally