example.rst.txt 1.39 KB
 christian.foerster committed Nov 13, 2019 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 ``````Examples ======== Leave some example code like ... **Basic Example** .. code-block:: python import matplotlib.pyplot as plt from tanks.tanks import Tank, initiate_tanks, get_levels ## define network and attributes network_structure = {"tank_6":["tank_4","tank_5"],"tank_4":["tank_1","tank_2"],"tank_5":["tank_3"]} attributes = {"tank_1":(10, 0.0), "tank_2":(20, 0.06), "tank_3":(15, 0.9), "tank_4":(8, 0.3), "tank_5":(44, 0.5), "tank_6":(2.5, 0.0)} ## generate the network all_tanks = initiate_tanks(network_structure,attributes) final_tank = all_tanks["tank_6"] # only the last tank is necessary to run the entire simulation ## simulate levels = {"tank_{}".format(k):[] for k in range(7)[1:]} # init dict for our level values for dt in range(100): tank_levels = get_levels(all_tanks) # retrieve levels for every iteration for tank_id, level in tank_levels.items(): # save the levels! levels[tank_id].append(level) # final_tank.fill_tank() # open valves and let the water through to our last tank! # checking results fig, axis = plt.subplots(6,1,figsize = (12,8)) for idx, ax in enumerate(axis): ax.plot(levels["tank_{}".format(idx+1)]) ax.set_title("tank_{}".format(idx+1)) plt.tight_layout() plt.show()``````