From dc5bcfe7f89195fb7bc0efa0fac38425c57b5202 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Georg=20=C2=B4Brantegger?= Date: Thu, 28 Jul 2022 16:26:04 +0200 Subject: [PATCH] fixed a coding mistake that lead to a missbehavior in the time evolution of the reservoir --- .../Ausgleichsbecken_class_file.py | 46 +- .../Ausgleichsbecken_test_steady_state.ipynb | 18 +- .../Druckrohrleitung_class_file.py | 4 +- .../Druckrohrleitung_test_steady_state.ipynb | 2054 +---------------- Untertweng.ipynb | 100 +- 5 files changed, 135 insertions(+), 2087 deletions(-) diff --git a/Ausgleichsbecken/Ausgleichsbecken_class_file.py b/Ausgleichsbecken/Ausgleichsbecken_class_file.py index fc65ea1..e07c6b7 100644 --- a/Ausgleichsbecken/Ausgleichsbecken_class_file.py +++ b/Ausgleichsbecken/Ausgleichsbecken_class_file.py @@ -72,11 +72,13 @@ class Ausgleichsbecken_class: def set_initial_level(self,initial_level): # sets the level in the reservoir and should only be called during initialization if self.level == '--': - self.level = initial_level - self.volume = self.update_volume() + self.level = initial_level else: raise Exception('Initial level was already set once. Use the .update_level(self,timestep) method to update level based on net flux.') + def set_level(self,level): + self.level = level + def set_influx(self,influx): # sets influx to the reservoir in m³/s # positive influx means that liquid flows into the reservoir @@ -95,15 +97,14 @@ class Ausgleichsbecken_class: def set_pressure(self,pressure): # sets the static pressure present at the outlet of the reservoir - # units are used to convert and display the pressure - self.pressure = pressure + self.pressure = pressure def set_steady_state(self,ss_influx,ss_level,display_pressure_unit): # set the steady state (ss) condition in which the net flux is zero # set pressure acting on the outflux area so that the level stays constant ss_outflux = ss_influx - ss_influx_vel = ss_influx/self.area - ss_outflux_vel = ss_outflux/self.area_outflux + ss_influx_vel = abs(ss_influx/self.area) + ss_outflux_vel = abs(ss_outflux/self.area_outflux) ss_pressure = self.density*self.g*ss_level+self.density*ss_outflux_vel*(ss_influx_vel-ss_outflux_vel) self.set_influx(ss_influx) @@ -115,6 +116,7 @@ class Ausgleichsbecken_class: def get_info(self, full = False): new_line = '\n' p = pressure_conversion(self.pressure,self.pressure_unit,self.pressure_unit_print) + outflux_vel = self.outflux/self.area_outflux if full == True: @@ -129,7 +131,7 @@ class Ausgleichsbecken_class: f"Volume in reservoir = {self.volume:<10} {self.volume_unit_print} {new_line}" f"Current influx = {self.influx:<10} {self.flux_unit_print} {new_line}" f"Current outflux = {self.outflux:<10} {self.flux_unit_print} {new_line}" - f"Current outflux vel = {round(self.outflux_vel,3):<10} {self.velocity_unit_print} {new_line}" + f"Current outflux vel = {round(outflux_vel,3):<10} {self.velocity_unit_print} {new_line}" f"Current pipe pressure = {round(p,3):<10} {self.pressure_unit_print} {new_line}" f"Simulation timestep = {self.timestep:<10} {self.time_unit_print} {new_line}" f"Density of liquid = {self.density:<10} {self.density_unit_print} {new_line}" @@ -142,7 +144,7 @@ class Ausgleichsbecken_class: f"Volume in reservoir = {self.volume:<10} {self.volume_unit_print} {new_line}" f"Current influx = {self.influx:<10} {self.flux_unit_print} {new_line}" f"Current outflux = {self.outflux:<10} {self.flux_unit_print} {new_line}" - f"Current outflux vel = {round(self.outflux_vel,3):<10} {self.velocity_unit_print} {new_line}" + f"Current outflux vel = {round(outflux_vel,3):<10} {self.velocity_unit_print} {new_line}" f"Current pipe pressure = {round(p,3):<10} {self.pressure_unit_print} {new_line}" f"----------------------------- {new_line}") @@ -157,9 +159,6 @@ class Ausgleichsbecken_class: def get_current_outflux(self): return self.outflux - def get_current_volume(self): - return self.volume - def get_current_pressure(self): return self.pressure @@ -174,19 +173,14 @@ class Ausgleichsbecken_class: # cannot set new level directly in this method, because it gets called to calcuate during the Runge Kutta # to calculate a ficticious level at half the timestep net_flux = self.influx-self.outflux - delta_V = net_flux*timestep - new_level = (self.volume+delta_V)/self.area + delta_level = net_flux*timestep/self.area + new_level = (self.level+delta_level) return new_level - def update_volume(self): - # sets volume in reservoir based on self.level - return self.level*self.area - def update_pressure(self): - influx_vel = self.influx/self.area - outflux_vel = self.outflux/self.area_outflux + influx_vel = abs(self.influx/self.area) + outflux_vel = abs(self.outflux/self.area_outflux) p_new = self.density*self.g*self.level+self.density*outflux_vel*(influx_vel-outflux_vel) - return p_new def timestep_reservoir_evolution(self): @@ -209,8 +203,10 @@ class Ausgleichsbecken_class: ynp1 = yn + dt/6*(FODE_function(Y1,h,A,A_a,p,rho,g)+2*FODE_function(Y2,h_hs,A,A_a,p_hs,rho,g)+ \ 2*FODE_function(Y3,h_hs,A,A_a,p_hs,rho,g)+ FODE_function(Y4,h,A,A_a,p,rho,g)) - self.outflux = ynp1*A_a - self.level = self.update_level(dt) - self.volume = self.update_volume() - self.pressure = self.update_pressure() - + new_outflux = ynp1*A_a + new_level = self.update_level(dt) + new_pressure = self.update_pressure() + + self.set_outflux(new_outflux) + self.set_level(new_level) + self.set_pressure(new_pressure) \ No newline at end of file diff --git a/Ausgleichsbecken/Ausgleichsbecken_test_steady_state.ipynb b/Ausgleichsbecken/Ausgleichsbecken_test_steady_state.ipynb index 05239aa..5e144d4 100644 --- a/Ausgleichsbecken/Ausgleichsbecken_test_steady_state.ipynb +++ b/Ausgleichsbecken/Ausgleichsbecken_test_steady_state.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 13, + "execution_count": 1, "metadata": {}, "outputs": [], "source": [ @@ -21,7 +21,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 2, "metadata": {}, "outputs": [], "source": [ @@ -51,7 +51,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 3, "metadata": {}, "outputs": [], "source": [ @@ -71,20 +71,20 @@ "\n", "# for while loop\n", "total_min_level = 0.01 # m\n", - "total_max_time = 1 # s\n", + "total_max_time = 100 # s\n", "\n", "nt = int(total_max_time//simulation_timestep)" ] }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "%matplotlib qt\n", "\n", - "V = Ausgleichsbecken_class(area_base, area_outflux, critical_level_low, critical_level_high,simulation_timestep)\n", + "V = Ausgleichsbecken_class(area_base,area_outflux,critical_level_low,critical_level_high,simulation_timestep)\n", "# V.set_initial_level(initial_level) \n", "# V.set_influx(initial_influx)\n", "# V.set_outflux(initial_outflux)\n", @@ -119,7 +119,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 5, "metadata": {}, "outputs": [], "source": [ @@ -149,7 +149,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 6, "metadata": {}, "outputs": [ { @@ -158,7 +158,7 @@ "10.1" ] }, - "execution_count": 18, + "execution_count": 6, "metadata": {}, "output_type": "execute_result" } diff --git a/Druckrohrleitung/Druckrohrleitung_class_file.py b/Druckrohrleitung/Druckrohrleitung_class_file.py index 44e759d..1a0ec3d 100644 --- a/Druckrohrleitung/Druckrohrleitung_class_file.py +++ b/Druckrohrleitung/Druckrohrleitung_class_file.py @@ -118,8 +118,8 @@ class Druckrohrleitung_class: ss_v0 = np.full(self.n_seg+1,ss_flux/self.A) # the static pressure is given by static state pressure of the reservoir, corrected for the hydraulic head of the pipe and friction losses - ss_v_in_res = ss_flux/area_reservoir - ss_v_out_res = ss_flux/self.A + ss_v_in_res = abs(ss_flux/area_reservoir) + ss_v_out_res = abs(ss_flux/self.A) ss_pressure_res = self.density*self.g*(ss_level_reservoir)+self.density*ss_v_out_res*(ss_v_in_res-ss_v_out_res) ss_pressure = ss_pressure_res+(self.density*self.g*h_vec)-(self.f_D*pl_vec/self.dia*self.density/2*ss_v0**2) diff --git a/Druckrohrleitung/Druckrohrleitung_test_steady_state.ipynb b/Druckrohrleitung/Druckrohrleitung_test_steady_state.ipynb index 299c49b..fd468bd 100644 --- a/Druckrohrleitung/Druckrohrleitung_test_steady_state.ipynb +++ b/Druckrohrleitung/Druckrohrleitung_test_steady_state.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 9, + "execution_count": 1, "metadata": {}, "outputs": [], "source": [ @@ -22,7 +22,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 2, "metadata": {}, "outputs": [], "source": [ @@ -69,7 +69,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 3, "metadata": {}, "outputs": [], "source": [ @@ -84,38 +84,33 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "0.8\n", - "0.8\n", - "10.0\n", - "97309.32104824147\n", - "96532.05564888839\n", - "96532.05564888839\n", - "[0.8 0.8 0.8 ... 0.8 0.8 0.8]\n", - "[1.25752054 1.25752054 1.25752054 ... 1.25752054 1.25752054 1.25752054]\n" + "The current attributes are: \n", + "----------------------------- \n", + "Current level = 10.0 m\n", + "Volume in reservoir = -- m³ \n", + "Current influx = 0.8 m³/s \n", + "Current outflux = 0.8 m³/s \n", + "Current outflux vel = 1.258 m/s \n", + "Current pipe pressure = 9.844 mWS \n", + "----------------------------- \n", + "\n" ] } ], "source": [ - "print(V.get_current_influx())\n", - "print(V.get_current_outflux())\n", - "print(V.get_current_level())\n", - "print(rho*g*V.get_current_level()-rho/2*(V.get_current_outflux()/area_pipe)**2)\n", - "print(V.get_current_pressure())\n", - "print(pipe.get_current_pressure_distribution()[0])\n", - "print(pipe.get_current_velocity_distribution()*area_pipe)\n", - "print(pipe.get_current_velocity_distribution())" + "V.get_info()" ] }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 5, "metadata": {}, "outputs": [], "source": [ @@ -146,7 +141,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 6, "metadata": {}, "outputs": [], "source": [ @@ -169,2021 +164,16 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 8, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n", - "96532.05564888839\n" - ] - } - ], + "outputs": [], "source": [ "\n", "for it_pipe in range(1,nt):\n", "# for each pipeline timestep, execute nt_eRK4 timesteps of the reservoir code\n", " # set initial conditions for the reservoir time evolution calculted with e-RK4\n", - " V.set_pressure = p_old[0]\n", - " # V.set_outflux = v_old[0]*area_pipe\n", + " V.set_pressure(p_old[0])\n", + " V.set_outflux(v_old[0]*area_pipe)\n", " # calculate the time evolution of the reservoir level within each pipeline timestep to avoid runaway numerical error\n", " for it_res in range(nt_eRK4):\n", " V.timestep_reservoir_evolution() \n", @@ -2224,7 +214,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 9, "metadata": {}, "outputs": [], "source": [ diff --git a/Untertweng.ipynb b/Untertweng.ipynb index 9eedd6d..bc92115 100644 --- a/Untertweng.ipynb +++ b/Untertweng.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "metadata": {}, "outputs": [], "source": [ @@ -17,7 +17,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "metadata": {}, "outputs": [], "source": [ @@ -26,7 +26,7 @@ "#Turbine\n", "Q_nenn = 0.85 # m³/s\n", "p_nenn = pressure_conversion(10.6,'bar','Pa')\n", - "closing_time = 30 #s\n", + "closing_time = 5 #s\n", "\n", "# physics\n", "g = 9.81 # gravitational acceleration [m/s²]\n", @@ -38,14 +38,14 @@ "A_pipe = D**2/4*np.pi # pipeline area\n", "h_pipe = 105 # hydraulic head without reservoir [m] \n", "alpha = np.arcsin(h_pipe/L) # Höhenwinkel der Druckrohrleitung \n", - "n = 200 # number of pipe segments in discretization\n", + "n = 50 # number of pipe segments in discretization\n", "# consider replacing Q0 with a vector be be more flexible in initial conditions\n", "# Q0 = Q_nenn # initial flow in whole pipe [m³/s]\n", "# v0 = Q0/A_pipe # initial flow velocity [m/s]\n", "f_D = 0.014 # Darcy friction factor\n", "c = 500. # propagation velocity of the pressure wave [m/s]\n", "# consider prescribing a total simulation time and deducting the number of timesteps from that\n", - "nt = 20000 # number of time steps after initial conditions\n", + "nt = 2500 # number of time steps after initial conditions\n", "\n", "# derivatives of the pipeline constants\n", "dx = L/n # length of each pipe segment\n", @@ -69,7 +69,7 @@ "critical_level_high = np.inf # for yet-to-be-implemented warnings[m]\n", "\n", "# make sure e-RK4 method of reservoir has a small enough timestep to avoid runaway numerical error\n", - "nt_eRK4 = 1000 # number of simulation steps of reservoir in between timesteps of pipeline \n", + "nt_eRK4 = 100 # number of simulation steps of reservoir in between timesteps of pipeline \n", "simulation_timestep = dt/nt_eRK4\n", "\n", "\n" @@ -77,7 +77,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "metadata": {}, "outputs": [], "source": [ @@ -90,7 +90,7 @@ "pipe = Druckrohrleitung_class(L,D,n,alpha,f_D)\n", "pipe.set_pressure_propagation_velocity(c)\n", "pipe.set_number_of_timesteps(nt)\n", - "pipe.set_steady_state(initial_flux,initial_level,pl_vec,h_vec)\n", + "pipe.set_steady_state(initial_flux,initial_level,area_base,pl_vec,h_vec)\n", "\n", "initial_pressure_turbine = pipe.get_current_pressure_distribution()[-1]\n", "\n", @@ -105,7 +105,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "metadata": {}, "outputs": [], "source": [ @@ -142,7 +142,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "metadata": {}, "outputs": [], "source": [ @@ -170,21 +170,20 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "# loop through time steps of the pipeline\n", "for it_pipe in range(1,pipe.nt+1):\n", "\n", - " if t_vec[it_pipe]>20:\n", - " if V.get_current_influx() > 0:\n", - " V.set_influx(np.max([V.get_current_influx()-initial_flux*5*1e-3,0.]))\n", + " if it_pipe == 250:\n", + " V.set_influx(0.)\n", "\n", "# for each pipeline timestep, execute nt_eRK4 timesteps of the reservoir code\n", " # set initial conditions for the reservoir time evolution calculted with e-RK4\n", - " V.set_pressure = p_old[0]\n", - " V.set_outflux = v_old[0]*area_outflux\n", + " V.set_pressure(p_old[0])\n", + " V.set_outflux(v_old[0]*area_outflux)\n", " # calculate the time evolution of the reservoir level within each pipeline timestep to avoid runaway numerical error\n", " for it_res in range(nt_eRK4):\n", " V.timestep_reservoir_evolution() \n", @@ -233,7 +232,24 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0.0\n" + ] + } + ], + "source": [ + "print(V.get_current_influx())" + ] + }, + { + "cell_type": "code", + "execution_count": 8, "metadata": {}, "outputs": [], "source": [ @@ -274,11 +290,57 @@ "fig2.tight_layout()\n", "plt.show()" ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The cuboid reservoir has the following attributes: \n", + "----------------------------- \n", + "Base area = 74.0 m² \n", + "Outflux area = 0.636 m² \n", + "Current level = 7.875725956447418 m\n", + "Critical level low = 0.0 m \n", + "Critical level high = inf m \n", + "Volume in reservoir = -- m³ \n", + "Current influx = 0.0 m³/s \n", + "Current outflux = -0.1415386124341686 m³/s \n", + "Current outflux vel = -0.222 m/s \n", + "Current pipe pressure = 0.772 bar \n", + "Simulation timestep = 0.0004052 s \n", + "Density of liquid = 1000 kg/m³ \n", + "----------------------------- \n", + "\n", + "9.22707730779877\n", + "10.57842865915012\n", + "11.92978001050147\n", + "13.281131361852822\n", + "14.632482713204173\n", + "15.983834064555523\n", + "17.335185415906874\n", + "18.686536767258225\n", + "20.037888118609576\n", + "21.389239469960927\n" + ] + } + ], + "source": [ + "V.get_info(full=True)\n", + "V.set_outflux(-10.)\n", + "for i in range(10):\n", + " V.level = V.update_level(10.)\n", + " print(V.get_current_level())" + ] } ], "metadata": { "kernelspec": { - "display_name": "Python 3.8.13 ('Georg_DT_Slot3')", + "display_name": "Python 3.8.13 ('DT_Slot_3')", "language": "python", "name": "python3" }, @@ -297,7 +359,7 @@ "orig_nbformat": 4, "vscode": { "interpreter": { - "hash": "84fb123bdc47ab647d3782661abcbe80fbb79236dd2f8adf4cef30e8755eb2cd" + "hash": "4a28055eb8a3160fa4c7e4fca69770c4e0a1add985300856aa3fcf4ce32a2c48" } } },