Skip to content

Repository files navigation

BFO-MemLab logo

BFO-MemLab

A virtual laboratory for ferroelectric memristive synapses.

Explore bipolar resistive switching, interface-controlled vacancy dynamics, ferroelectric coupling, experimental I-V fitting, and synaptic plasticity in a Pt / La,Mn-doped BiFeO3 / FTO-like thin-film device.

Open the live laboratory · Run locally · Build for Windows · Model scope

Web deployment React TypeScript Tauri Windows License

BFO-MemLab Device Lab

Why BFO-MemLab

Real oxide memristors rarely behave like ideal textbook switches. Their measured response can be asymmetric, cycle-dependent, gradual, and strongly influenced by the two electrode interfaces.

BFO-MemLab turns those coupled ideas into an interactive research workspace:

  • Connect internal state to measured current. Follow vacancy accumulation, polarization, effective barriers, and transport on the same sweep.
  • Study both interfaces. Pt/BFO and BFO/FTO are treated as distinct, evolving contacts rather than a single lumped resistance.
  • Move from switching to synapses. Run potentiation, depression, and retention protocols using the same compact-device perspective.
  • Compare with experimental traces. Load a CSV, overlay the measured loop, and inspect linear, logarithmic, asymmetry, and loop-area errors.
  • Leave with usable figures. Export clean vector and raster plots alongside the underlying data and parameter set.

The result is a discussion tool for interpreting BFO-like devices, testing compact-model assumptions, and preparing thesis or presentation material.

Inside the laboratory

Workspace What it reveals
Device Lab Live Pt / BFO:La,Mn / FTO stack, applied field, polarization direction, vacancy state, and I-V response
I-V Sweep Multi-cycle bipolar sweeps, branch evolution, peak currents, asymmetry, and read conductance
Interface Barriers Qualitative Pt/BFO and BFO/FTO barrier modulation under the selected bias
Vacancy Dynamics Bounded Pt-side and FTO-side defect states carried through the complete sweep history
Synaptic Pulses Potentiation, depression, dynamic range, linearity, and retention estimates
Data Fitting Experimental CSV overlay, manual compact-model adjustment, and fit diagnostics
Export Studio Dark/light SVG figures, high-resolution PNG, simulation CSV, pulse CSV, and parameter JSON

Synaptic plasticity

The pulse workspace models gradual analog weight updates rather than abrupt binary switching. Potentiation and depression rates, amplitudes, timing, nonlinearity, read voltage, and retention relaxation remain adjustable.

Synaptic potentiation, depression, and retention

The default protocol exposes:

  • conductance versus pulse number;
  • normalized synaptic weight;
  • separate potentiation and depression branches;
  • compact linearity scores;
  • dynamic range and final depressed state;
  • logarithmic-time retention decay.

Experimental data fitting

Load a measured I-V trace directly from the browser or desktop app. BFO-MemLab recognizes common header pairs such as Voltage,Current, V,I, and lowercase variants, skips invalid rows, and limits input to 20,000 records.

Experimental I-V data fitting workspace

The fitting workspace reports:

Metric Interpretation
Linear RMSE Absolute current mismatch in amperes
Log RMSE Error across current decades with a stable low-current floor
Asymmetry difference Difference between positive/negative peak-current ratios
Loop-area difference Difference in integrated hysteresis-loop area

Manual controls expose the parameters most useful for compact comparison: vacancy mobility, Pt barrier, FTO barrier, trap depth, and visual current scale. The included synthetic dataset at public/sample-data/example-iv.csv provides an immediate working example.

Export Studio

Figures are rendered separately from the interface so controls, cards, and toolbars never leak into thesis graphics.

BFO-MemLab Export Studio

Available outputs:

  • 1400 × 900 dark and light SVG figures;
  • 2800 × 1800 high-resolution PNG;
  • full sweep-state CSV;
  • synaptic protocol CSV;
  • reproducible parameter JSON;
  • fitting metric JSON.

Scientific scope

BFO-MemLab is a compact phenomenological simulator. It is designed to make interface-controlled switching behavior visible and testable without presenting the result as an ab-initio device calculation.

Internal states

