Releases: thomast8/Memristor-Models
Releases · thomast8/Memristor-Models
Modern TypeScript Web App
Complete ground-up rewrite of the memristor simulator as a pure client-side React + TypeScript web application, replacing the original Python/matplotlib/tkinter stack.
What's New
In-Browser Simulation Engine
- Adaptive Dormand-Prince (RK45) ODE solver running entirely in the browser — simulations complete in <5ms, no Python backend required
- Yakopcic generalised model (11 parameters) and HP Labs ion-drift model (4 parameters) faithfully ported from the original Python
- All 6 experiment presets preserved with exact parameter values (HP sine/pulsed, Oblea sine/pulsed, Miao, Jo)
Interactive Web Frontend
- Real-time parameter sliders with instant plot updates on every change
- Plotly.js dual-axis time series plot (current + voltage) and I-V hysteresis curve with direction arrows
- Automatic SI-prefix scaling (nA, uA, mA) for current and time axes
- Model selector, experiment preset cards, signal type toggle (sine/triangle)
- HP Labs window function controls (Joglekar, Biolek, Anusudha)
- Dark theme, responsive layout, SVG/PNG export from plots
Educational Content
- LaTeX equations rendered with KaTeX for both models
- Physical descriptions of every parameter extracted from the original PhD docstrings
- "What is a memristor?" introduction with Chua's 1971 definition and references
Tech Stack
React, TypeScript, Vite, Plotly.js, Zustand, KaTeX, Tailwind CSS
Quick Start
cd memristor-sim
npm install
npm run devv1.1: fit_interactive.py
- direct input of fitting parameters
- save and load models and fittings to file