Femicides

Femicides preview image

1 collaborator

Default-person Daniel Molina (Author)

Tags

(This model has yet to be categorized with any tags)
Visible to everyone | Changeable by everyone
Model was written in NetLogo 6.0.2 • Viewed 159 times • Downloaded 14 times • Run 0 times
Download the 'Femicides' 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

turtles-own[
  status ;; wholesome - homicide / safely - harrased - reported - femicide
  gender ;; man or woman
  age ;; between 0 and 80
  harassed-by ;;
]

globals[
  femicide-counter
  lifespan
  potencial-homicide-counter
  harassment-counter
  week-counter
  year
  total-male
  total-female
  last-femicide-counter
  last-report-counter
  total-reports
  effective-reports

  femicide-per-year
  femicides-average-per-year
  reports-per-year

  harassment-probability
  harassment-to-femicide-probability
  reported-to-safety-probability

  ;;turn-to-homicide-probability
  turn-to-wholesome-probability

]

to setup-constants
  set lifespan 80 * 52 ;; ages of life
  set harassment-probability 0.01
  set harassment-to-femicide-probability 0.01
  set reported-to-safety-probability 0.01

  set turn-to-wholesome-probability 0.01

  set femicide-counter 0
  set femicide-per-year 0
  set femicides-average-per-year 0
  set week-counter 0
  set year 0
  set total-male 0
  set total-female 0
  set last-femicide-counter 0
  set last-report-counter 0
  set total-reports 0
  set reports-per-year 0
  set effective-reports 0
  set harassment-counter 0
end 

to setup
  clear-all
  setup-constants
  setup-turtles
  reset-ticks
end 

to setup-turtles
  create-turtles population[
    setxy random-xcor random-ycor
    set age random lifespan / 52
    set harassed-by 0
    set shape "person"
    let rand random-float 1
    ifelse(rand < 0.5)[
      set gender "male"
      set color blue

      set status "wholesome"
    ][
      set gender "female"
      set color red

      set status "safety"
    ]
  ]
end 

to setupEc
  clear-plot
  system-dynamics-setup
end 

to goEc
  system-dynamics-go
  system-dynamics-do-plot
end 

to go
  move
  ask turtles[
    ;;get-older
    harassment
    harassment-to-femicide
    report-harassment
    reported-to-safety
    reported-to-femicide

    turn-to-homicide
    turn-to-wholesome

    count-gender
  ]
  update-global-variables
  tick
end 

to count-gender
  set total-male count turtles with [gender = "male"]
  set total-female count turtles with [gender = "female"]
end 

to inmigrate-people
  let i random-float 1
  if(i < 0.5)[
    create-turtles 1[
      setxy random-xcor random-ycor
      set age random lifespan / 52
      set shape "person"
      let rand random-float 1
      ifelse(rand < 0.5)[
        set gender "male"
        set color blue

        set status "wholesome"
      ][
        set gender "female"
        set color red

        set status "safety"
      ]
    ]
  ]
end 

to plot-femicides-per-year
  if plot-pen-exists? "femicides-per-year" and plot-pen-exists? "reports-per-year" [
    set-current-plot-pen "femicides-per-year"
    set week-counter week-counter + 1
    if(week-counter mod 52 = 0)[
      set year year + 1
      set femicide-per-year femicide-counter - last-femicide-counter
      set last-femicide-counter femicide-counter
      plotxy ticks femicide-per-year

      set reports-per-year total-reports - last-report-counter
      set last-report-counter total-reports
      set-current-plot-pen "reports-per-year"
      plotxy ticks reports-per-year

      set femicides-average-per-year femicide-counter / (year)
      set-current-plot-pen "homicides-per-year"
      plotxy ticks potencial-homicide-counter
      ;;plot femicides-average-per-year
    ]
  ]
end 

to harassment
  let s-to-h random-float 1 ;; S to H
  let node one-of other turtles in-radius 2.0 with [ gender = "male" AND status = "potencial-femicide"]
  let potencial-femicide-id 0

  if ( node != nobody) [
    ask node[
      set potencial-femicide-id who
    ]
    if(s-to-h < harassment-probability AND status = "safety" AND gender = "female")[
      set status "harassed"
      set harassed-by potencial-femicide-id
      set color pink
    ]
  ]
end 

to harassment-to-femicide
  let hw-to-f random-float 1
  let node one-of other turtles in-radius 2.0 with [ gender = "male" AND status ="potencial-femicide"]
  if ( node != nobody) [
    if(hw-to-f < harassment-to-femicide-probability AND status = "harassed" AND gender = "female")[
      set femicide-counter femicide-counter + 1
      die
    ]
  ]
end 

to report-harassment
  let hw-to-r random-float 1
  if(hw-to-r < report-harassment-probability AND status = "harassed" AND gender = "female")[
    set status "reported"
    set color yellow
    set total-reports total-reports + 1
  ]
end 

to reported-to-femicide
  let r-to-f random-float 1
  let node one-of other turtles in-radius 2.0 with [ gender = "male" AND status = "potencial-femicide"]
  if ( node != nobody) [
    if(r-to-f < reported-to-femicide-probability AND status = "reported" AND gender = "female")[
      set femicide-counter femicide-counter + 1
      die
    ]
  ]
end 

to reported-to-safety
  let r-to-s random-float 1
  if ( r-to-s < reported-to-safety-probability AND status = "reported" )
  [
    set harassed-by 0
    set status "safety"
    set color red
    set effective-reports effective-reports + 1
  ]
end 

to turn-to-homicide
  let rand random-float 1
  if(rand < turn-to-homicide-probability AND gender = "male")[
    set status "potencial-femicide"
    set color green
  ]
end 

to turn-to-wholesome
  let rand random-float 1
  if(rand < turn-to-wholesome-probability AND gender = "male")[
   set status "wholesome"
   set color blue
  ]
end 

to update-global-variables
  set potencial-homicide-counter count turtles with [color = green]
  set harassment-counter count turtles with [status = "harassed"]
end 

to get-older
  set age age + (1 / 52)
  if age > lifespan / 52 [ die ]
end 

to move
  repeat 5[
    ask turtles[
      fd 0.2
    ]

    display
  ]
end 

There is only one version of this model, created over 5 years ago by Daniel Molina.

Attached files

File Type Description Last updated
Femicides.png preview Preview for 'Femicides' over 5 years ago, by Daniel Molina Download

This model does not have any ancestors.

This model does not have any descendants.