State Range Compact interpretation
xPt 0 … 1 Oxygen-vacancy/interface-defect state near Pt/BFO
xFto 0 … 1 Oxygen-vacancy/interface-defect state near BFO/FTO
pFe -1 … 1 Polarization-like internal state

Core relations

E = V / d

dx/dt = polarity · drift · |E|^m · window(x)
        - relaxation · (x - xeq)

Phi_eff = Phi_0 - alpha x - beta P - DeltaPhi

I_total = I_ohmic + I_Schottky + I_Poole-Frenkel + I_tunnel

The current model applies a stable series-resistance correction and clamps exponential arguments to prevent NaN, Infinity, and non-physical numerical runaway within the supported controls.

What the model can and cannot claim

Appropriate uses

  • exploring polarity-dependent interface switching;
  • discussing vacancy-assisted barrier modulation;
  • visualizing cycle-to-cycle memory;
  • comparing candidate compact parameter sets;
  • demonstrating gradual synaptic conductance updates;
  • preparing qualitative and semi-quantitative research figures.

Current limitations

  • barrier diagrams are qualitative compact-energy views;
  • fit parameters are not guaranteed to be unique microscopic quantities;
  • ferroelectric response is hysteretic but not a domain-resolved solver;
  • temperature and field dependence are intentionally simplified;
  • the model does not replace first-principles or finite-element simulation.

Quick start

Web development

Requirements: Node.js 22 or newer and npm.

git clone https://github.com/hasnain7abbas/BFO-MemLab.git
cd BFO-MemLab
npm install
npm run dev

Open http://localhost:5173.

Production web build

npm run lint
npm run test
npm run build
npm run preview

Desktop app

BFO-MemLab uses the same React interface inside a Tauri 2 desktop shell.

Windows requirements:

  • Rust stable toolchain;
  • Microsoft C++ Build Tools;
  • WebView2 Runtime;
  • Node.js 22 or newer.
npm install
npm run tauri:dev

Build native installers:

npm run tauri:build

Generated Windows artifacts are placed in:

src-tauri/target/release/bundle/msi/
src-tauri/target/release/bundle/nsis/

The desktop window defaults to 1440 × 900 and enforces a minimum working size of 1200 × 760.

Technology

Layer Technology
Interface React 19, TypeScript, Vite
State Zustand
Scientific plots Recharts
Motion Framer Motion
Desktop Tauri 2, Rust, WebView2
Testing Vitest
Deployment GitHub Pages and GitHub Actions

Project structure

src/
  components/          Advanced laboratory workspaces
  physics/             Sweep, transport, vacancy, synapse, CSV, and export logic
  state/               Central simulation state
  App.tsx              Main laboratory shell and navigation
  styles.css           Scientific dark-interface system

public/
  screenshots/         Real application screenshots
  sample-data/         Synthetic example I-V data
  logo*.svg            Project identity assets

src-tauri/
  src/                 Native desktop entry point
  icons/               Generated desktop and platform icons
  tauri.conf.json      Window and packaging configuration

.github/workflows/
  deploy-pages.yml     Static web deployment

Validation

The test suite covers the behavior that matters most to scientific reliability:

  • deterministic bipolar sweep construction;
  • SI electric-field conversion;
  • bounded vacancy and barrier states;
  • finite current output across the default sweep;
  • synaptic potentiation and depression bounds;
  • CSV column detection and rejection cases;
  • experimental comparison metrics;
  • standalone SVG figure generation.
npm run lint
npm run test
npm run build
npm run tauri:build

The current Windows build produces both .msi and NSIS .exe installers.

Deployment

The live web laboratory is published at:

https://hasnain7abbas.github.io/BFO-MemLab/

Pushes to main trigger deploy-pages.yml, which installs dependencies, builds the Vite application with the repository base path, and publishes dist/ through GitHub Pages.

Roadmap

  • bounded automatic parameter optimization;
  • batch comparison of repeated I-V cycles;
  • temperature-dependent transport studies;
  • paired-pulse facilitation protocols;
  • pulse protocol presets;
  • generated experimental reports.

License

MIT

About

A virtual laboratory for interface-controlled BFO memristors and ferroelectric synapses

Topics

Resources

Stars

6 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages