Skip to content

3D Grain Structure Generation

Sunil Anandatheertha edited this page May 22, 2026 · 1 revision

3D Grain Structure Generation

UPXO supports two primary methods for generating 3D polycrystalline grain structures.


Monte Carlo Grain Structure (MCGS3D)

MCGS3D extends the Potts model to three dimensions. The simulation produces a 3D voxelated grain structure evolving over Monte Carlo steps.

Key parameters:

  • Grid size (nx, ny, nz)
  • Number of grain orientations (Q)
  • Number of Monte Carlo steps (MCS)
  • Temperature (kT)
  • Sampling intervals (time slices)

Entry point: src/upxo/demos/gschar/gschar2.ipynb

Custom algorithms: Custom growth rate functions can be implemented and passed to the MC engine. See ggrowth/make3d.py and algorithms/ for reference implementations.


Voronoi Tessellation (VTGS3D)

3D Voronoi grain structures are generated from seed points using pyvoro. The resulting grain structure can be exported directly to FE mesh formats.

Entry point: src/upxo/pxtal/vortess3d.py


Coming Soon

  • 3D spatial gradient grain structures
  • Lath/hierarchical microstructure generation
  • Twin structure generation (pxtal/gs_twin_3d.py)

Clone this wiki locally