[1]:
from Orr_Sommerfeld import OS
import numpy as np
import matplotlib
import matplotlib.pyplot as plt
matplotlib.rcParams['text.usetex'] = True
%matplotlib inline

Poiseuille Flow

\begin{align*} U(y)=1-y^2 \end{align*}

[2]:
#Schlatter R=5000 a=1.12 b=0 n=0
u2di=np.loadtxt('datos/OSTemSchlatter/u2di')
u2dr=np.loadtxt('datos/OSTemSchlatter/u2dr')

v2di=np.loadtxt('datos/OSTemSchlatter/v2di')
v2dr=np.loadtxt('datos/OSTemSchlatter/v2dr')

#R=5000 a=1.12 b=2.1 son con n==2 (son de inestabilidad secundaria)
u3di=np.loadtxt('datos/OSTemSchlatter/u3di')
u3dr=np.loadtxt('datos/OSTemSchlatter/u3dr')

v3di=np.loadtxt('datos/OSTemSchlatter/v3di')
v3dr=np.loadtxt('datos/OSTemSchlatter/v3dr')

w3di=np.loadtxt('datos/OSTemSchlatter/w3di')
w3dr=np.loadtxt('datos/OSTemSchlatter/w3dr')

Parametros de entrada

[3]:
N=100
R=5000
alp=1.12
b=2.1
n3d=2
n2d=0
Np=0
_,y=OS.cheb(N)
y=y[1:-1]

Validación perturbaciones

Caso 2D

[4]:
lam2d,u2d,v2d,w2d=OS.Orr_Sommerfeld_Temporal(N,R,alp,0,n2d,Np)
[5]:
x_ = [ele.real for ele in lam2d]
y_ = [ele.imag for ele in lam2d]

plt.scatter(x_, y_)
#plt.scatter(lam01[:,0],lam01[:,1],marker='^')
plt.scatter(lam2d[n2d].real,lam2d[n2d].imag,label="autovalor elegido")

plt.ylabel('Img($\lambda$)')
plt.xlabel('Re($\lambda$)')
plt.title(r'$Re=5000$ ; $\alpha=1.12$ ; $\beta=0$')
plt.ylim(-1,0.1)
plt.xlim(0,1)
plt.grid()
plt.legend()
plt.show()


../_images/examples_Poiseuille_8_0.png
[6]:


plt.plot(u2d.real,y,label= "$u_r(y)$") plt.scatter(u2dr[:,1],u2dr[:,0],label= "$ur_{Sch}(y)$", s=10) plt.plot(u2d.imag,y,label= "$u_i(y)$") plt.scatter(u2di[:,1],u2di[:,0],label= "$ui_{Sch}(y)$", s=10) #plt.plot(u_parametrosReal,y,u_parametrosImag,y) plt.xlim(-1.1,1.1) plt.ylim(-1.,1) plt.xlabel('$u$') plt.ylabel('$y$') plt.title('Perfil de la perturbación $u_{2D}(y)$') plt.grid() plt.legend() plt.show() plt.plot(v2d.real,y,label= "$v_r(y)$") plt.scatter(v2dr[:,1],v2dr[:,0],label= "$vr_{Sch}(y)$", s=10) plt.plot(v2d.imag,y,label= "$v_i(y)$") plt.scatter(v2di[:,1],v2di[:,0],label= "$vi _{Sch}(y)$", s=10) plt.xlim(-1.1,1.1) plt.ylim(-1.,1) plt.xlabel('$v$') plt.ylabel('$y$') plt.title('Perfil de la perturbación $v_{2D}(y)$') plt.grid() plt.legend() plt.show()
../_images/examples_Poiseuille_9_0.png
../_images/examples_Poiseuille_9_1.png

Caso 3D

[7]:
lam3d,u3d,v3d,w3d=OS.Orr_Sommerfeld_Temporal(N,R,alp,b,n3d,Np)
[8]:
x_ = [ele.real for ele in lam3d]
y_ = [ele.imag for ele in lam3d]

plt.scatter(x_, y_)
#plt.scatter(lam01[:,0],lam01[:,1],marker='^')
plt.scatter(lam3d[n3d].real,lam3d[n3d].imag,label="autovalor elegido")

plt.ylabel('Img($\lambda$)')
plt.xlabel('Re($\lambda$)')
plt.title(r'$Re=5000$ ; $\alpha=1.12$ ; $\beta=2.1$')
plt.ylim(-1,0.1)
plt.xlim(0,1)
plt.grid()
plt.legend()
plt.show()
../_images/examples_Poiseuille_12_0.png
[ ]:
plt.plot(u3d.real,y,label= "$u_r(y)$")
plt.scatter(u3dr[:,1],u3dr[:,0],label= "$ur_{Sch}(y)$", s=10)
plt.plot(u3d.imag,y,label= "$u_i(y)$")
plt.scatter(u3di[:,1],u3di[:,0],label= "$ui_{Sch}(y)$", s=10)
plt.xlim(-1.1,1.1)
plt.ylim(-1.,1)
plt.xlabel('$u$')
plt.ylabel('$y$')
plt.title('Perfil de la perturbación $u_{3D}(y)$')
plt.grid()
plt.legend()
plt.show()


plt.plot(v3d.real,y,label= "$v_r(y)$")
plt.scatter(v3dr[:,1],v3dr[:,0],label= "$vr_{Sch}(y)$", s=10)
plt.plot(v3d.imag,y,label= "$v_i(y)$")
plt.scatter(v3di[:,1],v3di[:,0],label= "$vi_{Sch}(y)$", s=10)
plt.xlim(-.04,.02)
plt.ylim(-1.,1)
plt.xlabel('u')
plt.ylabel('y')
plt.title('Perfil de la perturbación $v_{3D}(y)$')
plt.grid()
plt.legend()
plt.show()


plt.plot(w3d.real,y,label= "$w_r(y)$")
plt.scatter(w3dr[:,1],w3dr[:,0],label= "$wr_{Sch}(y)$", s=10)
plt.plot(w3d.imag,y,label= "$w_i(y)$")
plt.scatter(w3di[:,1],w3di[:,0],label= "$wi_{Sch}(y)$", s=10)
plt.xlim(-1.1,1.1)
plt.ylim(-1.,1)
plt.xlabel('$w$')
plt.ylabel('$y$')
plt.title('Perfil de la perturbación $w(y)$')
plt.grid()
plt.legend()

plt.show()


[ ]:

[ ]: