Settings

Theme

Brandon's Semiconductor Simulator

brandonli.net

191 points by dominikh a year ago · 31 comments

Reader

em3rgent0rdr a year ago

When spice simulation isn't deep enough... Very educational to show how circuit elements work "under the hood"...for example the LC example doesn't use an L element and a C element as building blocks, but rather it is the two metal plates in close contact which form the bulk of the circuit's capacitance and it is the loop of metal itself which form the inductance.

  • amelius a year ago

    I wonder how they simulate EM in only 2 dimensions.

    I also wonder why the simulator only allows to show E and D fields, and not H and B.

    • Steuard a year ago

      I don't pretend to know what this simulation is doing, but for the record, electromagnetism works just fine in 2D. You might be thinking "but magnetic fields are intimately tied to cross products, which only work in three dimensions." But you can set up the equations of electromagnetism just fine either using differential forms or bivector magnetism (https://arxiv.org/abs/2309.02548), and it works in any dimension you'd like. (The cross product version is really a narrow and sometimes misleading special case.)

      Possibly related: there are options to "View B" and "View H" in the scalar dropdown, not in the vector one. That may be closely related to the fact that in two dimensions, the magnetic field has just a single component. Whether you describe is as a 2-form or a bivector, the magnetic field is an antisymmetric rank-2 tensor: an antisymmetric matrix. In 3D, that means 3 independent components, and there's a one-to-one mapping to vectors (more or less). But in 2D, an antisymmetric matrix has just one independent component. (And in 4D, it's got six: this is precisely the relativistic electromagnetic field tensor, that in 3D splits into an electric part and a magnetic part. My paper has more details.)

      • stunningllama a year ago

        That's exactly right! In my simulation quantities like E and J are vectors with x and y components. In contrast B can be thought of as a vector (or bivector, technically) pointing in the z direction, but since it it only has one component it's simpler to just lump it in with the other scalars. (Aside: Having the simulation be in 2D brings in some interesting toplogical restrictions on circuits).

        - Brandon

      • amelius a year ago

        Thanks but I was thinking more about how fields drop off in 2D space versus 3D space. Simple electrostatic example: consider a 1D string of identical resistors. Voltage drops linearly as you go along this string. Now consider a 2D grid of resistors: voltage does not change linearly anymore if you move between two points (current will move in a more complicated spread-out pattern). So the dimensionality changes how fields behave.

        • Steuard a year ago

          Ah, I see what you're getting at. My instinct here is that (exactly as you've pointed out) fields like E and B will fall off like 1/r instead of 1/r^2, but that all of the qualitative behavior will be basically the same. So I wouldn't trust this simulation to predict the precise behavior of a real circuit (even one whose shape was basically planar), but I suspect that it will behave more or less right.

          Looking at the examples, it seems like you can make 1D and 2D strings/grids of resistors here in much the same way you would in a 3D model; you just can't make a 3D grid (or non-planar circuits). My general experience working with and teaching basic circuits is that it's rare that we consider current flow in a genuinely 3D medium: the vast majority of problem-solving examples approximate wires as simple 1D paths for charge to follow, and more careful treatments that talk about where charges accumulate to guide current flow around corners, etc. still almost always illustrate their points in 2D diagrams/examples.

          So my impression is that this simulation is likely to give a pretty solid qualitative sense of how these systems work, despite its 2D framing.

        • ajb a year ago

          That's true, but it's actually a property of the circuit. Any circuit that fits into a 2d space will work the same if simulated in 3d: voltage will still drop off linearly along a 1d resistor.

          This is because it's actually an emergent property already in 2d space.

          Consider a resistor shaped like a capital letter Z in 2d space, with ground at one end and 1V the other. (Assume also that the Z has a square aspect ratio). The potential along the bar in the middle will initially be equal, because all points on the bar are equidistant from our voltage sources (AKA charges) . But the potential will drop along the arms of the Z. So charge will move along the arms and accumulate at the corners, until there is also a voltage drop along the bar, and ohms law holds.

paulgerhardt a year ago

Fun. I am reminded of the long forgotten Zachtronics semiconductor game “KOHCTPYKTOP: Engineer of the People” [1]

[1] https://www.zachtronics.com/kohctpyktop-engineer-of-the-peop...

gfody a year ago

Sebastian Lague has been making one of these and youtubing it, the videos are great here's the latest one https://www.youtube.com/watch?v=HGkuRp5HfH8

  • gblargg a year ago

    Note that these are at very different levels of detail. Lague's is at the digital logic level, while Brandon's is some level around atoms/electrons.

petermcneeley a year ago

Amazing work feels very similar to Paul Falstad page https://www.falstad.com/emstatic/index.html.

This really needs a WebGPU port. Multigrid on a GPU is moderately easy.

  • 1d22a a year ago

    The similarity is likely not a coincidence!

    > (c) Brandon Li, 2025. Ported to Javascript with the help of Paul Falstad.

    • stunningllama a year ago

      Brandon here. I was very much inspired by Falstad's applets. I had him take a look at my simulation and he generously offered to make a JS port.

      • kragen a year ago

        It looks awesome, and I want to express my special appreciation that you used red and blue instead of red and green.

westurner a year ago

Which other simulators show electron charge density and heat dissipation?

Can this simulate this?:

"Synaptic and neural behaviours in a standard silicon transistor" (2025) https://www.nature.com/articles/s41586-025-08742-4 .. https://news.ycombinator.com/item?id=43506198

What about (graphene) superconductors though?

spicybright a year ago

The UI is rough but this is very impressive!

kragen a year ago

This looks exciting, but the images make it look like maybe it's two-dimensional?

showmexyz a year ago

So how accurate are the results?

bdbenton5255 a year ago

Very clean, educational and informative. Well done, from one Brandon to another!

gitroom a year ago

im super into stuff like this, takes me back to messing with circuit sims for hours

mhh__ a year ago

Really sexy

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection