MTJ stands for magnetic tunnel junction. These devices are the most successful spintronic elements to date — manufactured by the billions for hard drive read heads, and now integrated into CMOS platforms in MRAM memory chips.
On this page, you'll find electrical models of MTJs ready to use in the circuit simulation tool LTspice. Whether you're running quick tests or building something bigger, these models are here to help.
The resistance of a magnetic tunnel junction (MTJ) depends on the relative orientation of the magnetizations in the free layer (m) and the fixed layer (p). But here’s the catch — those magnetizations are influenced by the current itself. So the MTJ isn’t just a resistor; it’s a dynamic, current-dependent device.
We showed that it performs just as well as macropin LLGS simulations in IEEE Magnetics Letters or arxiv.org/abs/2503.20813, and walked through how to derive the equivalent circuit in arxiv.org/abs/2503.20811. This page serves as a repository for those circuit models — ready to plug into your simulations.
Let us know if they work for you! And if you publish results using our models, please cite us as:
S. Louis, H. Bradley, A. Litvinenko and V. Tyberkevych, "A Physics-Based Circuit Model for Magnetic Tunnel Junctions," in IEEE Magnetics Letters, vol. 16, pp. 1-5, 2025, Art no. 4500305, doi: 10.1109/LMAG.2025.3577475
We're part of the Institute for Spintronics and Microwave Technology (ISMT) at Oakland University. The team that worked on translating magnetic tunnel junction (MTJ) dynamics into circuit models that can be simulated in LTspice and similar tools. Please email Steven Louis if you have any questions about the models on this website.
The contributors to this project are:
Vasyl Tyberkevych
Steven Louis (website)
Hannah Bradley
Artem Litvinenko
Below is a repository of our LTspice circuits, along with some brief instructions to help you get started.
If you don’t have LTspice yet, you can download it for free from the Analog Devices website. After installation, make sure LTspice automatically created the folder `Documents\LTspice` — that’s where your new parts will go.
You can also test that LTspice is working properly by downloading and running this file.
FMR frequency measurement with LTspice
First up, here’s the schematic we used to generate data for testing FMR frequency for a single field in the x direction. It’s a complete LTspice model — just download it, open it in LTspice, and it should run right out of the box.
An image of the schematic is on the right (or below).
In this schematic, you will see all the circuit elements, as well as our strategy for determining θ and φ from circuit voltages and currents. After the simulation finishes, go to View → SPICE Error Log to see the measured FMR frequency for the applied field. You can also use LTspice’s built-in tools to run a sweep over a range of frequencies — try a .step command to sweep the magnetic field in the x direction.
Not sure about the units? See the section below — it’s easy to get turned around when some of the community is using SI, the some is in CGS
STNO magnetization measurement
Next, we have the simulation of the STNO from our paper IEEE Magnetics Letters (or arxiv.org/abs/2503.20813 ).
See the top-level circuit below? Download it here:
STNO Top-Level Circuit .
When you first open the top-level circuit, you won’t see the yellow box that’s shown in the image below. That yellow box is actually a part — MTJ.sub — the full circuit we used for the FMR frequency tests, wrapped up neatly as a subcircuit with input and output pins.
To add that MTJ subcircuit, follow these steps:
1. Download the MTJ subcircuit file here:
MTJ.sub
Make sure to save it to your 'Documents\LTspice' folder.
2. Open the MTJ.sub file in LTspice.
3. Take a moment to read through the comments in the file — they explain the units, among other things.
4. Right-click on the blue line that starts with .SUBCKT MTJ and select "Create Symbol" from the menu.
5. Save the new symbol to the same LTspice folder.
6. Close all LTspice windows, then reopen the top-level circuit.
7. Press 'p' to insert a part, select your LTspice folder from the dropdown, and choose MTJ.
8. Update the part parameters to match the image below — basically, set theta_p = 85*pi/180, and phi_p = 190*pi/180.
9. Run the simulation, and see if your results for phi match the image below.
1T-MTJ measurement
The 1T–1MTJ cell consists of a single transistor in series with a magnetic tunnel junction (MTJ), forming a compact unit ideal for high-density memory arrays. In this setup, the wordline controls the write operation, while the bitline and source line supply the necessary bias voltages.
When current flows through the MTJ, it can reverse the magnetization of the free layer — this current-induced switching toggles the MTJ between its low- and high-resistance states. Here is an image of our 1T–1MTJ schematic.
You can download our LTspice schematic for the 1T–1MTJ cell.
Make sure to set the MTJ parameters to the following: alphaG = 0.05, Ba = 0.1, theta_0 = pi/2, phi_0 = 160*pi/180, theta_p = pi/2, phi_p = 15*pi/180, and the rest are default values.
After simulation with the schematic above, you should be able to generate the plots below.
Input Voltages:
MTJ Current:
Output (φ over time):
That's it for now - in the future, we will add more parts here. - SL, October 2025