-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathinteractions.h
127 lines (104 loc) · 3.41 KB
/
interactions.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
#ifndef INTERACTIONS_H
#define INTERACTIONS_H
#include "conveyor.h"
#define TIME_START 0.0
#define TIME_MAX 7305.0
#define TIME_D 0.1
#define REPORT_INTERVAL 1.0
#define FROM_NEWBORN_TO_TODDLER 0.016427105
#define FROM_TODDLER_TO_ADULT 0.000566452
#define SICKLE_CELL_RATE 0.125
#define SICKLE_CELL_MALARIA_SURVIVAL_RATE 0.60
#define HUMAN_NEWBORN_UNINFECTED_0 15.0
#define HUMAN_TOD_N_UNINFECTED_0 350.0
#define HUMAN_TOD_N_TAINTED_0 0.0
#define HUMAN_TOD_N_HOSTS_0 0.0
#define HUMAN_TOD_N_PIMMUNE_0 0.0
#define HUMAN_TOD_N_REMISSION_0 0.0
#define HUMAN_TOD_S_UNINFECTED_0 50.0
#define HUMAN_TOD_S_TAINTED_0 0.0
#define HUMAN_TOD_S_HOSTS_0 0.0
#define HUMAN_TOD_S_PIMMUNE_0 0.0
#define HUMAN_TOD_S_REMISSION_0 0.0
#define HUMAN_ADULT_UNINFECTED_0 5000.0
#define HUMAN_ADULT_TAINTED_0 0.0
#define HUMAN_ADULT_HOSTS_0 1.0
#define HUMAN_ADULT_PIMMUNE_0 0.0
#define HUMAN_ADULT_REMISSION_0 0.0
#define MOSQUITO_UNINFECTED_0 5415.0
#define MOSQUITO_VECTORS_0 0.0
#define MOSQUITO_TAINTED_0 0.0
#define PIMMUNITY_RATE 0.01 // Rate of hosts becoming partially immune
#define RECOVERY_RATE 0.3
#define MALARIA_INDUCED_DEATH_RATE 0.0000035826733157
#define MALARIA_INDUCED_DEATH_RATE_TODDLER 0.0002266288952
#define HUMAN_BIRTH_RATE 0.00005451230741
#define HUMAN_DEATH_RATE 0.00002130544331
#define RELAPSE_RATE 0.0009308693
#define HUMAN_INCUBATION_TIME 18
#define REMISSION_RATE 0.15
#define MOSQUITO_BIRTH_RATE 0.075
#define MOSQUITO_DEATH_RATE 0.075
#define MOSQUITO_INFECTION_RATE 0.1
#define MOSQUITO_INCUBATION_TIME 10.0
#define PROB_BITE_HUMAN 0.3
#define HEALTHY_HUMAN_MOSQUITO_RATIO 0.04
struct human_population_newborn {
double uninfected;
};
struct human_population_toddler_normal {
double uninfected;
struct conveyor *tainted_conv;
double tainted;
double hosts;
double pimmune;
double remission;
};
struct human_population_toddler_sicklecell {
double uninfected;
struct conveyor *tainted_conv;
double tainted;
double hosts;
double pimmune;
double remission;
};
struct human_population_adult {
double uninfected;
struct conveyor *tainted_conv;
double tainted;
double hosts;
double pimmune;
double remission;
};
struct mosquito_population {
double uninfected;
struct conveyor *tainted_conv;
double tainted;
double vectors;
};
extern struct human_population_newborn *h_pop_newb;
extern struct human_population_toddler_normal *h_pop_tod_n;
extern struct human_population_toddler_sicklecell *h_pop_tod_s;
extern struct human_population_adult *h_pop_adult;
extern struct mosquito_population *m_pop;
void prepare_round( double td );
double human_newborn_uninfected( double td );
double human_toddler_n_uninfected( double td );
void human_toddler_n_tainted( double td );
double human_toddler_n_hosts( double td );
double human_toddler_n_pimmune( double td );
double human_toddler_n_remission( double td );
double human_toddler_s_uninfected( double td );
void human_toddler_s_tainted( double td );
double human_toddler_s_hosts( double td );
double human_toddler_s_pimmune( double td );
double human_toddler_s_remission( double td );
double human_adult_uninfected( double td );
void human_adult_tainted( double td );
double human_adult_hosts( double td );
double human_adult_pimmune( double td );
double human_adult_remission( double td );
double mosquito_uninfected( double td );
void mosquito_tainted( double td );
double mosquito_vectors( double td );
#endif