Computational Materials Physics, Quantum PES &
Atomic Structure Machine Learning
Discovering physical building blocks of atomic systems, machine learning potential energy surfaces (PES), Smooth Overlap of Atomic Positions (SOAP), Local Environment Representation (LER), grain boundary energy & mobility descriptors, automated DFT pipelines (matdb), cluster expansion (UNCLE / ANCLE), and Bayesian cluster selection (bcs).
Computational Materials Physics & Optics
First-principles physical modeling for optical sensor design and high-throughput materials discovery.
Multi-layered photon scattering simulations in human tissue and quantum density functional theory (DFT) scaling.
36 peer-reviewed journal papers (758 citations, h-index: 9 in PRB, ACM TOMS, npj), and Monte Carlo tissue transport code.
Materials Science & Physics Projects
Scroll down to view detailed technical specifications for all physics projects.
gblearn — Machine Learning for Grain Boundaries
Published in npj Computational Materials (Nature Springer). Universal Local Environment Representation (LER) predicting grain boundary energy, mobility, and shear coupling.
gbsoap — Smooth Overlap of Atomic Positions
Machine learning atomic potential energy surfaces and grain boundary mobility using SOAP descriptors, Local Atomic Environments (LAE), Radial & Angular Distribution Functions.
matdb — Automated DFT ML Materials Generator
Automated database generation framework for materials machine learning. DFT training set creation, Phonon calculations (phonopy), and derivative superstructures (phenum).
UNCLE / ANCLE — Cluster Expansion & Order Parameters
Cluster expansion code for alloy thermodynamics. Authored ANCLE shared library C/Python interop, Monte Carlo order parameter sampling, and superlattice intensity simulations.
bcs — Bayesian Cluster Selection for Alloys
Open-source sparse Bayesian learning for cluster expansion. Replaces genetic algorithms with evidence approximation to discover parsimonious cluster interactions 100x faster.
gblearn — Local Environment Representation (LER) in Grain Boundary Science
Universal structural descriptor and machine learning framework for predicting grain boundary properties and discovering atomic building blocks in metallic systems.
"Discovering the building blocks of atomic systems using machine learning: application to grain boundaries"
Authors: Conrad W. Rosenbrock, Eric R. Homer, Gábor Csányi, Gus L. W. Hart.
Journal: npj Computational Materials (Nature Springer), 3, 29 (2017).
SOAP Matrix Construction & Spectral Basis Projection
Decomposing local atomic environments into spherical harmonics and radial basis coefficients to construct universal grain boundary descriptors.
- ✓Local Environment Representation (LER): Developed universal machine learning framework that decomposes 3D grain boundary interfaces into localized atomic neighborhood representations.
- ✓SOAP Spectral Projection: Expanded atomic Gaussian densities onto spherical harmonic and orthogonal radial basis sets to achieve complete rotational and translational invariance.
- ✓Olmsted 388 Ni GB Benchmark: Validated machine learning predictions against the canonical Olmsted 388 FCC nickel grain boundary database, spanning all 5 macroscopic degrees of freedom.
- ✓Multi-Property Prediction: Accurately predicted grain boundary energy, migration mobility, and shear coupling coefficients directly from unrelaxed atomic coordinates.
- ✓Structural Unit Discovery: Discovered fundamental polyhedral building blocks of grain boundaries via unsupervised spectral clustering in SOAP descriptor space.
- ✓Nature Springer Publication: Published primary author findings in npj Computational Materials (2017), cited widely across materials physics and computational metallurgy.
gbsoap — Smooth Overlap of Atomic Positions & Local Atomic Environments
Characterizing atomic potential energy surfaces using SOAP descriptors, Local Atomic Environments (LAE), Radial Distribution Functions (RDF), and Angular Distribution Functions (ADF).
SOAP Epsilon Hyperparameter Convergence
Systematic error minimization over environmental cutoff radii for high-fidelity grain boundary energy regression.
- ✓SOAP Descriptor Generation: High-performance implementation calculating 3-body atomic density overlap kernels with smooth polynomial cutoffs.
- ✓Local Atomic Environment (LAE) Partitioning: Segmented atomic systems into bulk-like, grain-boundary core, and transition zone atom classifications.
- ✓Radial & Angular Distribution Analysis: Automated partial pair correlation (r)$ and triplet bond-angle $ heta_{ijk}$ distribution extractions across complex interfaces.
- ✓PCA & Dimensionality Reduction: Reduced 10,000+ dimensional SOAP spectra into interpretable principal components capturing primary crystal deformation modes.
- ✓Interatomic Potential Acceleration: Provided feature extraction layer for training Gaussian Approximation Potentials (GAP) and neural network potential surfaces.
- ✓Epsilon Optimization: Formulated systematic hyperparameter tuning pipelines establishing optimal cutoff distances for transition metal boundaries.
matdb — Automated DFT & Materials ML Database Engine
Automated database generator for machine learning in materials space. Integrates Density Functional Theory (DFT), Phonon calculations (phonopy), Atomic Simulation Environment (ase), and derivative superstructures (phenum).
High-Throughput DFT & ML Dataset Compilation Pipeline
Automating supercomputer queue management, VASP self-consistency checks, harmonic force constant extraction, and standardized ML training databases.
- ✓High-Throughput VASP Automation: Automated creation of VASP input decks (
INCAR,POSCAR,KPOINTS,POTCAR) across thousands of stoichiometric variants. - ✓SLURM / PBS Cluster Queue Manager: Automated job array dispatching, walltime management, and dynamic node load-balancing across multi-thousand-core HPC clusters.
- ✓Self-Healing Convergence Monitor: Tracked electronic SCF and ionic relaxation steps in real time, automatically adjusting convergence algorithms on unconverged runs.
- ✓Phonopy Harmonic Force Extraction: Displaced supercell structures to compute dynamic matrices, phonon dispersion curves, and vibrational thermodynamic properties.
- ✓Derivative Superstructure Integration: Interfaced with
phenumgroup-theoretic enumeration to generate complete symmetry-inequivalent alloy configurations. - ✓Standardized ML Datasets: Exported parsed quantum calculations directly into structured JSON, ASE databases, and HDF5 archives for interatomic potential fitting.
UNCLE / ANCLE — Cluster Expansion & Order Parameter Simulation
Universal Cluster Expansion framework for alloy thermodynamics and phase stability. Authored C/Python interop bindings (ANCLE), Monte Carlo order parameter sampling, and superlattice intensity modeling.
"Revisiting the CuPt3 prototype and the L13 structure"
Authors: C. Mshumi, C. I. Lang, L. R. Richey, K. C. Erb, Conrad W. Rosenbrock, L. J. Nelson, R. R. Vanfleet, H. T. Stokes, B. J. Campbell, Gus L. W. Hart.
Journal: Acta Materialia 73, 326–336 (2014).
Simulated Superlattice Intensities & Order Parameter Dynamics
Monte Carlo simulation of kinematic superlattice reflection intensities for X and L-points, capturing alloy ordering and thermodynamic phase boundaries.
- ✓Order Parameter Sampling Engine: Implemented Monte Carlo correlation and order parameter tracking algorithms (
monte_orderparam.f90) to characterize ordering transitions. - ✓Superlattice Intensity Simulation: Simulated kinematic diffraction intensities for high-symmetry $X$ and $L$ Brillouin zone points to quantify ordering relative to parent FCC lattices.
- ✓ANCLE Interop Shared Library: Authored shared C/Python interface module (
ancle_interop.f90,ancle_interop.xml) enabling external Python scripts to drive UNCLE routines. - ✓Multi-Body Cluster Hamiltonians: Evaluated Effective Cluster Interactions (ECIs) across multi-site cluster figures to map quantum DFT energies to Ising-like lattice models.
- ✓gfortran & Toolchain Modernization: Reorganized build systems, resolving compilation errors across modern
gfortranand linking static library archives (libsym.a,libenum.a). - ✓Thermodynamic Solvus & Transition Curves: Calculated finite-temperature order-disorder transition boundaries and phase stability curves in binary/ternary alloys.
bcs — Bayesian Cluster Selection for Alloy Phase Stability
Open-source Python framework implementing compressed sensing and sparse Bayesian learning for cluster expansion. Discovers optimal Effective Cluster Interactions (ECIs) without combinatorial genetic algorithms.
Sparse Bayesian Learning & Evidence Maximization Pipeline
Pruning non-essential clusters via Automatic Relevance Determination (ARD) to produce parsimonious, highly predictive alloy thermodynamic models.
- ✓Open-Source FOSS Implementation: Authored standalone Python package published on GitHub (
rosenbrockc/bcs) providing a clean, accessible alternative to legacy Fortran cluster selection. - ✓Automatic Relevance Determination (ARD): Assigned independent Gaussian variance priors to individual cluster terms, naturally driving non-physical cluster coefficients to exact zero.
- ✓100x Algorithmic Speedup: Replaced computationally heavy genetic algorithm (GA) iterations and exhaustive cross-validation loops with fast sequential evidence maximization.
- ✓Parsimonious ECI Selection: Identified compact, physically meaningful Effective Cluster Interaction sets that prevent overfitting on small training datasets.
- ✓Convex Hull & Ground State Search: Rapidly evaluated millions of hypothetical crystal structures to construct alloy convex hulls and identify stable stoichiometric ground states.
- ✓UNCLE Interoperability: Formatted cluster expansion outputs to be completely drop-in compatible with downstream Monte Carlo simulation engines.
from bcs.bayesian import BayesianClusterExpansion
# Initialize Bayesian Cluster Selection on DFT energies and correlation matrix
bce = BayesianClusterExpansion(correlations=corr_matrix, energies=dft_energies)
bce.fit(max_iterations=1000, tolerance=1e-6)
# Extract selected non-zero Effective Cluster Interactions (ECIs)
optimal_ecis = bce.get_active_clusters()
print(f"Selected {len(optimal_ecis)} clusters with CV error: {bce.cross_validation_error:.4f} meV/atom")