Skip to main content
Oganesson logo

Oganesson: Python workflows for materials research

Oganesson connects atomistic structure preparation, structural analysis and machine learning in one Python interface. Use it to build candidate materials, convert structures into numerical descriptors, and explore structures and dynamics with machine-learned interatomic potentials.

The central object, OgStructure, wraps a pymatgen Structure and accepts ASE Atoms or a structure file. Basic Python and familiarity with crystal structures are enough to start.

Choose a workflow

Research task Tools Output
Prepare alloys, defects and surfaces substitutions_random(), add_interstitial(), add_atom_to_surface() Candidate geometries for relaxation
Compare structure and diffraction get_rdf(), xrd() Radial distribution functions and simulated XRD patterns
Build inputs for property models BACD, SymmetryFunctions, DScribe wrappers Numerical feature vectors
Relax structures or explore dynamics relax(), simulate() Potential-dependent energies, structures and trajectories
Prepare ion-migration calculations generate_neb_images(), generate_neb() Initial geometries for nudged elastic band (NEB) calculations
Search at fixed composition GA Candidates ranked using relaxed total energies

Follow the materials science tutorial from structure preparation and analysis to descriptors, then optional simulation workflows. It explains inputs, output files and scientific interpretation.

Installation

Install into an isolated Python environment:

python -m pip install oganesson

For the tutorial, download or clone this repository and run these commands from its root directory:

python -m pip install -e .
python -m pip install jupyterlab matplotlib
python -m jupyter lab tutorial.ipynb

Select a kernel using the same Python environment. Introductory examples build crystals with ASE or use the bundled MoS2 structure; no database account is needed.

The dependencies declared in setup.py include ASE, pymatgen, NumPy, pandas, DIEP, bsym and diffusivity. OgStructure imports DIEP even for geometry-only work. Graph-backend requirements depend on the installed DIEP version and potential; the repository does not pin a complete environment.

Optional workflow Additional installation
DScribe descriptors python -m pip install dscribe
ROSA descriptors GPAW and its required datasets
Explicit M3GNet potential python -m pip install "oganesson[matgl]" (use ".[matgl]" for a local checkout)
Ripple geometry python -m pip install sympy

First example: describe a crystal

Build an ideal face-centred cubic Cu primitive cell and calculate a BACD feature vector:

import numpy as np
from ase.build import bulk
from oganesson.ogstructure import OgStructure
from oganesson.descriptors import BACD

copper = OgStructure(bulk("Cu", "fcc", a=3.6))  # lattice parameter in angstrom
features = np.asarray(BACD(copper).describe(), dtype=float)
print("Composition:", copper.structure.composition.reduced_formula)
print("Volume (angstrom^3):", copper.structure.volume)
print("Number of features:", features.size)

BACD combines elemental-property statistics, structural quantities and a space-group encoding. The vector is an input to a model, not a prediction of the crystal's measured properties. Supervised learning also requires reference labels and an independent evaluation dataset.

Load your own file with OgStructure(file_name="path/to/structure.cif"). Access pymatgen through .structure, or convert to ASE with .to_ase().

Interpreting calculation results

The current default for relaxation, molecular dynamics and genetic search is model="diep", loading the bundled potential. model="m3gnet" explicitly selects the MatGL M3GNet model. Other model strings are passed to the DIEP loader. Record the potential and software versions with your calculation settings.

  • Surface and defect routines generate starting configurations. Relax and compare candidates before assigning preferred sites or defect energies.
  • NEB helpers prepare geometries; they do not calculate a converged migration barrier. The tutorial distinguishes interpolation from the automatic helper, which independently relaxes images.
  • simulate() runs molecular dynamics with a machine-learned potential. Validate the potential for the chemistry and conditions of interest before interpreting predictions.
  • A genetic search finds low-energy candidates within the chosen composition and search settings. It does not establish a global minimum or stability against competing phases.

Oganesson is under active development. The tutorial identifies implementation-specific behaviour and marks expensive or data-dependent sections as optional.

Project information

When reporting results, cite the descriptors, potentials, software and reference data actually used. The original descriptor paper is identified by DOI 10.1186/s13321-022-00658-9.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

oganesson-0.1.48.tar.gz (1.3 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

oganesson-0.1.48-py3-none-any.whl (1.3 MB view details)

Uploaded Python 3

File details

Details for the file oganesson-0.1.48.tar.gz.

File metadata

  • Download URL: oganesson-0.1.48.tar.gz
  • Upload date:
  • Size: 1.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.14.3

File hashes

Hashes for oganesson-0.1.48.tar.gz
Algorithm Hash digest
SHA256 64a9bd1187c1da22fd77ff56ff27a1aabf95e242bc15ac7137114728b756dabb
MD5 0fec7f98df2ceddf5c3d14428b91bbd1
BLAKE2b-256 d05cfc901f46a13223cee73b3513609f3703c650f1c9e3a0117b5dbb39d2ad04

See more details on using hashes here.

File details

Details for the file oganesson-0.1.48-py3-none-any.whl.

File metadata

  • Download URL: oganesson-0.1.48-py3-none-any.whl
  • Upload date:
  • Size: 1.3 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.14.3

File hashes

Hashes for oganesson-0.1.48-py3-none-any.whl
Algorithm Hash digest
SHA256 f5e76901d68f09aecf574178ea07c2684a287489700e894d3d6827e06ba70fe1
MD5 ca54d0d3bf141192993eb1a1070ee098
BLAKE2b-256 2a57a793b56b78aed87692348368be9675e731ab3513b047a33c1b9f8d4df9ec

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1.48 This release

2 files

0.1.47

2 files

0.1.46

2 files

0.1.44

2 files

0.1.43

2 files

0.1.42

2 files

0.1.41

2 files

0.1.39

2 files

0.1.35

2 files

0.1.34

2 files

0.1.33

2 files

0.1.32

2 files

0.1.31

2 files

0.1.30

2 files

0.1.29

2 files

0.1.28

2 files

0.1.27

2 files

0.1.26

2 files

0.1.25

2 files

0.1.24

2 files

0.1.23

2 files

0.1.22

2 files

0.1.21

2 files

0.1.20

2 files

0.1.9

2 files

0.1.8

2 files

0.1.7

2 files

0.1.6

2 files

0.1.5

2 files

0.1.4

2 files

0.1.3

2 files

0.1.2

2 files

0.1.1

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page