Shivraj8615 commited on
Commit
72c2001
·
verified ·
1 Parent(s): f82f442

Upload 3 files

Browse files
Files changed (3) hide show
  1. app.py +143 -0
  2. plot_app.py +38 -0
  3. recipes.py +184 -0
app.py ADDED
@@ -0,0 +1,143 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+ import requests
3
+ import pandas as pd
4
+ import matplotlib.pyplot as plt
5
+ from plot_app import Plot
6
+ plotter = Plot()
7
+ from recipes import (
8
+ recipes_1_cotton_dark,
9
+ recipes_2_cotton_medium,
10
+ recipes_3_cotton_light,
11
+ recipes_4_polyester_dark,
12
+ recipes_5_pc_dark,
13
+ )
14
+ recipes_dict = {
15
+ ("cotton", "dark"): recipes_1_cotton_dark,
16
+ ("cotton", "medium"): recipes_2_cotton_medium,
17
+ ("cotton", "light"): recipes_3_cotton_light,
18
+ ("polyester", "dark"): recipes_4_polyester_dark,
19
+ ("polycotton", "dark"): recipes_5_pc_dark,
20
+ }
21
+
22
+ def calculate_outputs(mlr, recipes, capacity):
23
+ """Perform calculations for each machine."""
24
+ steam_consumption = []
25
+ moment_time = 0
26
+ time = []
27
+ initial_temp = []
28
+ final_temp = []
29
+ temp_grad = []
30
+ for i in recipes:
31
+ time.append(moment_time)
32
+ delta_t = recipes[i]["Duration"]
33
+ moment_time += delta_t
34
+
35
+ temp_diff = recipes[i]["final_temp"] - recipes[i]["init_temp"]
36
+ final_temp.append(recipes[i]["final_temp"])
37
+ initial_temp.append(recipes[i]["init_temp"])
38
+ temp_grad.append(recipes[i]["temp.grad"])
39
+ temp_diff = abs(temp_diff)
40
+ steam_use = (capacity * mlr * temp_diff) + (capacity * temp_diff)
41
+ steam_consumption.append(steam_use)
42
+
43
+ return {
44
+ "Steam Consumption": steam_consumption,
45
+ "Time": time,
46
+ "init_Temp": initial_temp,
47
+ "final_Temp": final_temp,
48
+ "temp_grad": temp_grad
49
+ }
50
+
51
+ def calculate_peak_avg_load(machine_results):
52
+ """Calculate peak and average steam load for all machines."""
53
+ combined_steam_load = {}
54
+ start_time_offset = 0
55
+
56
+ for machine, results in machine_results.items():
57
+ for t, load in zip(results["Time"], results["Steam Consumption"]):
58
+ adjusted_time = t + start_time_offset
59
+ if adjusted_time in combined_steam_load:
60
+ combined_steam_load[adjusted_time] += load
61
+ else:
62
+ combined_steam_load[adjusted_time] = load
63
+ start_time_offset += 10 # Each machine starts 10 units after the previous one
64
+
65
+ peak_load = max(combined_steam_load.values())
66
+ avg_load = sum(combined_steam_load.values()) / len(combined_steam_load)
67
+
68
+ return peak_load, avg_load
69
+
70
+ def convert_df_to_csv(df):
71
+ return df.to_csv(index=False).encode('utf-8')
72
+
73
+ st.title("Dyeing Machine Load & Steam Calculator")
74
+
75
+ machine_type = st.selectbox("Select Type of Machine", ['SoftFlow'])
76
+ num_machines = st.number_input("Number of Dyeing Machines", min_value=1, value=5)
77
+ mlr = st.number_input("Enter the MLR for the process", min_value=2, value=6)
78
+ machine_capacities = {}
79
+
80
+ st.write("### Enter Machine Capacities")
81
+ for i in range(1, num_machines + 1):
82
+ capacity = st.number_input(f"Capacity of Machine {i} (kg)", min_value=1, value=100)
83
+ machine_capacities[f"{machine_type} {i}"] = capacity
84
+
85
+ toggle_fetch = st.checkbox("Take pre-built Recipe")
86
+ if toggle_fetch:
87
+ fabric = st.radio("Choose Fabric Type", ["Cotton", "Polyester", "PolyCotton"], index=0)
88
+ shade = st.radio("Choose your Shade", ["Dark", "Medium", "Light", "White"])
89
+ fabric_type = fabric.strip().lower()
90
+ shade = shade.strip().lower()
91
+ recipes = recipes_dict.get((fabric_type, shade), {})
92
+ else:
93
+ recipes = {}
94
+
95
+ st.write("### Results")
96
+ if "current_machine_index" not in st.session_state:
97
+ st.session_state["current_machine_index"] = 0
98
+
99
+ machine_names = list(machine_capacities.keys())
100
+ machine_results = {}
101
+ for machine in machine_names:
102
+ machine_results[machine] = calculate_outputs(mlr, recipes, machine_capacities[machine])
103
+
104
+ peak_load, avg_load = calculate_peak_avg_load(machine_results)
105
+
106
+ if st.button("Calculate Summary"):
107
+ st.markdown(
108
+ f"""
109
+ <div style='padding:10px; border-radius:10px; background-color:#05f5f5;'>
110
+ <h3 style='color:black;'>Summary</h3>
111
+ <p style='color:black;'><strong>Peak Steam Load:</strong> {peak_load} units</p>
112
+ <p style='color:black;'><strong>Average Steam Load:</strong> {avg_load} units</p>
113
+ </div>
114
+ """,
115
+ unsafe_allow_html=True,
116
+ )
117
+
118
+ col1, col2 = st.columns(2)
119
+ with col1:
120
+ if st.button("Previous Machine"):
121
+ st.session_state["current_machine_index"] = (st.session_state["current_machine_index"] - 1) % len(machine_names)
122
+ with col2:
123
+ if st.button("Next Machine"):
124
+ st.session_state["current_machine_index"] = (st.session_state["current_machine_index"] + 1) % len(machine_names)
125
+
126
+ current_machine = machine_names[st.session_state["current_machine_index"]]
127
+ st.write(f"### Calculations for {current_machine}")
128
+ df_results = pd.DataFrame(machine_results[current_machine])
129
+ st.table(df_results)
130
+
131
+ csv = convert_df_to_csv(df_results)
132
+ st.download_button("Download Table as CSV", data=csv, file_name=f"{current_machine}_results.csv", mime='text/csv')
133
+
134
+ st.header("Steam Load Variation Over Time")
135
+ if st.button("Plot Steam Load Variation"):
136
+ fig1 = plotter.plot_steam_load(machine_results[current_machine]['Time'], machine_results[current_machine]['Steam Consumption'])
137
+ st.pyplot(fig1)
138
+
139
+ st.header("Temperature Variation Over Time")
140
+ if st.button("Plot Temperature Variation"):
141
+ fig2 = plotter.plot_temperature_curve(machine_results[current_machine]['Time'], machine_results[current_machine]['init_Temp'], machine_results[current_machine]['final_Temp'], machine_results[current_machine]['temp_grad'])
142
+ st.pyplot(fig2)
143
+
plot_app.py ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import matplotlib.pyplot as plt
2
+
3
+ class Plot:
4
+ def plot_steam_load(self, time, steam_consumption):
5
+ """
6
+ Plots the variation of steam load with respect to time.
7
+ :param time: List of time values.
8
+ :param steam_consumption: List of steam consumption values.
9
+ :return: Matplotlib figure object.
10
+ """
11
+ fig, ax = plt.subplots()
12
+ ax.plot(time, steam_consumption, marker='o', linestyle='-', color='b', label='Steam Consumption')
13
+ ax.set_xlabel("Time")
14
+ ax.set_ylabel("Steam Consumption")
15
+ ax.set_title("Steam Load Variation Over Time")
16
+ ax.legend()
17
+ ax.grid()
18
+ return fig
19
+
20
+ def plot_temperature_curve(self, time, initial_temp, final_temp, temp_gradient):
21
+ """
22
+ Plots the temperature variation over time.
23
+ :param time: List of time values.
24
+ :param initial_temp: List of initial temperatures at each time point.
25
+ :param final_temp: List of final temperatures at each time point.
26
+ :param temp_gradient: List of temperature gradients.
27
+ :return: Matplotlib figure object.
28
+ """
29
+ fig, ax = plt.subplots()
30
+ ax.plot(time, initial_temp, marker='s', linestyle='--', color='r', label='Initial Temperature')
31
+ ax.plot(time, final_temp, marker='^', linestyle='-', color='g', label='Final Temperature')
32
+ ax.plot(time, temp_gradient, marker='d', linestyle=':', color='m', label='Temperature Gradient')
33
+ ax.set_xlabel("Time")
34
+ ax.set_ylabel("Temperature")
35
+ ax.set_title("Temperature Variation Over Time")
36
+ ax.legend()
37
+ ax.grid()
38
+ return fig
recipes.py ADDED
@@ -0,0 +1,184 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ recipes_1_cotton_dark = {'loading':{'init_temp':0,"final_temp":0 ,"temp.grad":0 ,"Duration":10 ,"steam_flow_rate":0},
2
+ 'Stock heating_1':{'init_temp':30,"final_temp":70 ,"temp.grad":0 ,"Duration": 10,"steam_flow_rate":0.73},
3
+ 'heating_1':{'init_temp':70,"final_temp":110 ,"temp.grad":3.5 ,"Duration": 12,"steam_flow_rate":0.38},
4
+ 'hold_1':{'init_temp':110,"final_temp":110 ,"temp.grad":0,"Duration":11 ,"steam_flow_rate":0.02},
5
+ 'cooling_1':{'init_temp':110,"final_temp":90 ,"temp.grad":2 ,"Duration":3 ,"steam_flow_rate":0},
6
+ 'drain&stock_1':{'init_temp':30,"final_temp":70,"temp.grad":0,"Duration": 10,"steam_flow_rate":0.73},
7
+ 'hold_2':{'init_temp':70,"final_temp":70 ,"temp.grad":0,"Duration":5,"steam_flow_rate":0.02},
8
+ 'drain&stock_2':{'init_temp':30,"final_temp":50,"temp.grad":0,"Duration":10 ,"steam_flow_rate":0.73},
9
+ 'hold_3':{'init_temp':50,"final_temp":50,"temp.grad":0,"Duration":7 ,"steam_flow_rate":0.02},
10
+ 'drain&stock_3':{'init_temp':30,"final_temp":60,"temp.grad":0,"Duration": 10,"steam_flow_rate":0.73},
11
+ 'hold_4':{'init_temp':60,"final_temp":60,"temp.grad":0,"Duration":100 ,"steam_flow_rate":0.02},
12
+ 'drain&stock_4':{'init_temp':30,"final_temp":50,"temp.grad":0,"Duration":10,"steam_flow_rate":0.73},
13
+ 'hold_5':{'init_temp':50,"final_temp":50,"temp.grad":0,"Duration":7,"steam_flow_rate":0.02},
14
+ 'drain&stock_5':{'init_temp':30,"final_temp":50,"temp.grad":0,"Duration":10,"steam_flow_rate":0.73},
15
+ 'hold_6':{'init_temp':50,"final_temp": 50,"temp.grad":0,"Duration": 7,"steam_flow_rate":0.02},
16
+ 'drain&stock_6':{'init_temp':30,"final_temp":60 ,"temp.grad":0 ,"Duration":10,"steam_flow_rate":0.73},
17
+ 'heating_2':{'init_temp':80,"final_temp":95,"temp.grad":3.5 ,"Duration":4 ,"steam_flow_rate":0.38},
18
+ 'hold_7':{'init_temp':95,"final_temp":95,"temp.grad":0 ,"Duration":7 ,"steam_flow_rate":0.02},
19
+ 'cooling_2':{'init_temp':95,"final_temp":90 ,"temp.grad":2 ,"Duration":10 ,"steam_flow_rate":0},
20
+ 'drain&stock_7':{'init_temp':30,"final_temp":80,"temp.grad":0,"Duration":10,"steam_flow_rate":0.73},
21
+ 'hold_8':{'init_temp':80,"final_temp":80 ,"temp.grad":0 ,"Duration":10,"steam_flow_rate":0.02},
22
+ 'drain&stock_8':{'init_temp':30,"final_temp":80 ,"temp.grad":0 ,"Duration":10 ,"steam_flow_rate":0.73},
23
+ 'hold_9':{'init_temp':80,"final_temp":80 ,"temp.grad":0 ,"Duration":10 ,"steam_flow_rate":0.02},
24
+ 'drain&stock_9':{'init_temp':30,"final_temp":60 ,"temp.grad":0 ,"Duration":10 ,"steam_flow_rate":0.73},
25
+ 'hold_10':{'init_temp':60,"final_temp":60 ,"temp.grad":0 ,"Duration":10 ,"steam_flow_rate":0.02},
26
+ 'drain&stock_10':{'init_temp':30,"final_temp":50 ,"temp.grad":0 ,"Duration":10 ,"steam_flow_rate":0.73},
27
+ 'hold_11':{'init_temp':50,"final_temp":50 ,"temp.grad":0 ,"Duration":10 ,"steam_flow_rate":0.02},
28
+ 'drain&stock_11':{'init_temp':30,"final_temp":40 ,"temp.grad":0,"Duration":10,"steam_flow_rate":0.73},
29
+ 'hold_12':{'init_temp':40,"final_temp":40 ,"temp.grad":0 ,"Duration":14 ,"steam_flow_rate":0.2},
30
+ 'drain&unload':{'init_temp':0,"final_temp":0 ,"temp.grad":0 ,"Duration":10 ,"steam_flow_rate":0},
31
+ }
32
+
33
+
34
+ recipes_2_cotton_medium = {'loading':{'init_temp':0,"final_temp":0 ,"temp.grad":0 ,"Duration":10 ,"steam_flow_rate":0},
35
+ 'Stock heating_1':{'init_temp':30,"final_temp":70 ,"temp.grad":0 ,"Duration": 10,"steam_flow_rate":0.73},
36
+ 'heating_1':{'init_temp':70,"final_temp":110 ,"temp.grad":3.5 ,"Duration": 12,"steam_flow_rate":0.38},
37
+ 'hold_1':{'init_temp':110,"final_temp":110 ,"temp.grad":0,"Duration":11 ,"steam_flow_rate":0.02},
38
+ 'cooling_1':{'init_temp':110,"final_temp":90 ,"temp.grad":2 ,"Duration":3 ,"steam_flow_rate":0},
39
+ 'drain&stock_1':{'init_temp':30,"final_temp":70,"temp.grad":0,"Duration": 10,"steam_flow_rate":0.73},
40
+ 'hold_2':{'init_temp':70,"final_temp":70 ,"temp.grad":0,"Duration":5,"steam_flow_rate":0.02},
41
+ 'drain&stock_2':{'init_temp':30,"final_temp":50,"temp.grad":0,"Duration":10 ,"steam_flow_rate":0.73},
42
+ 'hold_3':{'init_temp':50,"final_temp":50,"temp.grad":0,"Duration":7 ,"steam_flow_rate":0.02},
43
+ 'drain&stock_3':{'init_temp':30,"final_temp":60,"temp.grad":0,"Duration": 10,"steam_flow_rate":0.73},
44
+ 'hold_4':{'init_temp':60,"final_temp":60,"temp.grad":0,"Duration":100 ,"steam_flow_rate":0.02},
45
+ 'drain&stock_4':{'init_temp':30,"final_temp":50,"temp.grad":0,"Duration":10,"steam_flow_rate":0.73},
46
+ 'hold_5':{'init_temp':50,"final_temp":50,"temp.grad":0,"Duration":7,"steam_flow_rate":0.02},
47
+ 'drain&stock_5':{'init_temp':30,"final_temp":50,"temp.grad":0,"Duration":10,"steam_flow_rate":0.73},
48
+ 'hold_6':{'init_temp':50,"final_temp": 50,"temp.grad":0,"Duration": 7,"steam_flow_rate":0.02},
49
+ 'drain&stock_6':{'init_temp':30,"final_temp":60 ,"temp.grad":0 ,"Duration":10,"steam_flow_rate":0.73},
50
+ 'heating_2':{'init_temp':80,"final_temp":95,"temp.grad":3.5 ,"Duration":4 ,"steam_flow_rate":0.38},
51
+ 'hold_7':{'init_temp':95,"final_temp":95,"temp.grad":0 ,"Duration":7 ,"steam_flow_rate":0.02},
52
+ 'cooling_2':{'init_temp':95,"final_temp":90 ,"temp.grad":2 ,"Duration":10 ,"steam_flow_rate":0},
53
+ 'drain&stock_7':{'init_temp':30,"final_temp":80,"temp.grad":0,"Duration":10,"steam_flow_rate":0.73},
54
+ 'hold_8':{'init_temp':80,"final_temp":80 ,"temp.grad":0 ,"Duration":10,"steam_flow_rate":0.02},
55
+ 'drain&stock_8':{'init_temp':30,"final_temp":80 ,"temp.grad":0 ,"Duration":10 ,"steam_flow_rate":0.73},
56
+ 'hold_9':{'init_temp':80,"final_temp":80 ,"temp.grad":0 ,"Duration":10 ,"steam_flow_rate":0.02},
57
+ 'drain&unload':{'init_temp':0,"final_temp":0 ,"temp.grad":0 ,"Duration":10 ,"steam_flow_rate":0},
58
+ }
59
+
60
+
61
+ recipes_3_cotton_light = {'loading':{'init_temp':0,"final_temp":0 ,"temp.grad":0 ,"Duration":10 ,"steam_flow_rate":0},
62
+ 'Stock heating_1':{'init_temp':30,"final_temp":70 ,"temp.grad":0 ,"Duration": 10,"steam_flow_rate":0.73},
63
+ 'heating_1':{'init_temp':70,"final_temp":110 ,"temp.grad":3.5 ,"Duration": 12,"steam_flow_rate":0.38},
64
+ 'hold_1':{'init_temp':110,"final_temp":110 ,"temp.grad":0,"Duration":11 ,"steam_flow_rate":0.02},
65
+ 'cooling_1':{'init_temp':110,"final_temp":90 ,"temp.grad":2 ,"Duration":3 ,"steam_flow_rate":0},
66
+ 'drain&stock_1':{'init_temp':30,"final_temp":70,"temp.grad":0,"Duration": 10,"steam_flow_rate":0.73},
67
+ 'hold_2':{'init_temp':70,"final_temp":70 ,"temp.grad":0,"Duration":5,"steam_flow_rate":0.02},
68
+ 'drain&stock_2':{'init_temp':30,"final_temp":50,"temp.grad":0,"Duration":10 ,"steam_flow_rate":0.73},
69
+ 'hold_3':{'init_temp':50,"final_temp":50,"temp.grad":0,"Duration":7 ,"steam_flow_rate":0.02},
70
+ 'drain&stock_3':{'init_temp':30,"final_temp":60,"temp.grad":0,"Duration": 10,"steam_flow_rate":0.73},
71
+ 'hold_4':{'init_temp':60,"final_temp":60,"temp.grad":0,"Duration":100 ,"steam_flow_rate":0.02},
72
+ 'drain&stock_4':{'init_temp':30,"final_temp":50,"temp.grad":0,"Duration":10,"steam_flow_rate":0.73},
73
+ 'hold_5':{'init_temp':50,"final_temp":50,"temp.grad":0,"Duration":7,"steam_flow_rate":0.02},
74
+ 'drain&stock_5':{'init_temp':30,"final_temp":50,"temp.grad":0,"Duration":10,"steam_flow_rate":0.73},
75
+ 'hold_6':{'init_temp':50,"final_temp": 50,"temp.grad":0,"Duration": 7,"steam_flow_rate":0.02},
76
+ 'drain&stock_6':{'init_temp':30,"final_temp":60 ,"temp.grad":0 ,"Duration":10,"steam_flow_rate":0.73},
77
+ 'heating_2':{'init_temp':80,"final_temp":95,"temp.grad":3.5 ,"Duration":4 ,"steam_flow_rate":0.38},
78
+ 'hold_7':{'init_temp':95,"final_temp":95,"temp.grad":0 ,"Duration":7 ,"steam_flow_rate":0.02},
79
+ 'cooling_2':{'init_temp':95,"final_temp":90 ,"temp.grad":2 ,"Duration":10 ,"steam_flow_rate":0},
80
+ 'drain&stock_7':{'init_temp':30,"final_temp":80,"temp.grad":0,"Duration":10,"steam_flow_rate":0.73},
81
+ 'hold_8':{'init_temp':80,"final_temp":80 ,"temp.grad":0 ,"Duration":10,"steam_flow_rate":0.02},
82
+ 'drain&stock_8':{'init_temp':30,"final_temp":80 ,"temp.grad":0 ,"Duration":10 ,"steam_flow_rate":0.73},
83
+ 'hold_9':{'init_temp':80,"final_temp":80 ,"temp.grad":0 ,"Duration":10 ,"steam_flow_rate":0.02},
84
+ 'drain&unload':{'init_temp':0,"final_temp":0 ,"temp.grad":0 ,"Duration":10 ,"steam_flow_rate":0},
85
+ }
86
+
87
+
88
+ recipes_4_polyester_dark = {'loading':{'init_temp':0,"final_temp":0 ,"temp.grad":0 ,"Duration":10 ,"steam_flow_rate":0},
89
+ 'Stock heating_1':{'init_temp':30,"final_temp":40 ,"temp.grad":0 ,"Duration": 10,"steam_flow_rate":0.73},
90
+ 'hold_1':{'init_temp':110,"final_temp":110 ,"temp.grad":0,"Duration":11 ,"steam_flow_rate":0.02},
91
+ 'heating_1':{'init_temp':70,"final_temp":110 ,"temp.grad":3.5 ,"Duration": 12,"steam_flow_rate":0.38},
92
+ 'hold_2':{'init_temp':110,"final_temp":110 ,"temp.grad":0,"Duration":11 ,"steam_flow_rate":0.02},
93
+ 'cooling_1':{'init_temp':110,"final_temp":90 ,"temp.grad":2 ,"Duration":3 ,"steam_flow_rate":0},
94
+ 'drain&stock_1':{'init_temp':30,"final_temp":70,"temp.grad":0,"Duration": 10,"steam_flow_rate":0.73},
95
+ 'hold_3':{'init_temp':70,"final_temp":70 ,"temp.grad":0,"Duration":5,"steam_flow_rate":0.02},
96
+ 'drain&stock_2':{'init_temp':30,"final_temp":50,"temp.grad":0,"Duration":10 ,"steam_flow_rate":0.73},
97
+ 'hold_3':{'init_temp':50,"final_temp":50,"temp.grad":0,"Duration":7 ,"steam_flow_rate":0.02},
98
+ 'drain&stock_3':{'init_temp':30,"final_temp":60,"temp.grad":0,"Duration": 10,"steam_flow_rate":0.73},
99
+ 'hold_4':{'init_temp':60,"final_temp":60,"temp.grad":0,"Duration":100 ,"steam_flow_rate":0.02},
100
+ 'drain&stock_4':{'init_temp':30,"final_temp":50,"temp.grad":0,"Duration":10,"steam_flow_rate":0.73},
101
+ 'hold_5':{'init_temp':50,"final_temp":50,"temp.grad":0,"Duration":7,"steam_flow_rate":0.02},
102
+ 'drain&stock_5':{'init_temp':30,"final_temp":50,"temp.grad":0,"Duration":10,"steam_flow_rate":0.73},
103
+ 'hold_6':{'init_temp':50,"final_temp": 50,"temp.grad":0,"Duration": 7,"steam_flow_rate":0.02},
104
+ 'drain&stock_6':{'init_temp':30,"final_temp":60 ,"temp.grad":0 ,"Duration":10,"steam_flow_rate":0.73},
105
+ 'heating_2':{'init_temp':80,"final_temp":95,"temp.grad":3.5 ,"Duration":4 ,"steam_flow_rate":0.38},
106
+ 'hold_7':{'init_temp':95,"final_temp":95,"temp.grad":0 ,"Duration":7 ,"steam_flow_rate":0.02},
107
+ 'cooling_2':{'init_temp':95,"final_temp":90 ,"temp.grad":2 ,"Duration":10 ,"steam_flow_rate":0},
108
+ 'drain&stock_7':{'init_temp':30,"final_temp":80,"temp.grad":0,"Duration":10,"steam_flow_rate":0.73},
109
+ 'hold_8':{'init_temp':80,"final_temp":80 ,"temp.grad":0 ,"Duration":10,"steam_flow_rate":0.02},
110
+ 'drain&stock_8':{'init_temp':30,"final_temp":80 ,"temp.grad":0 ,"Duration":10 ,"steam_flow_rate":0.73},
111
+ 'hold_9':{'init_temp':80,"final_temp":80 ,"temp.grad":0 ,"Duration":10 ,"steam_flow_rate":0.02},
112
+ 'drain&stock_9':{'init_temp':30,"final_temp":60 ,"temp.grad":0 ,"Duration":10 ,"steam_flow_rate":0.73},
113
+ 'hold_10':{'init_temp':60,"final_temp":60 ,"temp.grad":0 ,"Duration":10 ,"steam_flow_rate":0.02},
114
+ 'drain&stock_10':{'init_temp':30,"final_temp":50 ,"temp.grad":0 ,"Duration":10 ,"steam_flow_rate":0.73},
115
+ 'hold_11':{'init_temp':50,"final_temp":50 ,"temp.grad":0 ,"Duration":10 ,"steam_flow_rate":0.02},
116
+ 'drain&stock_11':{'init_temp':30,"final_temp":40 ,"temp.grad":0 ,"Duration":10,"steam_flow_rate":0.73},
117
+ 'hold_12':{'init_temp':40,"final_temp":40 ,"temp.grad":0 ,"Duration":14 ,"steam_flow_rate":0.2},
118
+ 'drain&unload':{'init_temp':0,"final_temp":0 ,"temp.grad":0 ,"Duration":10 ,"steam_flow_rate":0},
119
+ }
120
+
121
+ recipes_5_pc_dark = {'loading':{'init_temp':0,"final_temp":0 ,"temp.grad":0 ,"Duration":10 ,"steam_flow_rate":0},
122
+ 'Stock heating_1':{'init_temp':30,"final_temp":70 ,"temp.grad":0 ,"Duration": 10,"steam_flow_rate":0.73},
123
+ 'heating_1':{'init_temp':70,"final_temp":110 ,"temp.grad":3.5 ,"Duration": 12,"steam_flow_rate":0.38},
124
+ 'hold_1':{'init_temp':110,"final_temp":110 ,"temp.grad":0,"Duration":11 ,"steam_flow_rate":0.02},
125
+ 'cooling_1':{'init_temp':110,"final_temp":90 ,"temp.grad":2 ,"Duration":3 ,"steam_flow_rate":0},
126
+ 'drain&stock_1':{'init_temp':30,"final_temp":70,"temp.grad":0,"Duration": 10,"steam_flow_rate":0.73},
127
+ 'hold_2':{'init_temp':70,"final_temp":70 ,"temp.grad":0,"Duration":5,"steam_flow_rate":0.02},
128
+ 'drain&stock_2':{'init_temp':30,"final_temp":50,"temp.grad":0,"Duration":10 ,"steam_flow_rate":0.73},
129
+ 'hold_3':{'init_temp':50,"final_temp":50,"temp.grad":0,"Duration":7 ,"steam_flow_rate":0.02},
130
+ 'drain&stock_3':{'init_temp':30,"final_temp":60,"temp.grad":0,"Duration": 10,"steam_flow_rate":0.73},
131
+ 'hold_4':{'init_temp':60,"final_temp":60,"temp.grad":0,"Duration":100 ,"steam_flow_rate":0.02},
132
+ 'drain&stock_4':{'init_temp':30,"final_temp":50,"temp.grad":0,"Duration":10,"steam_flow_rate":0.73},
133
+ 'hold_5':{'init_temp':50,"final_temp":50,"temp.grad":0,"Duration":7,"steam_flow_rate":0.02},
134
+ 'drain&stock_5':{'init_temp':30,"final_temp":50,"temp.grad":0,"Duration":10,"steam_flow_rate":0.73},
135
+ 'hold_6':{'init_temp':50,"final_temp": 50,"temp.grad":0,"Duration": 7,"steam_flow_rate":0.02},
136
+ 'drain&stock_6':{'init_temp':30,"final_temp":60 ,"temp.grad":0 ,"Duration":10,"steam_flow_rate":0.73},
137
+ 'heating_2':{'init_temp':80,"final_temp":95,"temp.grad":3.5 ,"Duration":4 ,"steam_flow_rate":0.38},
138
+ 'hold_7':{'init_temp':95,"final_temp":95,"temp.grad":0 ,"Duration":7 ,"steam_flow_rate":0.02},
139
+ 'cooling_2':{'init_temp':95,"final_temp":90 ,"temp.grad":2 ,"Duration":10 ,"steam_flow_rate":0},
140
+ 'drain&stock_7':{'init_temp':30,"final_temp":80,"temp.grad":0,"Duration":10,"steam_flow_rate":0.73},
141
+ 'hold_8':{'init_temp':80,"final_temp":80 ,"temp.grad":0 ,"Duration":10,"steam_flow_rate":0.02},
142
+ 'drain&stock_8':{'init_temp':30,"final_temp":80 ,"temp.grad":0 ,"Duration":10 ,"steam_flow_rate":0.73},
143
+ 'hold_9':{'init_temp':80,"final_temp":80 ,"temp.grad":0 ,"Duration":10 ,"steam_flow_rate":0.02},
144
+ 'drain&stock_9':{'init_temp':30,"final_temp":60 ,"temp.grad":0 ,"Duration":10 ,"steam_flow_rate":0.73},
145
+ 'hold_10':{'init_temp':60,"final_temp":60 ,"temp.grad":0 ,"Duration":10 ,"steam_flow_rate":0.02},
146
+ 'drain&stock_10':{'init_temp':30,"final_temp":50 ,"temp.grad":0 ,"Duration":10 ,"steam_flow_rate":0.73},
147
+ 'hold_11':{'init_temp':50,"final_temp":50 ,"temp.grad":0 ,"Duration":10 ,"steam_flow_rate":0.02},
148
+ 'drain&stock_11':{'init_temp':30,"final_temp":40 ,"temp.grad":0 ,"Duration":10,"steam_flow_rate":0.73},
149
+ 'hold_12':{'init_temp':40,"final_temp":40 ,"temp.grad":0 ,"Duration":14 ,"steam_flow_rate":0.2},
150
+ 'drain&unload':{'init_temp':0,"final_temp":0 ,"temp.grad":0 ,"Duration":10 ,"steam_flow_rate":0},
151
+ }
152
+
153
+
154
+ recipes_5_sample_shade = {'loading':{'init_temp':0,"final_temp":0 ,"temp.grad":0 ,"Duration":10 ,"steam_flow_rate":0},
155
+ 'Stock heating_1':{'init_temp':30,"final_temp":70 ,"temp.grad":0 ,"Duration": 10,"steam_flow_rate":0.73},
156
+ 'heating_1':{'init_temp':70,"final_temp":110 ,"temp.grad":3.5 ,"Duration": 12,"steam_flow_rate":0.38},
157
+ 'hold_1':{'init_temp':110,"final_temp":110 ,"temp.grad":0,"Duration":11 ,"steam_flow_rate":0.02},
158
+ 'cooling_1':{'init_temp':110,"final_temp":90 ,"temp.grad":2 ,"Duration":3 ,"steam_flow_rate":0},
159
+ 'drain&stock_1':{'init_temp':30,"final_temp":70,"temp.grad":0,"Duration": 10,"steam_flow_rate":0.73},
160
+ 'hold_2':{'init_temp':70,"final_temp":70 ,"temp.grad":0,"Duration":5,"steam_flow_rate":0.02},
161
+ 'drain&stock_2':{'init_temp':30,"final_temp":50,"temp.grad":0,"Duration":10 ,"steam_flow_rate":0.73},
162
+ 'hold_3':{'init_temp':50,"final_temp":50,"temp.grad":0,"Duration":7 ,"steam_flow_rate":0.02},
163
+ 'drain&stock_3':{'init_temp':30,"final_temp":60,"temp.grad":0,"Duration": 10,"steam_flow_rate":0.73},
164
+ 'hold_4':{'init_temp':60,"final_temp":60,"temp.grad":0,"Duration":100 ,"steam_flow_rate":0.02},
165
+ 'drain&stock_4':{'init_temp':30,"final_temp":50,"temp.grad":0,"Duration":10,"steam_flow_rate":0.73},
166
+ 'hold_5':{'init_temp':50,"final_temp":50,"temp.grad":0,"Duration":7,"steam_flow_rate":0.02},
167
+ 'drain&stock_5':{'init_temp':30,"final_temp":50,"temp.grad":0,"Duration":10,"steam_flow_rate":0.73},
168
+ 'hold_6':{'init_temp':50,"final_temp": 50,"temp.grad":0,"Duration": 7,"steam_flow_rate":0.02},
169
+ 'drain&stock_6':{'init_temp':30,"final_temp":60 ,"temp.grad":0 ,"Duration":10,"steam_flow_rate":0.73},
170
+ 'heating_2':{'init_temp':80,"final_temp":95,"temp.grad":3.5 ,"Duration":4 ,"steam_flow_rate":0.38},
171
+ 'hold_7':{'init_temp':95,"final_temp":95,"temp.grad":0 ,"Duration":7 ,"steam_flow_rate":0.02},
172
+ 'cooling_2':{'init_temp':95,"final_temp":90 ,"temp.grad":2 ,"Duration":10 ,"steam_flow_rate":0},
173
+ 'drain&stock_7':{'init_temp':30,"final_temp":80,"temp.grad":0,"Duration":10,"steam_flow_rate":0.73},
174
+ 'hold_8':{'init_temp':80,"final_temp":80 ,"temp.grad":0 ,"Duration":10,"steam_flow_rate":0.02},
175
+ 'drain&stock_8':{'init_temp':30,"final_temp":80 ,"temp.grad":0 ,"Duration":10 ,"steam_flow_rate":0.73},
176
+ 'hold_9':{'init_temp':80,"final_temp":80 ,"temp.grad":0 ,"Duration":10 ,"steam_flow_rate":0.02},
177
+ 'drain&stock_9':{'init_temp':30,"final_temp":60 ,"temp.grad":0 ,"Duration":10 ,"steam_flow_rate":0.73},
178
+ 'hold_10':{'init_temp':60,"final_temp":60 ,"temp.grad":0 ,"Duration":10 ,"steam_flow_rate":0.02},
179
+ 'drain&stock_10':{'init_temp':30,"final_temp":50 ,"temp.grad":0 ,"Duration":10 ,"steam_flow_rate":0.73},
180
+ 'hold_11':{'init_temp':50,"final_temp":50 ,"temp.grad":0 ,"Duration":10 ,"steam_flow_rate":0.02},
181
+ 'drain&stock_11':{'init_temp':30,"final_temp":40 ,"temp.grad":0,"Duration":10,"steam_flow_rate":0.73},
182
+ 'hold_12':{'init_temp':40,"final_temp":40 ,"temp.grad":0 ,"Duration":14 ,"steam_flow_rate":0.2},
183
+ 'drain&unload':{'init_temp':0,"final_temp":0 ,"temp.grad":0 ,"Duration":10 ,"steam_flow_rate":0},
184
+ }