Lagrangian vs. Eulerian Simulation
?
?

Keyboard Navigation

Global Keys

[, < / ], > Jump to previous / next episode
W, K, P / S, J, N Jump to previous / next marker
t / T Toggle theatre / SUPERtheatre mode
V Revert filter to original state Y Select link (requires manual Ctrl-c)

Menu toggling

q Quotes r References f Filter y Link c Credits

In-Menu Movement

a
w
s
d
h j k l


Quotes and References Menus

Enter Jump to timecode

Quotes, References and Credits Menus

o Open URL (in new tab)

Filter Menu

x, Space Toggle category and focus next
X, ShiftSpace Toggle category and focus previous
v Invert topics / media as per focus

Filter and Link Menus

z Toggle filter / linking mode

Credits Menu

Enter Open URL (in new tab)
0:14Recap
0:14Recap
0:14Recap
1:22Plan for today
1:22Plan for today
1:22Plan for today
2:48Adding acceleration and taking it into account to compute new positions
2:48Adding acceleration and taking it into account to compute new positions
2:48Adding acceleration and taking it into account to compute new positions
6:27Bouncing particles off the ground
6:27Bouncing particles off the ground
6:27Bouncing particles off the ground
9:56Modeling loss of energy
9:56Modeling loss of energy
9:56Modeling loss of energy
14:00We want our fountain to be more fountain-like
14:00We want our fountain to be more fountain-like
14:00We want our fountain to be more fountain-like
19:54Writing special-purpose code to achieve the desired behavior
19:54Writing special-purpose code to achieve the desired behavior
19:54Writing special-purpose code to achieve the desired behavior
29:30Considering the interactions among particles instead of simulating particles in isolation
29:30Considering the interactions among particles instead of simulating particles in isolation
29:30Considering the interactions among particles instead of simulating particles in isolation
30:41Two raw categories of physics simulations: Eulerian and Lagrangian methods
30:41Two raw categories of physics simulations: Eulerian and Lagrangian methods
30:41Two raw categories of physics simulations: Eulerian and Lagrangian methods
31:25Lagrangian: Simulation of the motion of particles through space
31:25Lagrangian: Simulation of the motion of particles through space
31:25Lagrangian: Simulation of the motion of particles through space
32:49Eulerian: Simulation of density and mean velocity of particles at specific locations in space
32:49Eulerian: Simulation of density and mean velocity of particles at specific locations in space
32:49Eulerian: Simulation of density and mean velocity of particles at specific locations in space
36:01Lagrangian methods are bad at handling density
36:01Lagrangian methods are bad at handling density
36:01Lagrangian methods are bad at handling density
36:40Eulerian methods don't keep track of the properties of individual particles
36:40Eulerian methods don't keep track of the properties of individual particles
36:40Eulerian methods don't keep track of the properties of individual particles
37:46We'll resort to a mixed Eulerian-Lagrangian method
37:46We'll resort to a mixed Eulerian-Lagrangian method
37:46We'll resort to a mixed Eulerian-Lagrangian method
38:45We could use the density gradient from an Eulerian representation to compute the horizontal push of particles in the Lagrangian representation
38:45We could use the density gradient from an Eulerian representation to compute the horizontal push of particles in the Lagrangian representation
38:45We could use the density gradient from an Eulerian representation to compute the horizontal push of particles in the Lagrangian representation
42:57Let's implement it
42:57Let's implement it
42:57Let's implement it
50:57Drawing the density field
50:57Drawing the density field
50:57Drawing the density field
1:00:03Dispersing particles taking into account cell density
1:00:03Dispersing particles taking into account cell density
1:00:03Dispersing particles taking into account cell density
1:03:25Discussion of possible improvements to the simulation
1:03:25Discussion of possible improvements to the simulation
1:03:25Discussion of possible improvements to the simulation
1:04:00Taking advantage of the density gradient to achieve better results
1:04:00Taking advantage of the density gradient to achieve better results
1:04:00Taking advantage of the density gradient to achieve better results
1:08:00We still don't use the mean velocity of particles inside each cell
1:08:00We still don't use the mean velocity of particles inside each cell
1:08:00We still don't use the mean velocity of particles inside each cell
1:08:53Q&A
🗩
1:08:53Q&A
🗩
1:08:53Q&A
🗩
1:09:18andsz_ I suppose adding some friction to dP.x might help
🗪
1:09:18andsz_ I suppose adding some friction to dP.x might help
🗪
1:09:18andsz_ I suppose adding some friction to dP.x might help
🗪
1:10:41braincruser Try reducing the size of the individual cells
🗪
1:10:41braincruser Try reducing the size of the individual cells
🗪
1:10:41braincruser Try reducing the size of the individual cells
🗪
1:13:23quikligames The back of the head would make a better particle than the side of the head
🗪
1:13:23quikligames The back of the head would make a better particle than the side of the head
🗪
1:13:23quikligames The back of the head would make a better particle than the side of the head
🗪
1:16:24pseudonym73 If you're going to alter the GridScale, you probably need to scale Dc by it too.
🗪
1:16:24pseudonym73 If you're going to alter the GridScale, you probably need to scale Dc by it too.
🗪
1:16:24pseudonym73 If you're going to alter the GridScale, you probably need to scale Dc by it too.
🗪
1:17:02ezioauditorerevs Did you ever add a way to tell the music to shut off or did you just disabled it?
🗪
1:17:02ezioauditorerevs Did you ever add a way to tell the music to shut off or did you just disabled it?
🗪
1:17:02ezioauditorerevs Did you ever add a way to tell the music to shut off or did you just disabled it?
🗪
1:17:22culver_fly What would happen if the particles were spawned between two cells? Would that cause an effect where everything would just not bounce off each other anymore?
🗪
1:17:22culver_fly What would happen if the particles were spawned between two cells? Would that cause an effect where everything would just not bounce off each other anymore?
🗪
1:17:22culver_fly What would happen if the particles were spawned between two cells? Would that cause an effect where everything would just not bounce off each other anymore?
🗪
1:17:54mr4thdimention On API design: You recently emphasized "Write the usage code first" and then the implementation later. While compression oriented programming is about writing code first and then compressing it, pulling code into functions where necessary, allowing the API to evolve out of that process. They seem like two contradictory methods. Are they? How do you decide when you're using one or the other?
🗪
1:17:54mr4thdimention On API design: You recently emphasized "Write the usage code first" and then the implementation later. While compression oriented programming is about writing code first and then compressing it, pulling code into functions where necessary, allowing the API to evolve out of that process. They seem like two contradictory methods. Are they? How do you decide when you're using one or the other?
🗪
1:17:54mr4thdimention On API design: You recently emphasized "Write the usage code first" and then the implementation later. While compression oriented programming is about writing code first and then compressing it, pulling code into functions where necessary, allowing the API to evolve out of that process. They seem like two contradictory methods. Are they? How do you decide when you're using one or the other?
🗪
1:22:58starchypancakes Would it be possible to split the fluid computation across two frames. Like use the first frame to accumulate velocity and momentum changes and the second one to resolve them?
🗪
1:22:58starchypancakes Would it be possible to split the fluid computation across two frames. Like use the first frame to accumulate velocity and momentum changes and the second one to resolve them?
🗪
1:22:58starchypancakes Would it be possible to split the fluid computation across two frames. Like use the first frame to accumulate velocity and momentum changes and the second one to resolve them?
🗪
1:23:42ezioauditorerevs Does the size of the grid relative to each particle matter much?
🗪
1:23:42ezioauditorerevs Does the size of the grid relative to each particle matter much?
🗪
1:23:42ezioauditorerevs Does the size of the grid relative to each particle matter much?
🗪
1:24:30culver_fly (Referring to Q at 01:17:22) Say you're deciding whether to bounce the particles off based on the density now, then if the particles were spawned between 2 cells, wouldn't the density be halved and not bounce off anymore?
🗪
1:24:30culver_fly (Referring to Q at 01:17:22) Say you're deciding whether to bounce the particles off based on the density now, then if the particles were spawned between 2 cells, wouldn't the density be halved and not bounce off anymore?
🗪
1:24:30culver_fly (Referring to Q at 01:17:22) Say you're deciding whether to bounce the particles off based on the density now, then if the particles were spawned between 2 cells, wouldn't the density be halved and not bounce off anymore?
🗪
1:26:22spaceghost2345 Would simulated annealing work for this issue?
🗪
1:26:22spaceghost2345 Would simulated annealing work for this issue?
🗪
1:26:22spaceghost2345 Would simulated annealing work for this issue?
🗪
1:26:36noxy_key Doesn't writing usage code first imply simplicity in API calls? Doesn't this box you in when trying to create persistent things on the stack? All complex initializations for persistent objects have to be done somewhere. If done on the stack, how do you persist complex data structs without using static?
🗪
1:26:36noxy_key Doesn't writing usage code first imply simplicity in API calls? Doesn't this box you in when trying to create persistent things on the stack? All complex initializations for persistent objects have to be done somewhere. If done on the stack, how do you persist complex data structs without using static?
🗪
1:26:36noxy_key Doesn't writing usage code first imply simplicity in API calls? Doesn't this box you in when trying to create persistent things on the stack? All complex initializations for persistent objects have to be done somewhere. If done on the stack, how do you persist complex data structs without using static?
🗪
1:27:46braincruser Current simulation is in pixel space?
🗪
1:27:46braincruser Current simulation is in pixel space?
🗪
1:27:46braincruser Current simulation is in pixel space?
🗪
1:27:56quatzequatel Are pre-rendered effects viable?
🗪
1:27:56quatzequatel Are pre-rendered effects viable?
🗪
1:27:56quatzequatel Are pre-rendered effects viable?
🗪