Skip to content

NH3-SOFC Simulation Package

Automated DFT and ML force field calculations for ammonia solid oxide fuel cell research


Overview

nh3sofc is a Python package that automates computational materials science workflows for studying ammonia (NH3) decomposition catalysis on solid oxide fuel cell (SOFC) electrode materials. The package integrates with VASP for DFT calculations and MACE for machine learning force fields.

  • Structure Building


    Build surfaces from bulk crystals, create oxynitride defects, and place adsorbate molecules with multiple methods.

    Structure Module

  • VASP & MACE


    Generate VASP input files with proper settings for relaxation, NEB, and frequency calculations. Use MACE for fast ML predictions.

    Calculators

  • Analysis Tools


    Calculate adsorption energies, Gibbs free energies, identify rate-determining steps, and compare catalyst surfaces.

    Analysis

  • Data Management


    Standardized naming conventions and ASE database integration for organizing calculations.

    Database

  • Exsolution Simulation


    Model metal nanoparticle exsolution from perovskites, including defect formation, segregation, and catalysis on exsolved particles.

    Exsolution Tutorial

  • Theoretical Framework


    Complete catalysis theory toolkit: d-band analysis, BEP relations, energy span model, microkinetic modeling, and volcano plots.

    Theory Guide

Key Features

Target Materials

Material Class Examples Focus
Perovskite Oxynitrides LaVON₂₋ₓ, LaVO₃ Primary research target
Exsolution Perovskites La₀.₄Sr₀.₄Ti₀.₉Ni₀.₁O₃, Ni/GDC Metal nanoparticle catalysis
Mixed Ion Conductors LSGM, BCZY Proton/oxide conductors
Cermet Anodes Ni/YSZ, Ni/GDC Benchmark materials

NH3 Decomposition Pathway

The package implements automated workflows for studying the complete NH3 decomposition mechanism:

NH3(g) → NH3* → NH2* + H* → NH* + 2H* → N* + 3H* → ½N2(g) + 3/2H2(g)

Exsolution Simulation

Model the complete exsolution pathway for perovskite materials:

Pristine → Defective → Segregated → Exsolved (with nanoparticle)
  • Support for Ni, Co, Fe exsolution from B-site
  • Socketed nanoparticle modeling (realistic anchoring)
  • Oxygen vacancy coupling with metal reduction
  • Multiple adsorption sites: metal top, interface edge, vacancy sites

Computational Methods

  • DFT: VASP with Hubbard U corrections, vdW-D3/D3BJ
  • ML Force Fields: MACE foundation models and custom training
  • NEB Workflows: Automated transition state searches with IDPP/climbing image

Theoretical Framework

NH3SOFC implements a complete theoretical toolkit for computational catalysis:

Component Description
Electronic Descriptors D-band center, width, and filling from DOSCAR
Thermochemistry ZPE, entropy, Gibbs free energy (harmonic & ideal gas)
BEP Relations Built-in parameters for N-H, C-H, O-H dissociation
Energy Span Model Kozuch-Shaik TDTS/TDI identification
Microkinetics Steady-state solver, coverage-dependent rates, TOF
Volcano Plots Descriptor-activity relationships, catalyst ranking
Exsolution Energetics Vacancy formation, segregation, particle binding

Quick Example

from nh3sofc.structure import BulkStructure, SurfaceBuilder, DefectBuilder
from nh3sofc.calculators.vasp import VASPInputGenerator

# Build oxynitride surface
bulk = BulkStructure.from_cif("LaVO3.cif")
surface = SurfaceBuilder(bulk).create_surface((0,0,1), layers=6, vacuum=15)
oxynitride = DefectBuilder(surface).create_oxynitride(
    nitrogen_fraction=0.67,
    vacancy_concentration=0.1
)

# Generate VASP inputs
vasp = VASPInputGenerator(oxynitride, calc_type="relax", work_dir="./calc")
vasp.generate_all(encut=520, hubbard_u={"V": 3.25}, vdw="D3BJ")

Installation

# Clone the repository
git clone https://github.com/lizhenzhupearl/nh3sofc.git
cd nh3sofc

# Install in development mode
pip install -e .

See Installation Guide for detailed instructions.

Documentation

Tutorials

Step-by-step guides for common workflows

API Reference

Complete API documentation

Quick Start

Code examples and use cases

Package Structure

nh3sofc/
├── core/           # Constants, base classes
├── structure/      # Bulk, surface, defects, adsorbates
├── calculators/
│   ├── vasp/       # VASP input/output handling
│   └── mace/       # MACE ML force field interface
├── jobs/           # PBS/HPC job management
├── workflows/      # Automated calculation workflows
├── analysis/       # Energetics, thermochemistry, kinetics
└── database/       # Naming conventions, ASE DB integration

Citation

If you use this package, please cite:

@software{nh3sofc,
  title = {NH3-SOFC: Automated Simulations for Ammonia Fuel Cell Research},
  author = {Li, Zhenzhu},
  year = {2026},
  url = {https://github.com/lizhenzhupearl/nh3sofc}
}

License

This project is licensed under the MIT License - see the LICENSE file for details.