diff --git a/scripts/demos/plant/__init__.py b/scripts/demos/plant/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/scripts/demos/plant/demo_pot.py b/scripts/demos/plant/demo_pot.py new file mode 100644 index 0000000..21ee5a3 --- /dev/null +++ b/scripts/demos/plant/demo_pot.py @@ -0,0 +1,59 @@ +import numpy as np +from matplotlib.pyplot import plot, figure, subplot, grid, show, legend +from components.plant.pot import Pot + + +if __name__ == '__main__': + dt = 1.0 + power_on = 3500 + steps_heat = 4000 + steps_cool = 40000 + + pot_params = { + "theta" : 20, + "C" : 4190, + "M" : 20, + "L" : 0.4, + "Td" : 30, + "kn" : 0.2, + "gain" : 1.0 + } + + pot = Pot(dt, pot_params) + + _t = np.empty(0) + _temp = np.empty(0) + _p_pot = np.empty(0) + _power = np.empty(0) + + t = 0 + pot.set_power(power_on) + for _ in range(steps_heat): + pot.process() + _t = np.append(_t, t) + _temp = np.append(_temp, pot.get_temperature()) + _p_pot = np.append(_p_pot, pot.get_p_pot()) + _power = np.append(_power, pot.get_power()) + t += 1 + + pot.set_power(0) + for _ in range(steps_cool): + pot.process() + _t = np.append(_t, t) + _temp = np.append(_temp, pot.get_temperature()) + _p_pot = np.append(_p_pot, pot.get_p_pot()) + _power = np.append(_power, pot.get_power()) + t += 1 + + figure(1) + subplot(2, 1, 1) + plot(_t, _temp, '-b', linewidth=1) + legend(["temp"]) + grid(True) + subplot(2, 1, 2) + plot(_t, _power, '-g', _t, _p_pot, '-r', linewidth=1) + legend(["power", "p_pot"]) + grid(True) + show() + + print("End of program")