Halp! Trying to simulate an accretion disk.

I’m trying to build an accretion disk with particles and forces. My first setup consists on a negative force and a vortex in the center.

When I push the particles with a collider, they lose their momentum after a short time. What is causing this?

Also, probably you have a better idea of how to do this. I need each particle orbiting the center, not spining around a vortex (not like a tornado). Is there a way for each particle to have an initial velocity relative to that particle?

Here’s the .blend (3MB)
disk.blend (2.98 MB)

Cheers!

EDIT: Update in comments below!

If you’re just trying to do a galaxie may be this tutorial can give you an idea!

Not really, but thanks!

Did you make whats in the Viemo video? So dope

UPDATE: I got it!

I started the simulation from planes aligned in a radius of the disk. There’s only a negative force in the center.

I needed several planes with lesser emission force as they get further from the center, imitating orbital mechanics (eyeballing, sorry Kepler). Here’s how it looks a few seconds in:


I let it play until each disk section has completed one orbit, then I cut the particles emission of that section around that frame. After a while I have a full disk to play with it.


I made the disk a lot thinner, and made a cilinder for the collider so particles always stay in it. Then I recorded myself moving the collider around while playing back the simulation, so it would look like a cursor.

The collider settings Permeability 1 and Damping .01 are important for the feeling I wanted, a less destructive interaction. On the first test I animated the particle damping so it would “disable” collision and look like clicking / hovering. Later it didn’t seem necessary.


I tried with smoke simulation, but besides not being possible to interact with it in real time (duh), it would flow away slowly, even with Temp Diff 0, no gravity etc. It looked great though!

Then I made a couple of tests for the aesthetics, with billboarded textures or flat squares. Here’s the result: