0:11

Finally I will introduce you to real example that is an application of this

Â simulation to investigate as our link to volcano eruption.

Â So when people think about volcano eruption and

Â as of, usually they think about lava and magma,

Â lava flowing but is not the most dangerous problem

Â from human being because lava flows are really slow.

Â There are lots of more dangerous phenomena and

Â one of them being ballistic, that is to say huge chucks of magma or

Â rocks that were inside the conduit of the volcano that fragments and

Â is ejected with characteristic parabolic curve.

Â And those chunk of magma are most of the time small, but

Â they can be big or really big.

Â For example, here you can see a night

Â picture of an eruption at the north of Sicily.

Â And you can see the lava flowing on the side of the vent of the volcano.

Â But you also see that kind of plume made of

Â 1:39

particles of a chunk of magma that are glowing red and yellow.

Â And you can see that they follow trajectory really close to parabolas.

Â You have kind of a bundle of parabola together getting out of the volcano.

Â In this eruption that is pictured here you can see that the bombs,

Â we call usually bombs these ballistic particle, but

Â the bombs are not going very far away from the volcano.

Â But in fact, they can, they can land several hundred meters far away.

Â For example, that is a field on the side of a volcano in Hawaii, and

Â you can see that you have particle of different size that were

Â 2:34

Here for example you can see two huge example of volcano ballistic or

Â volcano bombs that landed, that's another volcano in Sicily, it's the volcano.

Â And you can see that this bomb can be pretty big in size.

Â Here you can see in the right picture the [INAUDIBLE]

Â who was the main researcher.

Â She did her PhD on the subject.

Â And this bomb are not only huge and really heavy,

Â they can weigh several towns, but also they are really hot and

Â yeah they can be more than 700 degrees.

Â So if they fall in houses they will probably destroy the roofs and

Â start fire everywhere.

Â So trying to predict what are the zone around the volcano

Â where this bomb can land is important step in order to

Â predict all the results that can affect people living around volcanoes.

Â If we assume that bombs are sphere and

Â we neglect the friction with the air, we neglect the direct force.

Â 3:56

We can really easily describe the motion of bomb by giving

Â it's position a velocity, a radius, and a mass.

Â And the bomb will follow a simple, uniformly accelerated motion.

Â Again, that's clearly pre-college physics that allow us

Â to predict the location of the bomb at each timestamp in the future or

Â since it's a parabola even in the past.

Â 4:27

And we can also use this really simple motion equation

Â to detect when the bomb will land on the ground,

Â when the bomb will deposit is simply when.

Â For example, if we consider volcanic islands, where the only terrain,

Â the most significant terrain is the volcano cone itself.

Â So, we can consider that the rest of the island is close to the sea level, zero.

Â So, when the altitude of the bomb reaches zero we can

Â say that at that time it will deposit.

Â But, we could also try to use this approach to detect the collisions

Â between bombs because some scientists have published data where

Â a trajectory of the bomb are deflected during their airborne time.

Â And so it can arise from collisions between bombs.

Â So in our research,

Â we wanted to investigate how these collision are able to spread and

Â how much they are able to spread the location of a bomb in the ground.

Â Where the bomb will impact due to collision.

Â And it's quite easy to detect them because again, it's a simple parabola, so

Â we could use the following condition to detect collision.

Â So first simply the distance square between two bombs at a given time

Â is the subtraction of the position vectors, and

Â then we multiply it by itself to get the square of the num.

Â And if this number is equal to the sum of the radius of

Â both bombs square, it means if the bomb barley touch they are in collision.

Â So we could also solve this new quadratic equation

Â to try to find the point in the time where the bomb will collide.

Â Of course a quadratic equation, so it can have zero solution,

Â means that the bomb will not collide, just one, or even two.

Â Because the two prabolas can cross in two points.

Â 6:42

Again, here if we take into account

Â all the possible collision there's no way to have an analytic solution.

Â And we could have a continuous time solution by moving every air

Â bomb by slight delta t, slight time step, and then check all

Â the possible collision by all pairs of particles to see if they are colliding.

Â Or perhaps using some more interesting data structure for

Â that to try to use up that you have seen in molecular dynamics.

Â 7:25

because the space is large, and the bomb, even big they are not so big.

Â So collision will be uncommon, most of the time,

Â the bombs will follow a simple parabola and deposit.

Â So here, discrete events simulation seems, really, a good candidate for that, and

Â that's how we used to model that kind of problem.

Â Again, the states is really easy.

Â For each bomb we keep it's velocity, it's position, the radius and the mass.

Â If we go in time we simply follow the parabola given by the equation to find

Â it's new position.

Â And then we keep two lists, first a list with all the airborne particles,

Â that is to say the particle resting in air and that will be deposited later.

Â And we keep a list with all the bombs that are already deposited because

Â that's what we are interested in too.

Â At the end of the simulation we want to have a map and

Â to understand where the bomb would be deposited.

Â In that case, we want to compare what is the role of the collisions.

Â 8:36

We can generate one or more bombs.

Â So we associate every eruption event with a distribution.

Â There are lots of volcano with, when they erupt in fact they have

Â several bursts which can be really close in time and they will,

Â I don't know, during one minute have a hundred of such burst and

Â every burst they are, bombs which are ejected.

Â 9:03

So every one of these bursts, in that case, will be an eruption event.

Â So, eruption can create one or more bomb.

Â It is associated to a statistical distribution that will allow us to

Â draw a new bomb according to empirical observation of ejection of bombs.

Â And this distribution will allow us to draw the size of the bombs,

Â its mass and density, the initial velocity and so on.

Â But the two other event that we're interested in is collision first.

Â Collision between two bombs, between b1 and b2.

Â So this event means a time(t).

