Bee Pollination on Lavender Flowers

Bee Pollination on Lavender Flowers preview image

1 collaborator

Tags

(This model has yet to be categorized with any tags)
Visible to everyone | Changeable by the author
Model was written in NetLogo 6.4.0 • Viewed 288 times • Downloaded 13 times • Run 0 times
Download the 'Bee Pollination on Lavender Flowers' modelDownload this modelEmbed this model

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.
  • Impact of Initial Populations:

    • Start with a very low number-of-bees (e.g., 10-20). Or Start with a very high number-of-bees (e.g., 50 to 100). Observe the bee population become too large or small. Check, how does this impact the flower population.
  • Resource Scarcity vs. Abundance:

    • Reduce flower-spread and per-flower-nectar to low values. How does this challenge the bee colony's survival and growth?
    • Increase flower-spread and per-flower-nectar to high values. How quickly does the hive accumulate nectar? Observe, how does the flower population boom indefinitely.
  • 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.
  • Bee Population Growth Rate:

    • Change bees-to-spawn. Check, how does spawning many bees each day compare to very few.
  • 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.
  • 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.

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

Please start the discussion about this model! (You'll first need to log in.)

Click to Run Model

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.

Uploaded by When Description Download
Raaja Selvanaathan Datchanamourthy 11 days ago Fixed- Info encoding problem Download this version
Raaja Selvanaathan Datchanamourthy 11 days ago Licensed model Download this version
Raaja Selvanaathan Datchanamourthy 2 months ago Initial upload Download this version

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.