NHacker Next
  • new
  • past
  • show
  • ask
  • show
  • jobs
  • submit
Show HN: 2D Coulomb Gas Simulator (simonhalvdansson.github.io)
gus_massa 24 hours ago [-]
Note 1: I had to go to the middle and reduce the number of particles to 1000 to be able to run it in my phone.

Note 2: In this case, 2D means that the force is proportional to distance^-1 instead of the usual distance^-2. It's not a 3D word projected into a plane, it's a real 2D word that lives inside a plane. It would be nice to have an option to switch and compare. I have no intuition about the difference.

Note 3: Somewhere in the middle, it's possible to switch the external potencial from z^2 to z^4 to z^20, where z is the distance from the center.

z^2 "Ginibre" is a nice round surface, like a wok. Electrons get evenly distributed.

z^20 "Mittag-Leffler lambda=10" is flat in the center and then goes up quickly, like a saucepan. Electrons escape from each other, a few of them remain in the center but most get squashed against the circular wall.

z^4 "Mittag-Leffler lambda=2" Something in between

swesnow 14 hours ago [-]
1: Sorry about that, the default 20,000 is to make it look nice on computers but I should probably drop it a bit for phones, that's reasonable. 2: Yeah this part is important and cool and not entirely obvious until you solve the differential equation. I did a 3D simulation of a somewhat related situation (Thompson problem) once. But it would be very interesting to figure out if there is a 3D potential function that gives uniform density in the same way as the Ginibri (Q(z) = |z|^2) potential. Good idea for future work :) 3: Make sure you try the lemniscate potentials as well which are not rotationally symmetric. I want to try adding even more potentials in the future but these two families are those which has been subject to the most research.

Thanks for playing around with the tool!

gus_massa 11 hours ago [-]
I got better results with N=100, and the time and frames bars at the top in the middle. It reach the equilibrium in ~5 seconds, so it's easy to test and compare the different potentials. #ResearchInTheTikTokEra :)

With z^20, the problem is that when you change the number of particles, the ones are distributed randomly and the ones near the corners have a huge gradient and probably overflow and the inifinites/nans are viral and kill all the other particles. The trick is to switch to z^2, change N wait a moment and then change to z^20. Perhaps you can clip some values or try some trick like in stiff equations.

In 3D, I expected a z^2 potencial with a 1/z^2 force to generate an uniform distribution, for something something Gauss. (It's just bad hand-waving, I didn't have anything close to a proof.) It's interesting that it is so easy.

bizzyskillet 1 days ago [-]
Awesome! Beautiful work. Mesmerizing, even
swesnow 13 hours ago [-]
Thanks I agree it is mesmerizing!
zeitgeistcowboy 1 days ago [-]
Warning: if you increase the steps per frame it will break your phone. At least with my iPhone and Safari it stalls the entire phone.
xattt 1 days ago [-]
Yes, the web page persists through reboots.

You have to painfully force quit Safari by going through the motions of the gestures, wait for the phone to respond, and then quit Safari from the card task switcher.

swesnow 13 hours ago [-]
True, you'd think Safari wouldn't let websites go so crazy with WebGPU :)
klysm 1 days ago [-]
Quick submit a level 10 CVE DOS vuln!
Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact
Rendered at 22:49:41 GMT+0000 (Coordinated Universal Time) with Vercel.