A Simulated Model for the Azo-Benzene
We aimed to create a dynamic simulation of bacteria with Azobenzene molecules attached to their membranes. These molecules, once activated by an outside stimulus (usually a certain wavelength of photons) - will act as a sort of “Velcro” between the bacteria; they attach to other bacteria upon contact forming clusters.
The clusters of bacteria will thereafter act as one unit - a biofim.
With this model we opted for a "brute-force" simulation of particles in a fluid under the following terms:
The simulation “Playground” will be a discreet matrix of the dimentions x × y × z.
Each bacterium will occupy a 1 × 1 × 1 point in in space.
For every t=t+1 passage of time, each bacterium “tumbles” a random amount of steps in a random direction, we called this a "Tumble Vector"
Each bacterium can have either a “sticky” or “non-sticky” value corresponding to it. This is equivalent of assuming that all azobenzene molecules “switch on” at once in all directions.
Each sticky bacterium (i.e. with a “sticky” value) will “attach” to any “neighbor” (i.e. a bacterium with a location of 0, ± 1 in either direction), after which they will “tumble” together as one cluster, with their direction being determined by summing up all the bacteria's "Tumble Vectors" together.
Once a bacterium has a neighbor attached to it, they cannot separate and that neighbor's location is forever occupied by the same bacterium, it cannot be overridden.
A sticky bacterium on the edge of a cluster can stick to any neighboring bacterium. If said neighbor is already a part of a cluster we now have two clusters joining to form a "super-cluster" – which does not vary in definition from a normal cluster programming-wise.
The simulation was written using C++, using tumble and playground sizes values to simulate the world of actual bacteria. The results were then rendered in MATLAB:
We improved this simulation by adding options for these clusters to degrade, initially by giving the connections the ability to be torn apart, from simple stress, but later on, when the size of these clusters became clear from the model, we decided to add another degradation due to problematic structural integrity of the cell clusters.
*Graph of large Cell Cluster with structurally weak point/s highlighted*
We define a cluster as having a problematic structural integrity, if it is very large, and can be divided into two large enough parts which are held together by only a small number of cells. When formulating the condition for which we want to search over the graph of cells (defined as connected if they have an Azo-Benzene link between them), we obtain an algorithmic problem which (while we have not proven is NP-hard), we do not know how to solve (or how to polynomialy verify).
As a result, we had to try to create a probabilistic algorithm which would solve the problem of locating these weak points in the cluster (see [11]). When running this algorithm several times on the above cluster, we were capable of finding the weak points indicated in the following graph:
*Graph of weak points*
When combining these degradation effects with our original model, we got the following behavior:
*Results of new AB simulation*