Skip to content

Releases: thomast8/Memristor-Models

Modern TypeScript Web App

19 Feb 11:53
3b8c61a

Choose a tag to compare

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 dev

v1.1: fit_interactive.py

22 Jul 10:04

Choose a tag to compare

  • direct input of fitting parameters
  • save and load models and fittings to file

v1.0

18 Jun 10:56

Choose a tag to compare

- Changed simulate.py parameters

- Cleanup
- Bug fixes
- Readme