This document describes the program SHAKE The document consists of three parts:
Technical Description

The purpose of this program is three fold:
First to show how difficult it is to simulate the reality
Secondly to "demonstrate" how "pebbles move in a bag"
Third to "demonstrate" the sand pile problem


Suppose you have a bag with pebbles: small ones and large ones. Now you start shaking the bag. What will happen. If you do that the small ones will move to the bottom and the large ones will move to the top.

But is really shaking required ? How do you prove that ? Can you prove that by doing a computer simulation ?

The problem is you cannot really prove the reality. The reality is. The only thing what you can do is to (try to) describe the reality as accurate as possible. This in turn means by doing experiments.

The program SHAKE is not a demonstration of the reality. It is more an image of what you possible could see under certain ideal conditions. It are a set of 18 fixed pictures. The problem is to draw those pictures is already very difficult.

What you see are a mixture (modified version) of two problems: How pebbles behave in a bag when you shake the bag. The sand pile problem.

In the demonstration two types of pebbles are used: small round flat ones and large round flat ones. The large ones are (almost) twice as heavy as the small ones (Or two small ones have a little bit more weight as one large one) By making the pebbles flat the demonstration becomes two dimensional (and the calculations much simpler)

In the bag first I drop one large pebble and there after only small pebbles. No shaking is done.

Now perform the program: SHAKE.EXE
From the Test Selection Display:
Select test 1

What you see in the program that the large pebble is lifted up and slowly moves to the top. No shaking is required.

The question of course is, is this demonstration an image of the reality?

If you study the "simulation" carefully, then sometimes, you can see that in the next picture many pebbles have moved.

The simulation depends on three concepts: Weight, pressure propagation and balance.

That means that when two pebbles are lying higher (their centre of mass is higher) as the large pebble, that then those two pebbles will move the large pebble upwards. Those two pebbles don't have two touch the large pebble. If they don't then all the pebbles in between will also move.

What the above implies is, that if you want to simulate how pebbles behave or how sand moves you have to take (in order to decide if there will be additional movement) the position (mass distribution) of all the pebbles into account. That is what makes those simulations terrible difficult.

The concept of additional movement is also demonstrated. For each new pebble dropped there are two pictures. The first picture shows the situation the first time when the new pebble touches any of the old pebbles. The second picture shows how the new pebbles induces additional movement and how the other pebbles move.

It is also interesting to study the voids between the pebbles. To calculate those voids three dimensional is also very difficult. That what makes (also) accurate computer simulations so difficult.

Perform the program again. SHAKE.EXE
From the Test Selection Display:
Select test 1

Return back to chapter CHAPTER7.TXT


The program uses the following standard feature:

When you select Esc you will terminate the program (Escape)

In order to simulate the different conditions the parameter selection display is used


From the Parameter Selection Display the following parameters can be changed:

	0 = Select test display

1 = Set standard parameters.

2 = Screen mode. Valid values are 7,8,9 and 12. Standard value = 12

3 = Wait time in second. Physical wait time between each simulation cycle. Standard value = 5


FOURSIDE this subroutine calculates the position of one point of a four side of which the length of the four sides is known and one corner is 90 degrees. In the picture below this is the position of point D i.e. Dx and Dy

				   c     .  .  
			  D          f      .
			     h    .         .
		       .       E            .
		      d     .               b
		     .   e                  .
		      .                     .

Known: a, b, c and d angle ABC is 90 degrees

alpha = angle DAB = alpha1 + alpha2 = angle DAE + angle EAB

Calculate Dx and Dy

AC = SQRT (a + b) h = d - e = c - f AC = e + f f = AC - e d - e = c - AC - e + 2*AC*e e = ( d - c + AC ) / 2*AC i.e. known h = SQRT (d - e) alpha 1 = arctan (b/a) alpha 2 = arctan (h/e) alpha = alpha1 + alpha2 Dx = d * cos (alpha) Dy = d * sin (alpha)