Small recap: the idea was to have particles that vibrated (expand/contract) between size 1 -> 10

When they expand they push other particles away, and when they contract they pull other particles towards them. (Attraction-Repulsion Forces)

The simulation would begin with a random distribution and the idea was that particles with the same timing would align, form groups and a Voronoi-Pattern would self-emerge.

The idea is similar to the

Kuramoto Model, think of metronomes placed on a rolling plate that start synchronise:

*“A mathematical model used in describing synchronization. More specifically, it is a model for the behavior of a large set of coupled oscillators.”*

The difference with my model was that in the Kuramoto model particles adjust their period to each other, while mine __they keep their fixed period__*.

————

The first results didn’t produce the desired result. Particles would contract into Voronoi-cells but each time they expanded, and contracted-back different new groups were formed. So the Voronoi-patterns weren't stable.

To solve this we added two extra features:

__1. Groups__

The first feature made it possible to multiple groups of particles of which we can adjust: size, vibration rhythm and give each group a percentage of the total amount of particles.

a) Large group (72%) of small Blue particles ; b) Small group (20%) of large White particles; c) Small group (8%) in-between sized Red particles.

__Why multiple sized groups?__

In the beginning Space is a dense medium wherein oscillations emerge randomly.

The first wave has all the freedom and can cover wider areas.

Second waves are limited by the pressure caused the first wave and covers smaller areas.

__2. Random__

The second feature was to have the option to have all particles vibrate randomly or in synchrony.

————————————

These two new features lead to two discoveries:

__1. Buffers__

We used groups of particles with different sizes of particles:

• Small Blue ones: vibrating-size between 2 - 3 (72%)

• Larger White ones, vibrating-size 3 - 7 (20%)

Because of

Granular Convection the larger particles are pushed outside the group of small particles ...

… and form a Buffer between the cells:

These buffers prevent the smaller particles to contract each time into different cells, as a result we get __stable cells__.

———

__2. Balancing vs ____Colliding ____Cells__

In the simulation above with the buffers, the Blue-particles vibrate __Random__ between 2 - 3

As a result one half the Blue-particles are expanding, while the others are contracting, and we get two vibration rhythms and a fluctuation between the two.

Both halfs of the group of Blue-particles keep each other in **balance**:

One is contracting vs the other is expanding.

The problem with this balancing-act is that it flattens out the pressure in the simulation. Everything wobbles and there’s no pressure generated in the edges, which is needed for my concept of a Dynamic Foam:

were there are pressure-currents in the edges that are cut-off when angles are < 90°:

and circuits are formed.

It made us realise that we needed to get the cells moving in sync and have them collide simultaneously, so we have each time a pressure peak in the edges, and pressure has to spread out through the edges, perpendicular to the cells.

And this is exactly what happens when we __Turn-off Random__, see how the cells now **collide**:

There’s a tipping point above 1200 particles in this example, where the pressure is so high in the edges that we get 'crawler-errors', where the program 'mitigates' the overlapping particles.

It shows that pressure has to go somewhere (sideways through the edges).

———

__Conclusion:__

We can get stable Voronoi-patterns, but the idea of __keeping their fixed period__ is wrong for my project, particles should sync like the metronomes in the Kuramoto-model.

Two differences between the Kumamoto model are the second group of larger Buffer-particles that stabilise the cells and the Attraction-Repulsion Forces.

When turning Random Off we get pressurised edges thanks to the colliding Voronoi-cells vs when Random is turned On, then the cells balance each other out.

The problem moving forward for this project are those ‘crawler-errors’ that don’t distribute the pressure correctly through the edges, so

we'll need to shift back to a mesh approach or a shader ...

To be continued.