Agents are connected to one another through a relationship network which are represented by edges on a graph. They are explicit class objects much like agents, but contain relationship specific parameters and functionality. Unlike agents, relationships are formed between agents with finite durations drawn from distributions guided by input parameters associated with the model agent population and demographics. That is to say, they are not always a fixed number of ongoing relationships at all time points unlike the total agent population size. Instead, the number of active relationships is closely tied with agent behavioral parameters (primarily that of average annual number of desired partners) and transmission network types available (sexual and/or drug-use).
Parameters are initially assigned to an relationship upon created based on input distribtutions model parameters provided by the user.
The following parameters are assigned upon relationship creation and are statically defined (ie: cannot change over the span of a single simulation iteration)
ID - Relationship unique identification number partner1 - ObjectID for agent one of two partner2 - ObjectID for agent two of two rel_type - Type of relationship classifier (sexual or drug-use) race - Race identifier for agent annual_RAtar - Target number of annual risk-acts
These parameters serve as relationship-defining parameters that are used to influence a host of other dynamic parameters (shown below).
The following are parameters that are assigned upon relationship creation and are dynamic throughout the a simulation run (ie: change over the span of a single simulation iteration).
duration - Remaining duration of relationship total_acts - Total number of acts performed in relationship (risk-act or non risk-act) total_RA - Total number of risk-acts performed in relationship HIV_bool - Boolean for if HIV exists on either partner sero_bool - Boolean for if relationship is serodiscordant