Program został napisany zgodnie z metodologią Model – View – Controller, dzięki czemu przebieg informacji w czasie jej wykonania jest dość przejrzysty.
W każdej iteracji przeglądana jest cała tablica lasu i wykonywane są następujące procedury dla każdej z komórek:
- Sprawdzenie typu komórki (zmiany stanu zachodzą jedynie dla drzew).
- Sprawdzanie, czy drzewo płonie, jeżeli nie, to:
- Sprawdzenie ilości płonących sąsiadów.
- Jeśli płonie ich wystarczająca ilość do zapłonu to jest sprawdzana wilgotność komórki. Wyznaczany jest współczynnik pomocy wiatru. Losowana jest liczbę zależna od wyliczonego współczynnika pomocy wiatru
- Jeżeli jest ona większa niż współczynnik przemnożony przez prawdopodobieństwo szczęścia komórka zapala się.
- W przeciwnym wypadku komórka jest jedynie wysuszana od płonących sąsiadów.
- Jeśli płonie ich wystarczająca ilość do zapłonu to jest sprawdzana wilgotność komórki. Wyznaczany jest współczynnik pomocy wiatru. Losowana jest liczbę zależna od wyliczonego współczynnika pomocy wiatru
- Sprawdzanie czy siła wiatru jest wystarczająco duża do przeniesienia ognia o więcej niż jedną komórkę.
- Jeżeli tak, to następuje sprawdzanie, czy w kierunku, z którego wieje wiatr, płonie komórka lasu i zgodnie z prawdopodobieństwem zależnym od siły wiatru komórka zostaje podpalona lub nie.
- Sprawdzenie ilości płonących sąsiadów.
- Jeżeli drzewo płonie, to jest wysuszane od płonących sąsiadów oraz od własnego ognia, spada jego gęstość.
- Wilgotność każdej komórki typu drzewo jest dostosowywana do średniej wilgotności otoczenia (może być na przykład nawadniana w obecności rzeki) oraz do wilgotności powietrza.
Tak zbudowana funkcja przejścia dość dobrze modeluje zachowanie się płonącego lasu, widać wyraźnie sposób rozprzestrzeniania się ognia. Jest on zbliżony do sposobu rozprzestrzeniania się rzeczywistych pożarów. W pełnym zrozumieniu może pomóc ten diagram:
- Dodatkowo:
- 4. Zasymulowanie przewracanie i odpadanie części płonącego drzewa, powoduje to przeniesienie pożaru.
- 5. Przenoszenie się ognia z warstwy wyższej do niższej, czyli jeśli płonie korona drzew to zapewne to co jest pod nia szybko się zapali.
- 6. Różne modele rozprzestrzeniania sie pożaru dla różnych typów drzew i pór roku.
- 7. Zbocza północne wolniej wysychąja, mniejsze nasłonecznienie.
- 8. Gęstszy las łatwiej się podpala ( większe prawdopodobieństwo zetknięcia się gałęzi) .
Wiatr jest zróżnicowany, zaimplementowany przy użyciu sinusoidalnego modelu falowania powietrza daje realistyczne podmuchy wiatru. Jest on również zależny od rzeźby terenu, czyli różnic wzniesień, które to są opisywane przez warstwę topograficzną w modelu. Wiatr wpływa na rozprzestrzenianie się ognia w sposób proporcjonalny do jego siły. Może powodować na przykład „przeskakiwanie ognia” przez korony drzew. Maksymalna siła, z którą może wiać w naszej symulacji to 7 w skali Beauforta. Rozkład jego siły widać na osobnej mapce w czasie działania symulacji.
Wilgotność powietrza jest ustalana przez użytkownika i jest to wartość do której nieliniowo dąży wilgotność każdej komórki. Natomiast w każdej komórce wilgotność zmienia się pod wpływem warunków otoczenia (np. sąsiadująca rzeka, zbliżające się czoło pożaru).
Ukształtowanie terenu wpływa na siłę wiatru, jest on silniejszy na zboczach zgodnych z kierunkiem wiatru i słabszy na zboczach przeciwnych. Dodatkowo wpływa na przenoszenie ognia ( staczanie sie ognia z góry oraz szybsze jego przemieszczanie pod górę).