2
$\begingroup$

This is a follow-up question to my earlier question Stochastic cellular automata - algorithm limited by 1 cell per timestep. I am considering blending two approaches to a cellular automata model of how mold spreads in a petri dish.

A probability based approach

A quick review: I am trying to model the spread of mold in a petri dish. The petri dish can be thought of as a grid of 1mm x 1mm squares, each called a Cell. Each square has a value for the kind of food that is present there, and the probability $\rho$ of mold spreading into that Cell is based on some numerical value that can be derived from the food that is present.

We seed the dish by saying that a certain Cell has gotten some mold on it. We then iterate over a series of timesteps. Let's say each timestep is 1 minute. Within each timestep, we iterate over every Cell that has mold on it. And for every one of those Cells, we iterate over the neighbors of the Cell. Based on the fuel for each neighbor, we decide whether or not it is likely in that step for the mold to spread to that neighbor Cell.

For simplicity, we can imagine this problem in 1 dimension. We seed the top left Cell to be considered moldy, and it can only spread in the x direction. A visual would look like this:

enter image description here

The effective rate of spread (RoS) emerges from $\rho$. So if $\rho$ is 0.5, after 60 timesteps, we should have 30 moldy cells, creating a RoS of about 30mm/hr.

A Rate of spread based approach

For reasons explained in my prior question, I am switching to a RoS based approach. Rather than relying on $\rho$, I have data available based on the type of food in each cell which gives me the RoS directly. With that resource, I can switch to a priority-queue based model, which has been working well.

The complication - more influences

There are more factors than just food source which affect the rate of spread. Temperature is a good example. Some research has been done on the effect of temperature on $\rho$. Let's say, for example, there is a temperature coefficient that goes like:

$$ \phi_T(T) = a * \frac{1}{b*e^{-(T - 75)^{3}} + 0.5}$$

Where a and b are constants. (Google graph for the curious). And its effect on $\rho$ would look like:

$$ \rho_{with T}(\rho, \phi_T) = 1 - (1 - \rho) ^ {\phi_T} $$

(For the curious, here's a graph of $\rho_{with_T}$ as a function of $\rho$ for $\phi_T$ = 0.5 )

The relationship between $\rho$ and RoS is linear. The relationship between $\rho$ and $\rho_{with_T}$ is very nonlinear.

The question

Is it possible to say that the effect of T on RoS is the same as it is on $\rho$? For example, based on the above equation, can we say

$$ RoS_{with T}(RoS, \phi_T) = 1 - (1 - RoS) ^ {\phi_T} $$

Or is this an extrapolation that we cannot make? My instincts tell me we can make this assumption, but I can't think of why or why not.

Bonus question

If the answer to the above question is yes, does it still hold up when we expand the problem back to 2 dimensions?

$\endgroup$
7
  • $\begingroup$ Could you please check your equations? I think you may be missing some {} brackets which affect the exponents, as well as not having the closing $ near \phi_T=0.5. $\endgroup$
    – Richard
    Commented Dec 29, 2021 at 15:29
  • $\begingroup$ Can we assume $T$ is constant during a particular simulation? $\endgroup$
    – Richard
    Commented Dec 29, 2021 at 15:30
  • $\begingroup$ Good catch, thanks. I edited the formatting, hopefully that's clear now. Ultimately, no, $T$ will not be constant. For the purposes of this question (which is a highly modified version of what my program is doing), $T$ is a function of location in the petri dish. It is constant across all timesteps, but not in the $x y$ plane. $\endgroup$ Commented Dec 29, 2021 at 15:41
  • $\begingroup$ Thanks, @Seth. Does $T$ have a lower and upper bound? $\endgroup$
    – Richard
    Commented Dec 29, 2021 at 16:40
  • $\begingroup$ For the purposes of this question, it would be bounded between 0 and 100 $\endgroup$ Commented Dec 29, 2021 at 17:08

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.