Globalisation after Corona Virus

Globalisation after Corona Virus preview image

1 collaborator

Default-person Massab Qayum (Author)

Tags

(This model has yet to be categorized with any tags)
Visible to everyone | Changeable by the author
Model was written in NetLogo 6.1.1 • Viewed 137 times • Downloaded 11 times • Run 0 times
Download the 'Globalisation after Corona Virus' modelDownload this modelEmbed this model

Do you have questions or comments about this model? Ask them here! (You'll first need to log in.)


Info tab cannot be displayed because of an encoding error

Comments and Questions

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

Click to Run Model

patches-own [work-environment prob ]
turtles-own [skill  probability  skill-eff] ; made turtle-own variable so we can check probability
links-own [active? strength offset]

; both migration buttons need to be turned off before running impact buttons otherwise migration keeps taking place

to setup ;creates countries, gives work environment
    clear-all


 ask patches
  [
  if ( pxcor < -5 and pycor < -5)
  [set pcolor yellow]
  if ( pxcor > 5 and pycor > 5)
  [set pcolor green]
  if ( pxcor < 6 and pycor < 6 and pxcor > -6 and pycor > -6)
  [set pcolor red]
  ]

  let Y patches with [pcolor = yellow]
  let G patches with [pcolor = green]
  let R patches with [pcolor = red]
  ;if area is less then work-environment sum will be less because work environment is per patch and small country has less patches
     set-current-plot "Work-Environment"
    set-current-plot-pen "Green"
  plot sum [work-environment] of patches with [pcolor = green]
   set-current-plot-pen "Red"
    plot sum [work-environment] of patches with [pcolor = red]
    set-current-plot-pen "Yellow"
    plot sum [work-environment] of patches with [pcolor = yellow]

  ask G
  [set work-environment 10]
  ask R
  [set work-environment 7.5]
  ask Y
  [set work-environment 2.5]
end 

to life ; creates people, instructs turtles to randomly move to patches and set color according to what patch they are on, skill set as per distribution

  create-turtles 100

  [
   set shape "person"
    set skill random 100 ;creates people with randomly alotted skills
    set probability random-float 1
  ]
ask patches
 [     set prob random-float 1
]
  let Y patches with [pcolor = yellow]
  let G patches with [pcolor = green]
  let R patches with [pcolor = red]

  ask turtles
  [move-to one-of patches with [pcolor = green or pcolor = yellow or pcolor = red]]

  ask turtles-on G
  [set color 54]
  ask turtles-on R
  [set color 14]
  ask turtles-on Y
  [set color 44]

 if colour?
  [
    ask turtles with [skill > 80]
    [set color pink]

    ask turtles with [skill < 80 and skill > 50]
    [set color blue]
  ]

    reset-ticks
end 

to go ; migration command
  let Y patches with [pcolor = yellow]
  let G patches with [pcolor = green]
  let R patches with [pcolor = red]

  ;Migrate from Yellow to Red
  if any? turtles-on Y
  [
  ask one-of turtles-on Y
  [if skill > 80 [
      if work-environment < 100
      [
    move-to one-of G
    ]
    ]
  ]
  ]
if any? turtles-on Y
  [ask one-of turtles-on Y
    [if skill > 50 [
      if work-environment < 50 [
        move-to one-of R
  ]]]]

  ;migrate from red to green
  if any? turtles-on R
  [ask one-of turtles-on R
    [if skill > 80 [
      if work-environment < 100
      [move-to one-of G
  ]]]]

 ; let pop count turtles-on G
;ask patches [ask turtles-here [ if skill > 80 [set work-environment work-environment + 0.01]]] ;gradual increase in work environment from all good brains existing together
;ask patches [ask turtles-here [ if skill > 50 [set work-environment work-environment + 0.005]]]

;ask patches [ask turtles-here [ if skill < 25 [set work-environment work-environment - 0.005]]] ;gradual decrease in work environment from all bad brains existing together
;ask patches [ask turtles-here [ if skill < 10 [set work-environment work-environment - 0.01]]]
end 

to impact
    let Y patches with [pcolor = yellow]
  let G patches with [pcolor = green]
  let R patches with [pcolor = red]
      ask turtles [ifelse [pcolor] of patch-ahead 1 != green [set heading heading - 100][fd 1]]
  ask turtles [ifelse [pcolor] of patch-ahead 1 != red [set heading heading - 100][fd 1]]
  ask turtles [ifelse [pcolor] of patch-ahead 1 != yellow [set heading heading - 100][fd 1]]
  ask R
  [

  if any? (turtles-on patches with [pcolor = red])
  [
set-current-plot "Avg-Skill"
      set-current-plot-pen "Red1"
plot (sum [skill] of turtles-on patches with [pcolor = red]) / (count turtles-on patches with [pcolor = red])
      set-current-plot-pen "yellow"
  plot (sum [skill] of turtles-on patches with [pcolor = yellow]) / (count turtles-on patches with [pcolor = yellow])
      set-current-plot-pen "green"
  plot ((sum [skill] of turtles-on patches with [pcolor = green]) / (count turtles-on patches with [pcolor = green]))
    set-current-plot "Work-Environment"
    set-current-plot-pen "Green"
  plot sum [work-environment] of patches with [pcolor = green]
   set-current-plot-pen "Red"
    plot sum [work-environment] of patches with [pcolor = red]
    set-current-plot-pen "Yellow"
    plot sum [work-environment] of patches with [pcolor = yellow]

  ]
  ]
skill-effects
  env-effect

 skill-share
end 
; create factor

to corona
      let Y patches with [pcolor = yellow]
    let G patches with [pcolor = green]
  let R patches with [pcolor = red]
  ask patches [
    set work-environment work-environment - 0.5
  ]
end 

to migration-post-corona
    let Y patches with [pcolor = yellow]
    let G patches with [pcolor = green]
  let R patches with [pcolor = red]
 ; if probability < travel-restriction

ask one-of turtles-on Y [if probability < travel-restriction[if work-environment < 100[if skill > 80 [move-to one-of G]]]]
 ; ask one-of turtles-on Y [if probability > travel-restriction[if work-environment < 100[if skill > 80 [set color blue]]]] ;
ask one-of turtles-on R [if probability < travel-restriction[if work-environment < 100[if skill > 80 [move-to one-of G]]]]
 ; ask one-of turtles-on R [if probability > travel-restriction[if work-environment < 100[if skill > 80 [set color blue]]]]
ask one-of turtles-on Y [if probability < travel-restriction[if work-environment < 50[if skill > 50 [move-to one-of R]]]]
;ask one-of turtles-on Y [if probability > travel-restriction[if work-environment < 50[if skill > 50 [set color pink]]]]
; its moving based on others' probability have to make sure it moves on its own probability -- update: i think this is fixed
end 

to life-after-corona
    let Y patches with [pcolor = yellow]
    let G patches with [pcolor = green]
  let R patches with [pcolor = red]
 ; ask patches [ask turtles-here [ if skill > 80 [set work-environment work-environment + 0.01]]]
  ;ask patches [ask turtles-here [ if skill > 50 [set work-environment work-environment + 0.005]]]
  ;ask patches [ask turtles-here [ if skill < 25 [set work-environment work-environment - 0.005]]]
  ;ask patches [ask turtles-here [ if skill < 10  [set work-environment work-environment - 0.01]]]
  ;they keep increasing i dont know whats wrong
  ; green country has a good start because work environment is already very high but i dont see its low-skilled people affecting work-env like in other countries
  set-current-plot "Work-Environment"
    set-current-plot-pen "Green"
  plot sum [work-environment] of patches with [pcolor = green]
   set-current-plot-pen "Red"
    plot sum [work-environment] of patches with [pcolor = red]
    set-current-plot-pen "Yellow"
    plot sum [work-environment] of patches with [pcolor = yellow]

    set-current-plot "Avg-Skill"
      set-current-plot-pen "Red1"
plot (sum [skill] of turtles-on patches with [pcolor = red]) / (count turtles-on patches with [pcolor = red])
      set-current-plot-pen "yellow"
  plot (sum [skill] of turtles-on patches with [pcolor = yellow]) / (count turtles-on patches with [pcolor = yellow])
      set-current-plot-pen "green"
  plot ((sum [skill] of turtles-on patches with [pcolor = green]) / (count turtles-on patches with [pcolor = green]))

   skill-effects
env-effect
  ask turtles [ifelse [pcolor] of patch-ahead 1 != green [set heading heading - 100][fd 1]]
  ask turtles [ifelse [pcolor] of patch-ahead 1 != red [set heading heading - 100][fd 1]]
  ask turtles [ifelse [pcolor] of patch-ahead 1 != yellow [set heading heading - 100][fd 1]]

  skill-share
end 

to skill-effects

  if skill-effect?
  [

    ask patches [if prob < 0.1 [ask turtles-here [ if skill > 50 [set work-environment work-environment + ( skill / 1000)]]]]
    ask patches [if prob < 0.1 [ask turtles-here [ if skill < 50 [set work-environment work-environment - ( skill / 1000)]]]]
  ]
end 

to skill-share
      let Y patches with [pcolor = yellow]
    let G patches with [pcolor = green]
  let R patches with [pcolor = red]


  if skill-sharing?
  [
   ask turtles [
  let own-multiplier skill * 0.00001
      if ordinary?[
  if any? turtles-on patch-here [ask turtles-on patch-here [if skill > 50 [ask turtles-on patch-here [set skill skill + own-multiplier]]]]
    if any? turtles-on patch-here [ask turtles-on patch-here [if skill < 50 [ask turtles-on patch-here [set skill skill - own-multiplier]]]]
      ]

      if lattice?
    [
        ask turtles-on G
        [
          if skill > 80
          [
      create-links-with up-to-n-of 3 other turtles-on G in-radius 2 [
  set active? true
  set strength 1
  set color white
  set offset random 3
    ]
  ]

           ask turtles-on Y
        [
             if skill > 80
          [
      create-links-with up-to-n-of 3 other turtles-on Y in-radius 2 [
  set active? true
  set strength 1
  set color white
  set offset random 3
    ]
  ]
          ]

           ask turtles-on R
        [
             if skill > 80
          [
      create-links-with up-to-n-of 3 other turtles-on R in-radius 2 [
  set active? true
  set strength 1
  set color white
  set offset random 3
    ]
          ]]

      ask in-link-neighbors [if skill > 50 [set skill skill + own-multiplier]]
 ask in-link-neighbors [if skill < 50 [set skill skill - own-multiplier]]
      ]


  ]
  ]

  ]
end 

to env-effect
  if environment-effect?
  [
    ask turtles [ask patch-here [ if work-environment > 5 [ask turtles-here [set skill skill + (work-environment / 50 )]]]]
    ask turtles [ask patch-here [if work-environment < 5 [ask turtles-here [set skill skill - (work-environment / 50)]]]]
  ]
end 

There is only one version of this model, created over 3 years ago by Massab Qayum.

Attached files

File Type Description Last updated
Globalisation after Corona Virus.png preview Preview for 'Globalisation after Corona Virus' over 3 years ago, by Massab Qayum Download

This model does not have any ancestors.

This model does not have any descendants.