Skip to content

Latest commit

 

History

History
291 lines (268 loc) · 12.7 KB

File metadata and controls

291 lines (268 loc) · 12.7 KB
layout splash
title Packages & Tools
author_profile true
classes wide
header
overlay_image overlay_filter caption
/assets/images/josh-redd-u_RiRTA_TtY-unsplash.jpg
0.0
<style> /* Single Column Layout */ .software-container { display: flex; flex-direction: column; gap: 30px; /* Space between projects */ margin-top: 2rem; } .software-card { /* background: #fff; */ border: 1px solid #333; border-radius: 8px; padding: 25px; display: flex; /* Makes content side-by-side */ gap: 25px; align-items: flex-start; transition: transform 0.2s ease, box-shadow 0.2s ease; } .software-card:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(0,0,0,0.08); border-color: #4facfe; } /* Left Side: Text Content */ .software-content { flex: 1; /* Takes up remaining space */ } /* Right Side: Figure/Image */ .software-figure { flex: 0 0 300px; /* Fixed width of 300px for images */ height: 180px; /* Fixed height to keep it uniform */ background-color: #f5f7fa; /* Placeholder gray background */ border-radius: 6px; border: 1px solid #eee; overflow: hidden; display: flex; align-items: center; justify-content: center; } .software-figure img { width: 100%; height: 100%; object-fit: cover; /* Ensures image fills the box without stretching */ } /* Header & Title */ .software-header { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 12px; border-bottom: 1px solid #f0f0f0; padding-bottom: 10px; flex-wrap: wrap; gap: 10px; } .software-title { font-size: 1.3rem; font-weight: 700; color: #ffffff; } .software-link { font-size: 0.85rem; color: #4facfe; text-decoration: none; font-weight: 600; border: 1px solid #4facfe; padding: 4px 10px; border-radius: 4px; transition: all 0.2s; } .software-link:hover { background: #4facfe; color: #fff; } .software-description { font-size: 1rem; color: #b0b0b0; line-height: 1.6; margin-bottom: 15px; } .software-subtitle { color: #4facfe; font-size: 0.9rem; line-height: 1.45; margin: -4px 0 12px 0; } .case-list { margin: 0 0 16px 0; padding: 0; list-style: none; } .case-list li { color: #b0b0b0; font-size: 0.92rem; line-height: 1.5; margin-bottom: 0.45rem; } .case-list strong { color: #ffffff; margin-right: 4px; } /* Tag Styling */ .software-tags { display: flex; gap: 8px; flex-wrap: wrap; margin-top: auto; /* Pushes tags to bottom if needed */ } .tag { font-size: 0.75rem; background: #222; color: #888; padding: 4px 10px; border-radius: 4px; border: 1px solid #444; } /* Mobile Responsive: Stack them vertically on small screens */ @media (max-width: 768px) { .software-card { flex-direction: column-reverse; } /* Image on top */ .software-figure { flex: none; width: 100%; height: 200px; } } </style>

Browser-first research tools for crystal & magnetic structure refinement, RMC analysis, neutron diffuse scattering, and phonon dynamics. These projects emphasize local data privacy, interactive visualization, and deployable workflows that can run directly from GitHub Pages when the science allows it.

MATERIA Workbench

Crystal and magnetic structure refinement that runs entirely in the browser.

A public-beta workbench for powder, single-crystal, and pair-distribution-function refinement with X-ray or neutron data, on one engine.

  • Problem: Refinement means choosing among several specialist packages, each with its own formats and conventions — a steep start before a first fit.
  • Approach: A tested TypeScript core (1,300+ tests), validated against GSAS-II, behind a guided workflow from data import to refined nuclear and magnetic structures.
  • Value: Nothing to install and data stays local. Fits report correlations and uncertainties, not just an agreement factor, and the same core is available to LLM agents through MCP.
TypeScriptRietveldSingle CrystalPDFMagnetic StructuresMCP Agent Tools
MATERIA Workbench — a converged two-phase Mn3Ga + MnO time-of-flight Rietveld refinement with observed/calculated/difference curves and the symmetry-allowed parameter table
NEBULA3D

Neutron Elastic Background Utilities for Local Analysis & 3D-delta PDF.

A Python toolkit and browser app that cleans 3D neutron diffuse-scattering data and computes 3D-ΔPDF maps.

  • Problem: Weak diffuse signal is often buried under powder rings, Bragg peaks, and background before any 3D-ΔPDF interpretation can begin.
  • Approach: One reproducible pipeline for background removal, peak masking, and the ΔPDF transform, with visual checks at each step.
  • Value: Runs natively at full resolution or in the browser via Pyodide, so every cleanup decision is inspectable and repeatable.
PythonPyodideNeutron ScatteringDiffuse Scattering3D-ΔPDF
[3D Diffuse Viewer]
RMCProfile Workbench

A no-install browser dashboard for RMCProfile: open a local run folder to review fits, structures, and atomic displacements without uploading data.

  • Problem: Judging an RMC refinement means reading plots, logs, structures, and fit metrics that live in separate files and tools.
  • Approach: Reads a run folder in place and brings fits, density maps, displacement analysis, and 3D structures into one view.
  • Value: Live monitoring while a run writes, figure export, and an optional AI assistant that helps interpret the fit.
ReactRMCProfileWebGPUThree.jsAI AssistantLive Monitoring
RMCProfile Workbench — the Displacement Directions view of a GaTa4Se8 RMC run: displacements for a Ta site binned in solid angle on a hex-tiled sphere, with fixed a/b/c axis views alongside and the site ellipsoids in the folded unit cell
RMC Phonon Dynamics

A browser app that computes phonon band structures, animated modes, simulated neutron spectra, and DOS from RMCProfile ensembles.

  • Problem: RMC models capture measured local disorder, but turning them into lattice dynamics usually takes separate scripts and a computing backend.
  • Approach: Extracts phonons directly from the ensemble and runs the heavy linear algebra on the user's GPU — a ~100× speedup from WebGPU.
  • Value: Interactive dispersion curves, mode animation, and simulated INS with phonopy-compatible export — no scientific stack to install.
ReactWebGPURMCProfilePhononsINS
[Phonon DOS Image]
Athanor — Agentic AI for Materials (exploratory) GitHub

An early, exploratory prototype — a research direction I am actively learning in, not a finished tool.

A closed-loop experiment: an LLM agent proposes candidate materials, screens them with physics-based models, and iterates on the results — on local models by default.

  • Question: Can an LLM agent using real domain tools help decide which materials to try next — measurably, not anecdotally?
  • Approach: A proposer and an independent critic drive deterministic tools (CHGNet relaxation, convex-hull stability, band-gap models), with every candidate logged.
  • Honest status: An early prototype. Results are compared against non-LLM baselines and should be treated as exploratory.
PythonLLM AgentsOllamaCHGNetMaterials Project
[Discovery Loop]