File size: 1,506 Bytes
97d65c2
a9f9937
 
 
 
 
 
 
 
 
97d65c2
066e132
 
e3bc2d2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
97d65c2
e3bc2d2
 
97d65c2
 
 
 
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
import gradio as gr
from cadCAD.configuration.utils import config_sim
from cadCAD.configuration import Experiment

from cadCAD.engine import ExecutionMode, ExecutionContext
from cadCAD.engine import Executor

from cadCAD import configs
import pandas as pd
import numpy as np

from seir_model import *

N = 10000 #Total Population
initial_state = {
    "S": N-10,
    "E": 10,
    "I":0,
    "R":0
}
sys_params = {
    "infection_rate":[1],
    "recovery_rate":[1/14], 
    "exposure_rate":[1/3]
}

partial_state_update_blocks = [
    {
        "policies":{
            "expsoed_growth":p_exposed,
            "infected_growth":p_infected,
            "recovered_growth":p_recovered,
            
        },
        "variables":{
            "S":s_susceptible,
            "E":s_exposed,
            "I":s_infected,
            "R":s_recovered,
        }
     
    }

]

del configs[:]

timesteps = 100
sim_config = config_sim({
  "N":1,
  "T":range(timesteps),
  "M":sys_params  
})

experiment = Experiment()
experiment.append_configs(
    sim_configs=sim_config,
    initial_state=initial_state,
    partial_state_update_blocks=partial_state_update_blocks
)

exec_context = ExecutionContext()
simulation = Executor(exec_context=exec_context, configs=experiment.configs)


  
def greet(name):
    raw_result, tensor_fields, sessions = simulation.execute()
    result = pd.DataFrame(raw_result)
    return "Hello " + name + "!!"

iface = gr.Interface(fn=greet, inputs="text", outputs="text")
iface.launch()