Â b1 will collide with b2.

Â The last event is ground, it means at time t, the bomb b1 will hit the ground.

Â 9:57

It's interesting to see that each event is related to zero, one, or two bombs.

Â So eruption to zero bomb because it still don't exist when the event occurs,

Â that will exist right after.

Â Collision is related to two bombs, because and ground to one.

Â We will use that to clean the queue as far as we simulate the system.

Â 10:45

because then you know exactly where to find it.

Â And it's quite easy to debug, because every action will have an effect

Â which is perhaps not deterministic but is predictable on a part of the state.

Â So you can debug and

Â think about your action events separately and that make your queue code easier.

Â So using the same formalism that I've showed you with traffic simulation,

Â I will present you each event.

Â So first their eruption, so what we do when there's an eruption?

Â First of all, we make

Â each air bomb advance to the time of the event.

Â So, at the given time or the state,

Â we have a list of airborne particle and they all out of position and velocity.

Â So you can imagine that they are in air, they have a direction, etc.,

Â but they are frozen.

Â So, as soon as we have an event, we know that nothing did appear before,

Â nothing significant, so we can make all the particle jump to the next time.

Â So all the bombs will advance at the same time.

Â And then we could process the event.

Â So the first thing to do is this loop here.

Â 12:01

For any bomb, for each bomb in the list of air bomb, we jump to the time, we

Â make this bomb update its stated position to correspond to the time of the event.

Â Then we can generate the new bombs using the distribution, this bs variable.

Â And then for every bomb in bs, first of all we can compute is the position time

Â with the function, the position time, simply solving the quadratic equation.

Â And we insert in the queue a new event which is the bomb, b1,

Â will hit the ground at time td.

Â And then for every bomb already in the air,

Â we will try to compute the collision time between b1 and b2.

Â 12:47

So here perhaps they will never collide.

Â So perhaps that in fact tc will not be a number, so

Â in that case we have to ignore it.

Â And if there are two possible collision time because again we

Â are considering the intersection between two quadratic equations so

Â we can have two different solution in that case.

Â Simply you will take the next one in the order of time,

Â which is not in the past, but we will take it.

Â And we insert all of that.

Â So the idea is that first of all, for every new bomb,

Â we know exactly when it will fall to the ground and

Â then we will know when it will collide with other particles.

Â Of course, those are assumptions because the other

Â particles could collide before and then change all the trajectory, but

Â we consider that, for the given picture, that's what could happen in the future.

Â 13:49

kind of process for the other events.

Â So for a collision between bombs b1 and b2.

Â So first of all again, we have a loop to be sure that all the particles

Â reach this point in time, since we know that nothing was significant before.

Â And we can clean the queue.

Â It means that since the particle b1 and b2, the bomb of b1 and

Â b2 will collide, it means that they will change trajectory.

Â So all the events related to b1 or to

Â b2 in the future should be invalidated, because they will change trajectory and

Â thus we would have to recompute when after this trajectory change

Â when they will hit the ground and if they will collide with other bombs.

Â So in that case, if b1 and b2 they collide,

Â first of all we have to make the jump to the correct

Â moment to clean the queue as I told you.

Â And then we have to recompute everything about this particle because they will

Â change trajectory, so new deposition time.

Â And for each one of these particles we also have to, again,

Â compare them to all the airborne particles to find the next possible collision.

Â 15:07

It's the same thing for the ground events.

Â So when a particle hit the ground, we know that all the particle can jump in

Â time to that point because nothing was significant before.

Â And we can simply remove from the queue all the other event

Â particles because it hit the ground, so it won't move again.

Â 15:24

And finally, we update the air bomb list.

Â We remove the particle deposited from the air bomb and

Â add it to the list of deposited particles.

Â So events were pretty simple.

Â Here is an example of evolution.

Â So here we have three, four events represented by red circles.

Â The first one is at the vent of the volcano it did happen in

Â time before in the eruption.

Â So let's pretend that we are at this stage of evolution and when the eruption take

Â place, we have to compute possible collisions and ground deposition events.

Â Of course they cannot happen all of them.

Â But we can generate all of of them, put them in the queue,

Â simply the first one will be selected.

Â So here of course, they will collide before they hit the ground.

Â So we know that we can jump the simulation time up to this point and

Â it will change the trajectory, for example like that, and

Â we could compute a new ground, a new collision for these two particular.

Â 16:25

The other particle will fall far away from the island, so

Â we won't compute its ground.

Â But doing like that we can just have a speculative list of possible events and

Â since we jumped to the next one then we will ignore

Â all the other by cleaning up the queue every time a trajectory is modified.

Â 16:47

That's worked really well, so that's first the traces of the moving particles.

Â So at left you can see an example of eruption without collision and

Â at right exactly the same parameter but taking into account the collision.

Â And it's interesting to see how the bundle of parabola but

Â some of them seems more spread.

Â And if we try to analyze what happens with and without collisions.

Â So, without collisions the simulation

Â corresponding to the left image in the previous slides.

Â 17:30

Every impact here is represented by a green dot, and the simulation

Â with collision every impact is represented with a red or a blue dot.

Â Red dots are bombs which indeed collided and

Â blue are bomb that could have collided but they did not.

Â And what is interesting to see is that in fact most of the bombs are not affected

Â by collision but when they are there's a chance that the radius will increase.

Â That means that simple analysis of just the initial velocity of bombs and

Â their angle cannot explain us exactly what's the critical

Â radius where such is possible.

Â And collision could effect the results.

Â 18:24

If you're interested in that example, I recommend you to read this nice paper from

Â Tsunematsu et al., that was published recently in Computers Geosciences.

Â And finally I would like to thank

Â these two authors to the picture that I showed you in my introduction.

Â