You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A factual capability comparison of the three mature refinement packages, and an
honest assessment of where this browser-native workbench currently stands
against them. Cells are Yes / Partial / No with a short qualifier; unclear
means it could not be confirmed from primary documentation.
Sources: Toby & Von Dreele 2013 J. Appl. Cryst. 46, 544 (GSAS-II); GSAS-II
docs (gsas-ii.readthedocs.io) & k-SUBGROUPSMAG paper (PMC11457102);
Jana2020 (jana.fzu.cz), Petříček et al. 2023 Z. Kristallogr. & "Analysis of
magnetic structures in JANA2020" (PMC11457105); Rodríguez-Carvajal 1993
Physica B 192, 55 (FullProf), ILL FullProf pages & "Magnetic structure
determination and refinement using FullProf" 2025 (PMC12147938).
1. Capability matrix
Data types
Feature
GSAS-II
Jana2020
FullProf
X-ray powder
Yes
Yes
Yes
CW neutron
Yes
Yes
Yes (core)
TOF neutron
Yes (full profiles)
Yes (imports)
Yes (profiles)
Single crystal
Yes
Yes (strong)
Yes (neutron focus)
Electron diffraction
No/unclear
Yes (dynamical, unique)
No
Total scattering / PDF
Yes (built-in)
No
No
Profile & corrections
Feature
GSAS-II
Jana2020
FullProf
Gaussian / Lorentzian / pseudo-Voigt
Yes
Yes
Yes
Thompson-Cox-Hastings pV
Yes
Partial (equivalent)
Yes
TOF profiles (α/β + σ)
Yes
Yes
Yes
Background (Chebyshev / Fourier / manual)
Yes (all)
Yes (poly + manual)
Yes (poly + Fourier + interp)
Absorption / extinction
Yes / Yes
Yes / Yes
Yes / Yes
Preferred orientation (March-Dollase)
Yes
Yes
Yes (multi-axial)
Preferred orientation (spherical harmonics)
Yes
Yes
Yes
Symmetry
Feature
GSAS-II
Jana2020
FullProf
All 230 space groups
Yes
Yes
Yes
Magnetic (Shubnikov/BNS)
Yes (1421 BNS)
Yes (1651, BNS+OG)
Yes (BNS/OG/UNI)
Superspace (3+d) incommensurate
Partial (3+1 nuclear)
Yes (reference impl.)
Yes (via k-vectors)
Wyckoff / absences / symmetry constraints
Yes
Yes
Yes
Refinement engine
Feature
GSAS-II
Jana2020
FullProf
Least-squares
Full-Hessian LM (+SVD)
Gauss-Newton LS
Marquardt LS
Rigid bodies / restraints
Yes / Yes
Yes / Yes
Yes / Yes
Multi-phase
Yes
Yes
Yes
Multi-histogram / joint
Yes
Yes
Yes
Sequential / parametric
Yes (signature)
Partial (cyclic)
Partial
Simulated annealing (solution)
Yes
via Superflip
Yes
Error / covariance
Yes
Yes
Yes
Intensity extraction & magnetism
Feature
GSAS-II
Jana2020
FullProf
Le Bail
Yes
Yes
Yes (profile matching)
Pawley
Yes
unclear
unclear
Representation analysis
via Bilbao/ISODISTORT
Yes (built-in)
Yes (BasIreps)
Commensurate k
Yes
Yes
Yes
Incommensurate k (helical/conical/SDW)
No
Yes
Yes
Magnetic form factors / mCIF
Yes / Yes
Yes / Yes
Yes / Yes
Practical
Feature
GSAS-II
Jana2020
FullProf
Scripting API
Yes (Python: GSASIIscriptable)
Partial (silent mode)
Partial (CrysFML/pyCrysFML)
Platforms
Win/Mac/Linux
Windows (Wine elsewhere)
Win/Mac/Linux
Web / browser
No
No
No
GUI
Full (wxPython)
Full (OpenGL)
WinPLOTR/EdPCR/Studio
2. Strengths & niche
GSAS-II — modern Python-native all-rounder; best at automated
multi-dataset Rietveld (sequential/parametric via a scripting API), combined
X-ray+neutron, and total scattering/PDF. Commensurate magnetism via Bilbao;
no incommensurate magnetic.
Jana2020 — the reference for aperiodic/(3+d) superspace, incommensurate
and composite structures, incommensurate magnetic superspace, and dynamical
electron-diffraction refinement.
FullProf — the community standard for magnetic structures from neutron
powder data: BasIreps representation analysis + k-vector formalism for
commensurate/incommensurate/helical/conical order, plus Shubnikov/mCIF.
None of the three has a browser build — that is the niche this project targets.
3. Where this workbench stands
This is an early browser-native workbench. It does not compete on breadth,
but it implements a correct, tested core of the shared fundamentals — and a few
workflows the mature tools split across several programs (magnetic candidate
generation + comparison; the symmetry-mode distortion workflow) as single
in-app flows.
LM esds + correlations; Bayesian posterior sampling (affine-invariant ensemble MCMC on the same problem seam — prototype, PDF-first; split-R̂/ESS/credible intervals; posterior-vs-esd ratio ≈ 1 validated on the Ni golden)
— (none of the three ships posterior sampling; their uncertainties are the least-squares covariance)
GSAS-II golden values + real-data benchmarks; PDFfit2/PDFgui and diffpy.mpdf goldens
decades of community validation
Platform / API
Static web app, no install; 33 MCP agent tools
desktop; Python scripting ecosystems
Honest gaps (the road to maturity): incommensurate / multi-k and
helical/conical magnetism; built-in representation analysis for the magnetic
workflow; spherical-harmonic texture; powder extinction and anomalous
dispersion; twinning and absolute structure (single crystal); rigid bodies and
a restraints library; Pawley extraction. These are laid out in
ROADMAP.md and LIMITATIONS.md.
4. Performance notes
The mature tools are compiled (Fortran/C cores; GSAS-II wraps C/Fortran under
NumPy/SciPy) with full-matrix solvers; their scaling story is automation and
multi-dataset throughput rather than single-fit speed, and none publishes
formal benchmarks. This app runs Levenberg-Marquardt in Web Workers in pure
TypeScript, with reflection-windowed evaluation, dependency caching, a
parallel-Jacobian worker pool (bit-identical to the serial driver), analytic
columns for a validated subset of parameters (on the PDF path a fused
single-pass ∂G/∂p kernel, measured 2.3× faster on the Ni golden), and opt-in
WebGPU f32 kernels for
the structure-factor sums — adequate for the pattern sizes shown here;
WebAssembly is deliberately skipped (see
ARCHITECTURE.md).