Bee Pollination on Lavender Flowers
Do you have questions or comments about this model? Ask them here! (You'll first need to log in.)
WHAT IS IT?
This model simulates the dynamic interactions between a colony of honeybees and a field of lavender flowering plants, focusing on the process of pollination. It aims to demonstrate how bee foraging behaviour influences the reproductive success and population of lavender plants, and conversely how flower availability and characteristics (like nectar presence and gender) affect bee activity and survival. The model also incorporates the influence of ambient temperature, on bee foraging efficiency and population growth, providing insights into the delicate balance required for a healthy bee-flower ecosystem.
HOW IT WORKS
This model shows how bees (called agents) and lavender flowers (random spots on the ground) interact. A day in the model is set by the no-of-ticks-per-day slider. The default is 10 ticks to contribute for 1 day.
Agents move randomly in space. Bees collect nectar multiple times a day. The default ticks give enough time for nectar and pollen collection, multiple times a day. Patches are lavender flowers, which are gendered as female and male. Flowers regenerate new nectar a few times a day after bees collect it.
Bees collect nectar from flowers. They also pick pollen from male flowers. When bees collect nectar from female flowers, they drop the pollen everytime, fertilizing the female flowers. Fertilized female flowers drop seeds around them randomly. Once the bee has collected enough nectar, it moves to the hive to drop them.
The average lifespan of a bee and a lavender flower is 30 days. Both bees and flowers have a maximum of 100 energy in them. They lose energy by 1 per day. Once their energy reaches 0, they die. Every day, new bees hatch from the hive. The spawning ratio is 15% of the bee population, matching the real world scenario.
After a flower dies, if there is a seed dropped in its place a flower bloom from there. The blooming period is 7 days, simulating the real world timeline.
The ambient temperature also affects the ecosystem. When the temperature increases (above 18), bees are very active, and the hive produces new bees every day. When its moderate (more than 10) bee movements reduce and new bees take more days to leave the hive. As the temperature becomes lesser (<10) there is not bee activity and the hive is dormant.
HOW TO USE IT
Interface Controls:
Here's a description of the purpose of each slider you can find in the Interface tab
Sliders:
no-of-ticks-per-day
: Controls how many simulation steps (ticks) represent one conceptual "day" in the model. A higher number means more detailed daily actions.flower-spread
: Determines the initial density of lavender flowers when the model starts. A higher value means more flowers will initially appear across the landscape.nectar-ratio
: Influences the likelihood that an initially spawned flower will begin with nectar. Higher values mean more flowers start with nectar. Nectar ratio and flower-spread are used to create ratio of flowers with nectar during initial setup.per-flower-nectar
: Sets the maximum amount of nectar a single flower can hold when its nectar is fully regenerated.number-of-bees
: Sets the total number of bees created at the very start of the simulation.search-steps
: Defines how many steps a bee will move in a straight line before randomly changing its direction while searching for flowers.no-of-seeds-to-drop
: Specifies how many nearby patches a fertilized female flower drop seeds onto for potential new flower growth.daily-nectar-generation
: Controls how frequently (per conceptual day) depleted flowers will regenerate their nectar supply.bloom-days
: The number of conceptual "days" it takes for a (seed-dropped) patch to fully develop and bloom into a new flower.bees-to-spawn
: Sets the number of new bees that are added to the hive at the start of each new day.ambient-temprature
: Simulates the overall environmental temperature. Temperature in degree celsius.
Setting up the Model:
Adjust the sliders to set your initial conditions and environmental parameters. Press the setup button. This will clear the world, create the initial landscape of flowers, set up the hive, and populate it with the starting number of bees.
Running the Simulation:
Press the go button. This will start the simulation, allowing bees to search and collect nectar, flowers to grow and die, and the ecosystem to evolve over time. You can press go again to pause the simulation and then again to resume.
THINGS TO NOTICE
This section suggests what to observe while running the model to gain insights into bee-flower ecosystem.
Bee Behaviour and Paths: Notice how bees move across the landscape. Bees move in a straight line to search for nectar. If they don't find a flower with nectar in their path, they switch direction randomly and move in a straight path. Once they've collected enough nectar, they follow a straight path to the hive.
Flower Nectar Depletion and Regeneration: Male flowers are dark purple and female flowers are light purple, to show the distinction. Observe the flowers changing color. When a bee collects nectar, the flower's color will likely change (e.g., from a nectar-rich color to a depleted color). Watch how long it takes for the flowers to regenerate their nectar and change back to their nectar-rich color.
Pollination and Flower Growth: Focus on the female flowers. When a bee carrying pollen lands on a female flower, notice how surrounding patches might be pollinated (meaning dropping seeds). Then, observe how these "seeded" patches eventually bloom into new flowers, replacing those that have died.
Hive Behaviour: Notice how new bees leave the hive at each conceptual day and how their behaviour changes with ambient temperature.
Impact of Temperature: Experiment with changing the
ambient-temperature
slider.- Cold Temperatures: Notice the background changes. Focus on the hive activity and flower spread.
- Moderate Temperatures (Spring/Autumn): Observe the limited number of active bees and how this affects nectar collection and flower growth.
- Warm Temperatures (Summer): Notice the high amount of bee activity and how quickly nectar is collected and flowers are pollinated, leading to more robust flower populations.
Population Dynamics: Look at the Bee-Flower Count plot and check the total number of bees and flowers. How do their populations fluctuate over time under different temperature conditions (more than 18C, more than 10C, and less than 10C)?
THINGS TO TRY
Here are some suggested experiments you can perform by adjusting the sliders and running the model:
Explore Temperature's Influence:
- Set
ambient-temprature
to a cold value (e.g., 5C). - Run the model at a
ambient-temprature
(e.g., 14C) and check how does the limited number of active bees affect nectar accumulation in the hive and the growth of new flowers. - Switch to a warm
ambient-temprature
(e.g., 25C). Observe the rapid increase in bee activity and how quickly nectar is collected and flowers are pollinated, leading to more robust flower populations.
- Set
Impact of Initial Populations:
- Start with a very low
number-of-bees
(e.g., 10-20). Or Start with a very highnumber-of-bees
(e.g., 50 to 100). Observe the bee population become too large or small. Check, how does this impact the flower population.
- Start with a very low
Resource Scarcity vs. Abundance:
- Reduce
flower-spread
andper-flower-nectar
to low values. How does this challenge the bee colony's survival and growth? - Increase
flower-spread
andper-flower-nectar
to high values. How quickly does the hive accumulate nectar? Observe, how does the flower population boom indefinitely.
- Reduce
Nectar Regeneration Speed:
- Adjust
daily-nectar-generation
. Observe how does making nectar regenerate very slowly or very quickly affect the bees' ability to collect enough food, especially in warmer temperatures.
- Adjust
Bee Population Growth Rate:
- Change
bees-to-spawn
. Check, how does spawning many bees each day compare to very few.
- Change
Flower Bloom Time:
- Experiment with
bloom-days
. If it takes a very long time for new flowers to bloom, how does this affect the recovery of flower populations.
- Experiment with
Pollination Efficiency:
- Change
no-of-seeds-to-drop
. Observe, If bees drop very few seeds, does the flower population struggle to reproduce or If they drop many, does the flower population expand rapidly.
- Change
EXTENDING THE MODEL
Here are some of the suggestions to improve the model further:
Implement Bee Communication : Improve bee behaviour where they can communicate and share information about nectar and pollen in the surrounding.
Vary Flower Types and Nectar Quality: Introduce different flower types and nectar quality. Make bees to be attracted to some set of flowers over other.
Dynamic Ambient Temperature and Seasons: Instead of fixed temperatures through slider, add features to automate temperature and seasons for a year, impacting bees activity and flower blooms.
Hive Internal Dynamics: Improve hive dynamics like hive swarming, where a new colony is created if the number of bees grows.
CREDITS AND REFERENCES
This model was conceived and developed by Raaja Selvanaathan Datchanamourthy as an end-of-term project for the Agent-Based Modeling course at DSTI School Of Engineering, Paris, France.
Copyright and License Information
This model is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License (CC BY-NC 4.0).
For non-commercial use, you are free to share and adapt this work as long as you provide appropriate attribution.
For commercial use, please contact Raaja Selvanaathan Datchanamourthy at raaja.snd@gmail.com to discuss a separate commercial license.
Comments and Questions
globals[ hive-x hive-y flower-color-male flower-color-male-nectar flower-color-female flower-color-female-nectar ground-color energy-reduction-factor nectar-regeneration-freq bloom-factor spawn-factor hive-nectar bee-max-nectar ] turtles-own[ energy pollen-carried? nectar-carried curr-step curr-heading is-active? ] patches-own[ nectar flower-health is-flower? time-to-nectar-regeneration is-female? is-pollinated? time-to-bloom ] to setup clear-all setup-flower-patches setup-bees reset-ticks end to setup-flower-patches ;;; Setup soil and flower patches init-globals setup-hive ask patches [ set is-flower? false set is-female? false set is-pollinated? false if pxcor != hive-x or pycor != hive-y[ set pcolor ground-color if random 100 < flower-spread [ set flower-health random 100 setup-flower-attr ] ] ] end to init-globals set flower-color-male 116 set flower-color-male-nectar 114 set flower-color-female 138 set flower-color-female-nectar 135 set energy-reduction-factor (no-of-ticks-per-day * 30) / 100 set nectar-regeneration-freq (no-of-ticks-per-day / daily-nectar-generation) set bloom-factor (no-of-ticks-per-day * bloom-days) set-spawn-factor ( ifelse ambient-temprature >= 18 [set ground-color 63] ambient-temprature > 10 [set ground-color 33] [set ground-color white] ) end to set-spawn-factor ;;; Bee Spawnning changes according to the ambient temprature ( ifelse ambient-temprature >= 18 [set spawn-factor no-of-ticks-per-day] [set spawn-factor (no-of-ticks-per-day * 5)] ) end to setup-hive ;;; Setup a hive at a random location in the field set hive-x random max-pxcor set hive-y random max-pycor ask patch hive-x hive-y[ set plabel "HV" set pcolor 15 set plabel-color white ] end to setup-flower-attr ;;; Setup for flower attributes ifelse random flower-spread < (min (list nectar-ratio flower-spread)) [ set nectar per-flower-nectar ][ set time-to-nectar-regeneration random nectar-regeneration-freq ] set is-flower? true flower-to-female change-flower-color end to flower-to-female ;;; Randomizing the gender for a flower if random 2 > 0 [set is-female? true] end to change-flower-color ;;; Setting up the color of the flower according to the presence of nectar and gender ifelse is-female? = true [set pcolor flower-color-female] [set pcolor flower-color-male] if nectar > 0 [ ifelse is-female? = true [set pcolor flower-color-female-nectar] [set pcolor flower-color-male-nectar] ] end to setup-bees ;;; Setup for bees create-turtles number-of-bees [ set energy random 100 create-bee set is-active? false ( ifelse ambient-temprature >= 18 [ set bee-max-nectar 100 ] ambient-temprature > 10 [ set bee-max-nectar 35 set xcor hive-x set ycor hive-y ][ set xcor hive-x set ycor hive-y ] ) ] end to create-bee ;;; Setup for bee attributes like shape, color setxy random-xcor random-ycor set shape "bee" set curr-heading heading change-bee-color end to change-bee-color ;;; Change bee color according to energy ifelse energy >= 20 [set color yellow] [set color red] end ;;; Go Procedure starts here to go activate-bees work-bees reduce-bee-energy reduce-flower-health regenerate-nectar regrow-flower spawn-bee tick end to activate-bees ;;; Bees movement from hive changes according to the ambient temprature ;;; They tend to be active during summer when tempratrue is around 18 to 30 ;;; Moderately active durin spring or autumn when temprature is aorund 10 to 18 ;;; Inactive during winter when temprature is leesere than 10 ( ifelse ambient-temprature >= 18 [ ask turtles [ set is-active? true ] ] ambient-temprature > 10 [ if (ticks mod energy-reduction-factor) = 0 [ let active-turtles n-of (floor (number-of-bees * .15)) turtles ask active-turtles [ set is-active? true ] ] ] ) end to work-bees ;;; Wroker bees go procedure, bees collect nectar only under 3 conditions ;;; 1. If it is a flower ;;; 2. If the flower has enough nectar [nectar] ;;; 3. If the bee has the carry capacity [nectar-carried] ;;; After the bees are full it goes straight the hive and drop them ;;; Bees also carry pollen from male flowers while picking nectar from male flower [pick-pollen] and ;;; while carrying nectar from female flowers they drop them, this causes fertilization [pollinate-flower] ask turtles with [is-active?][ if [is-flower?] of patch-here[ if nectar-carried < bee-max-nectar and [nectar] of patch-here > 0 [ set nectar-carried nectar-carried + [nectar] of patch-here change-search-heading deplete-flower-nectar ] pick-pollen pollinate-flower ] ( ifelse nectar-carried >= bee-max-nectar and patch-here = patch hive-x hive-y[ set hive-nectar hive-nectar + nectar-carried set nectar-carried 0 set pollen-carried? false if ambient-temprature < 18 [set is-active? false] ] nectar-carried >= bee-max-nectar [ facexy hive-x hive-y fd 1 ] [ search-for-nectar ] ) ] end to search-for-nectar ;;; Bees search for the flowers to pick nectar. ;;; Bees follow a short distance in same direction before changing its direction. ;;; Controlled using [search-steps] ifelse curr-heading = heading and curr-step <= search-steps [ set curr-step curr-step + 1 fd 1 ][ change-search-heading set curr-step 1 fd 1 ] end to change-search-heading ;;; Bees change the direction of search after few steps ;;; as explained in [search-for-nectar] go procedure. rt random 90 set curr-heading heading end to deplete-flower-nectar ;;; Each time the bee picks nectar it is depleated and is set for regenration in future ask patch-here [ set nectar 0 change-flower-color set time-to-nectar-regeneration nectar-regeneration-freq ] end to pollinate-flower ;;; If Bee goes to a female flower and ;;; bee has pollen, it drops the pollen to polinate the female flower ;;; The no of seeds to drop by the female flower is controlled by [no-of-seeds-to-drop] ;;; seeds are dropped areound the female flower. if [is-female?] of patch-here and pollen-carried? = true [ ask patch-here[ let target-neigbhor n-of min(list no-of-seeds-to-drop (count neighbors)) neighbors ask target-neigbhor [ if not (pxcor = hive-x and pycor = hive-y)[ set is-pollinated? true set time-to-bloom bloom-factor ] ] ] set pollen-carried? false ] end to pick-pollen ;;; If the bee reaches a male flower it picks pollen if [not is-female?] of patch-here [ set pollen-carried? true ] end to reduce-bee-energy ;;; Bees lose energy. The lifespan of bees are 30 days. ;;; [energ-reduction-factor] are calculated according to the ticks ;;; using [no-of-ticks-per-day]. ask turtles [ if (ticks mod energy-reduction-factor) = 0 [ set energy energy - 1 ] change-bee-color if energy <= 0 [ die ] ] end to reduce-flower-health ;;; Flowers lose health. The lifespan of flowers are 30 days. ;;; [energ-reduction-factor] are calculated according to the ticks ;;; using [no-of-ticks-per-day]. ask patches with [is-flower?][ if (ticks mod energy-reduction-factor) = 0 [ set flower-health flower-health - 1 ] if flower-health <= 0 [ flower-death ] ] end to flower-death ;;; Flowers are reset when they die, If the seeds are dropped in the place ;;; they are preserved and they are regrown. set pcolor ground-color set nectar 0 set is-flower? false set is-female? false end to regenerate-nectar ;;; Nectar regeneration happens after the nectar is depleated ;;; Controlled using [daily-nectar-regeneration] slider. ask patches with[is-flower?][ set time-to-nectar-regeneration time-to-nectar-regeneration - 1 if time-to-nectar-regeneration <= 0 [ set nectar per-flower-nectar change-flower-color ] ] end to regrow-flower ;;; FLowers are regrown from seeds. Flowers have bloom period. ;;; They are controlled by [bloom-days] slider. ask patches with [not is-flower? and is-pollinated?] [ set time-to-bloom time-to-bloom - 1 if time-to-bloom <= 0 [ set is-pollinated? false set is-flower? true set flower-health 100 set nectar per-flower-nectar flower-to-female change-flower-color ] ] end to spawn-bee ;;; Bees are spawned from the hive everyday. ;;; Spawning count is controlled by [bees-to-spawn] slider. if (ticks mod spawn-factor) = 0 [ create-turtles bees-to-spawn [ setxy hive-x hive-y facexy random-xcor random-ycor set shape "bee" set curr-heading heading set energy 100 set is-active? false ] ] end
There are 3 versions of this model.
Attached files
File | Type | Description | Last updated | |
---|---|---|---|---|
Bee Pollination on Lavender Flowers.png | preview | Preview for 'Bee Pollination on Lavender Flowers' | 2 months ago, by Raaja Selvanaathan Datchanamourthy | Download |
This model does not have any ancestors.
This model does not have any descendants.