

Bij scheikunde kijkt men vaak naar veranderingen van chemische stoffen. Bij het mixen van meerdere stofjes kunnen deze reageren. Denk hierbij bijvoorbeeld aan het mengen van een zuur en een base. Of het mengen van een reductor en oxidator (redox reacties). Vaak is het zo dat stofjes snel reageren, en dan in een evenwichtstoestand komen (equilibrium). Ze zijn dan uitgereageerd. Echter zijn er ook proefjes te vinden waarbij er geen equilibrium bereikt wordt.
De Belousov-Zhabotinsky reactie is een voorbeeld van zo'n niet-equilibrium reactie. Hierbij reageren er (in dit voorbeeld) 3 verschillende componenten met elkaar, zodat ze in een cyclus van reacties komen. De hele reactie oscilleert dus van A, naar B, naar C en weer terug naar A! Hieronder is een filmpje van een scheikundige youtuber NileRed waarin hij zo'n reactie mooi demonstreert.
In dit geval zijn de vergelijkingen in de vorm van:
A + B -> 2A met een snelheid alpha (α)
B + C -> 2B met een snelheid beta (β)
C + A -> 2C met een snelheid gamma (γ)
Om dit te simuleren moet ik de concentraties bijhouden van deze stofjes. Ik bereken in elke tijdstap de gemiddelde concentratie van alle drie de stofjes op elke pixel door zijn buren in een omliggende 3x3 regio te sommeren en te wegen. Die gemeten lokale concentratie gebruik ik om de concentratie in de volgende tijdstap te bepalen. Dit doe ik voor alledrie de concentraties van A, B en C. En dat dan keer op keer achter elkaar om deze mooie animatie te krijgen.
Hieronder heb ik in mijn playground een simulatie lopen waarin je de reactiesnelheden alpha, beta en gamma, kunt aanpassen. Pas je een reactiesnelheid aan naar een getal onder de 1, dan dooft de reactie snel uit. Zet je 1 reactiesnelheid op een getal boven de 1, dan zal die specifieke reactie sneller verlopen. Voel je vrij om te experimenteren en leuke patronen te maken.