Exemplo n.º 1
0
    def run(self):
        start = time.time()
        self.environment.set_total_intensity(0)
        self.environment.set_blue_intensity(0)
        array = Array()
        water = Array()
        wheel = {}
        array.randomize()
        t = 0
        while t < 350:
            if t < 7:
                wheel[t] = Array()
                array.calculate_next(self.environment, water, wheel[t % 7], t)
            else:
                array.calculate_next(self.environment, water, wheel[(t - 6) % 7], t)
            paint_array(array, str(t))
            self.record_data(t, array)

            if t == 20:
                self.environment.set_total_intensity(800)
            #if t == 200:
             #   self.environment.set_blue_intensity(5)

            t += 1
        end = time.time()
        runtime = end - start
        print("This simulation took " + str(round(runtime / 60)) + " minutes.")
Exemplo n.º 2
0
t = 0
time = []
temp = []
avg_temp = []
wue = []
avg_wue = []
array.randomize()
env.set_total_intensity(0)
env.set_blue_intensity(0)
env.set_ambient_water(10)
while t < 300:
    temp.clear()
    wue.clear()
    wheel[t % 7] = Array()
    if t >= 7:
        array.calculate_next(env, water, wheel[(t - 6) % 7], t)
    else:
        array.calculate_next(env, water, wheel[t], t)
    if t == 20:
        env.set_total_intensity(900)
    if t == 200:
        env.set_blue_intensity(5)

    for i in range(5):
        for unit in array[i]:
            temp.append(unit.get_temperature())
            wue.append((env.get_ambient_carbon() - unit.get_carbon_dioxide()) /
                       (unit.get_es_water_vapor() - env.get_ambient_water()))

    avg_temp.append(sum(temp) / len(temp))
    avg_wue.append(sum(wue) / len(wue))