Merge branch 'Dev'
This commit is contained in:
@@ -169,23 +169,28 @@ class Francis_Turbine:
|
||||
c = convergence_parameters[6] # pressure wave propagtation velocity
|
||||
rho = convergence_parameters[7] # density of the liquid
|
||||
dt = convergence_parameters[8] # timestep of the characteristic method
|
||||
|
||||
p_old = convergence_parameters[9] # pressure of previous timestep
|
||||
Q_old = self.get_current_Q()
|
||||
v_old = Q_old/area_pipe
|
||||
|
||||
|
||||
while iteration_change > eps:
|
||||
|
||||
p_new = p-rho*c*(v_old-v)+rho*c*dt*g*np.sin(alpha)-f_D*rho*c*dt/(2*D)*abs(v)*v
|
||||
# print(p_new)
|
||||
p_new = p_old+(p_new-p_old)/3
|
||||
# print(p_new)
|
||||
self.set_pressure(p_new)
|
||||
Q_new = self.get_current_Q()
|
||||
v_new = Q_new/area_pipe
|
||||
# print(Q_old,Q_new)
|
||||
|
||||
iteration_change = abs(Q_old-Q_new)
|
||||
Q_old = Q_new.copy()
|
||||
v_old = v_new.copy()
|
||||
p_old = p_new.copy()
|
||||
i = i+1
|
||||
if i == 1e6:
|
||||
print('did not converge')
|
||||
break
|
||||
# print(i)
|
||||
# self.get_current_Q()
|
||||
# print(i)
|
||||
@@ -192,7 +192,7 @@
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"convergence_parameters = [p_old[-2],v_old[-2],Pip_dia,Pip_area,Pip_angle,Pip_f_D,Pip_pw_vel,rho,Pip_dt]\n",
|
||||
"convergence_parameters = [p_old[-2],v_old[-2],Pip_dia,Pip_area,Pip_angle,Pip_f_D,Pip_pw_vel,rho,Pip_dt,p_old[-1]]\n",
|
||||
"\n",
|
||||
"# loop through Con_T_ime steps of the pipeline\n",
|
||||
"for it_pipe in range(1,nt+1):\n",
|
||||
@@ -224,6 +224,7 @@
|
||||
" turbine.set_pressure(p_old[-1])\n",
|
||||
" convergence_parameters[0] = p_old[-2]\n",
|
||||
" convergence_parameters[1] = v_old[-2]\n",
|
||||
" convergence_parameters[9] = p_old[-1]\n",
|
||||
" turbine.converge(convergence_parameters)\n",
|
||||
" p_boundary_res[it_pipe] = reservoir.get_current_pressure()\n",
|
||||
" v_boundary_tur[it_pipe] = 1/Pip_area*turbine.get_current_Q()\n",
|
||||
|
||||
Reference in New Issue
Block a user