Skip to content
Andrew Garcia edited this page Jul 20, 2025 · 14 revisions

πŸ§ͺ Welcome to PowerXRD

PowerXRD is an open-source Python package for simulating and analyzing data from X-ray diffraction (XRD) experiments, with a focus on modularity, transparency, and exploratory workflows.

It includes a working implementation of the Rietveld refinement method, currently supporting cubic models and a staged refinement interface. More structural models and features are on the way.


🌟 Highlights

  • πŸ” Rietveld Refinement Supports parameter fitting of simulated or experimental data using scipy.optimize. Currently cubic-only. Fully Pythonic. Fully yours to break.

  • 🧬 Model-Driven Built around clear, inspectable crystal models (starting with CubicModel) that generate synthetic XRD patterns.

  • πŸ“ˆ Plot-First Philosophy Designed for iterative use and real-time visualization of refinement progress.

  • πŸ§ͺ Educational & Extensible Ideal for students, researchers, and anyone tired of monolithic XRD software that hides what it’s doing under 12 toolbars and a splash screen.


πŸ“š Start Here


πŸ‘€ Who’s This For?

  • Researchers modeling polycrystalline materials
  • Students learning how refinement methods work
  • Developers building tooling for structural analysis
  • Anyone who has ever rage-quit GSAS-II

🚧 Under Active Development

PowerXRD is actively evolving. Current limitations include:

  • Only supports cubic structures
  • No GUI (yet)
  • No multiphase or multipattern support

Pull requests, ideas, and unsolicited enthusiasm are welcome.