Social Media Voluntarism
Model was written in NetLogo 5.0.2
•
Viewed 509 times
•
Downloaded 17 times
•
Run 0 times
Do you have questions or comments about this model? Ask them here! (You'll first need to log in.)
Comments and Questions
Please start the discussion about this model!
(You'll first need to log in.)
Click to Run Model
;;; ;;; AGENTS DEFINITIONS ;;; globals [ involve-chance ;; The chance out of 100 that an corporate volunteer will pass on institutional during one hour of exposure. support-show ;; How long a person will be involved according support gives. slider-check-1 ;; Temporary variables for slider values, so that if sliders slider-check-2 ;; are changed on the fly, the model will notice and slider-check-3 ;; change volunteers's tendencies appropriately. ] turtles-own [ involved? ;; If true, the person is involved. It may be influenced or not. influenced? ;; If true, the involving is influenced (and involved? must also be true). involve-length ;; How long the person has been involved. enrolled? ;; If true, the person is working for social cause. enroll-length ;; How long the person has enrolled in social cause. work-exposure ;; How long the person will work in social causes. supporting-tendency;; How likely the person is to support social causes. social-networks-use;; The percent chance a person uses social networks. partner ;; The person that is our current partner (maybe influencer) in a work exposure. ] ;;; ;;; SETUP PROCEDURES ;;; to setup __clear-all-and-reset-ticks setup-globals setup-people setup-plot update-plot end to setup-globals reset-ticks set involve-chance 30 ;; if you have social network using tendency, ;; you have a 10% chance of being involved set support-show 30.0 ;; support show up 1 hour after working set slider-check-1 average-work-exposure set slider-check-2 average-supporting-tendency set slider-check-3 average-social-networks-use end ;; Create carrying-capacity number of volunteers half are righty and half are lefty ;; and some are involved in social causes. Also assigns colors to people with the ASSIGN-COLORS routine. to setup-people crt volunteers [ setxy random-xcor random-ycor set influenced? false set enrolled? false set partner nobody ifelse random 2 = 0 [ set shape "person righty" ] [ set shape "person lefty" ] ;; 10% of the people start out involved. set involved? (who < volunteers * 0.10) if involved? [ set involve-length random-float support-show ] assign-work-exposure assign-supporting-tendency assign-social-networks-use assign-color ] end ;; Different volunteers are displayed in 3 different colors depending on activities ;; green is institutional ;; blue is corporate ;; gray is influencer related to partner to assign-color ;; turtle procedure ifelse not involved? [ set color green ] [ ifelse influenced? [ set color gray ] [ set color blue ] ] end ;; RANDOM-NEAR distribution implementing. to assign-work-exposure ;; turtle procedure set work-exposure random-near average-work-exposure end to assign-supporting-tendency ;; turtle procedure set supporting-tendency random-near average-supporting-tendency end to assign-social-networks-use ;; turtle procedure set social-networks-use random-near average-social-networks-use end to-report random-near [center] ;; turtle procedure let result 0 repeat 40 [ set result (result + random-float center) ] report result / 20 end ;;; ;;; GO PROCEDURES ;;; to go if all? turtles [influenced?] [ stop ] check-sliders ask turtles [ if involved? [ set involve-length involve-length + 1 ] if enrolled? [ set enroll-length enroll-length + 1 ] ] ask turtles [ if not enrolled? [ move ] ] ;; Righties are always the ones to initiate influencing. ask turtles [ if not enrolled? and shape = "person righty" and (random-float 10.0 < supporting-tendency) [ enroll ] ] ask turtles [ disenroll ] ask turtles [ involve ] ask turtles [ assign-color ] tick update-plot end ;; Each tick a check is made to see if sliders have been changed. to check-sliders if (slider-check-1 != average-work-exposure) [ ask turtles [ assign-work-exposure ] set slider-check-1 average-work-exposure ] if (slider-check-2 != average-supporting-tendency) [ ask turtles [ assign-supporting-tendency ] set slider-check-2 average-supporting-tendency ] if (slider-check-3 != average-social-networks-use) [ ask turtles [ assign-social-networks-use ] set slider-check-3 average-social-networks-use ] end ;; People move about at random. to move ;; turtle procedure rt random-float 360 fd 1 end ;; Volunteers have the chance to participate in social activities. to enroll ;; turtle procedure -- righties only! let potential-partner one-of (turtles-at -1 0) with [not enrolled? and shape = "person lefty"] if potential-partner != nobody [ if random-float 10.0 < [supporting-tendency] of potential-partner [ set partner potential-partner set enrolled? true ask partner [ set enrolled? true ] ask partner [ set partner myself ] move-to patch-here ;; move to center of patch move-to patch-here ;; partner moves to center of patch set pcolor gray - 3 ask (patch-at -1 0) [ set pcolor gray - 3 ] ] ] end ;; If two diferents kind of volunteers work together in social cause it's probabbly one of them be influenced, ;; in order to work in social causes. to disenroll ;; turtle procedure if enrolled? and (shape = "person righty") [ if (enroll-length > work-exposure) or ([enroll-length] of partner) > ([ work-exposure] of partner) [ set enrolled? false set enroll-length 0 ask partner [ set enroll-length 0 ] set pcolor black ask (patch-at -1 0) [ set pcolor black ] ask partner [ set partner nobody ] ask partner [ set enrolled? false ] set partner nobody ] ] end ;; Involving occurs if volunteer corporative is influenced. to involve ;; turtle procedure if enrolled? and involved? and not influenced? [ if random-float 11 > social-networks-use or random-float 11 > ([social-networks-use] of partner) [ if random-float 100 < involve-chance [ ask partner [ set involved? true ] ] ] ] end ;;; ;;; PLOTTING PROCEDURES to setup-plot set-current-plot "Populations" set-plot-y-range 0 (volunteers + 50) end to update-plot set-current-plot "Populations" set-current-plot-pen "Institutional" plot count turtles with [not involved?] set-current-plot-pen "Corporate" plot count turtles with [involved?] - count turtles with [influenced?] end ; ;;; MONITOR PROCEDURES ;; to-report %involved ifelse any? turtles [ report (count turtles with [involved?] / count turtles) * 100 ] [ report 0 ] end ; Copyright 2012 Yannick Patrick Carrasco Merma - San Ignacio de Loyola University. All rights reserved. ; The full copyright notice is in the Information tab.
There is only one version of this model, created over 10 years ago by Yannick Patrick Carrasco Merma.
Attached files
File | Type | Description | Last updated | |
---|---|---|---|---|
Social Media Voluntarism.png | preview | Preview for 'Social Media Voluntarism' | over 10 years ago, by Yannick Patrick Carrasco Merma | Download |
This model does not have any ancestors.
This model does not have any descendants.