function(aa = 100, dd = 20, tt = 50) { #program initilize() # #Initializes global variables (hard assignment used throughout). With the #exception of the upper limits of the age (a), duration (d) and time (t) #indices and the corresponding label vectors, all values are set to zero. #This function serves only to set array dimensions, input values are #written to these arrays using the various input utility programs. # #preparatory # aa <<- aa # #upper limit of age index dd <<- dd # #pper limit of duration index tt <<- tt # #upper limit of time index ages <<- 0:(aa - 1) # #age labels durations <<- 0:(dd - 1) #duration labels times <<- 0:(tt - 1) # #time labels # # #1, 2 and 3 dimensional dummy arrays # dummy1 <- rep(0, times = tt) names(dummy1) <- 0:(tt - 1) dummy2 <- array(data = 0, dim = c(aa, tt), dimnames = list(ages, times)) dummy3 <- array(data = 0, dim = c(aa, dd, tt), dimnames = list(ages, durations, times)) # # #population state arrays (x=inactive, y=active,uninfected, z=infected, f=female, m=male) # xm <<- xf <<- dummy2 #inactive males and females ym <<- yf <<- dummy2 #active, uninfected males and females zm <<- zf <<- dummy3 #infected males and females # #birth rates (beta), proportions of female and male births (sigma), #vertical transmission (zeta) # beta.y <<- beta.z <<- dummy2 #birth rates for active-uninfected and infected sigma.m <<- sigma.f <<- 0.5 # #proportions of females and males among all births zeta <<- rep(0, times = tt) # #vertical transmission proportion # #forces; initialize mu.f and mu.m to small positive values to avoid zero denominators #in multiple decrement expressions. # mu.f <<- mu.m <<- dummy2 # #force of mortality from non-HIV-related causes mu.fb <<- mu.mb <<- dummy1 # #force of non-HIV-related mortality for births upsilon.m <<- upsilon.f <<- dummy2 #force of becoming active tau.m <<- tau.f <<- dummy2 # #force of becoming inactive lamda.m <<- lamda.f <<- dummy2 # #force of becoming infected alpha <<- dummy3 # #force of dying from HIV-related causes alpha.b <<- dummy1 # #force of HIV-related mortality for infected births # #force of infection parameters (see text for explanation) # iota.f <<- iota.m <<- dummy2 #additive lamda parameter kappa.f <<- kappa.m <<- dummy1 #time independent multiplicative lamda parameter theta.f <<- theta.m <<- dummy2 #time dependent multiplicative lamda parameter # #flow arrays (xd=inactive to dead, xy=inactive to active, yx=active to inactive, etc.) # xdm <<- xdf <<- dummy2 # #deaths of inactive persons xym <<- xyf <<- dummy2 # #movements of inactive persons to active status yxm <<- yxf <<- dummy2 # #movements of active persons to inactive status yzm <<- yzf <<- dummy2 # #movements of active persons to infected status ydm <<- ydf <<- dummy2 # #deaths of active persons zdm <<- zdf <<- dummy3 # #deaths of infected persons from non-HIV-related causes zam <<- zaf <<- dummy3 # #deaths of infected persons from HIV-related causes ubf <<- ubm <<- dummy1 # #uninfected births ubdm <<- ubdf <<- dummy1 #deaths of uninfected births ibf <<- ibm <<- dummy1 # #infected births ibdm <<- ibdf <<- dummy1 #non-HIV-related deaths of infected births ibam <<- ibaf <<- dummy1 #HIV-related deaths of infected births # write.ascii(initialize) "All done" }