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

Boundary Layer Flow

\begin{align*} f^{(3)}(\eta)+\frac{f^{(2)}(\eta)f(\eta)}{2}=0 \end{align*}

Parametros de entrada

[2]:
fc=1.7207876573 # factor de conversion
N=200
_,y=OS.cheb(N)
y=y[1:-1]
Np=2 # Boundary Layer
[3]:
lamBL1,u,v,w=OS.Orr_Sommerfeld_Temporal(N,800/fc,0.25/fc,0.2/fc,0,Np)
[4]:
lamBL2,_,_,_=OS.Orr_Sommerfeld_Temporal(N,800/fc,0.125/fc,0.3/fc,0,Np)
[5]:
# validacion libro Shmid
# alpha=0.125 beta=0.3
espectro4R=np.array([0.42986402,0.67108511,0.43734404,0.86076659])
espectro4I=np.array([-0.01526073,-0.31529294,-0.36626806,-0.46712319])

#alpha=0.25 beta=0.2
espectro3R=np.array([0.39065421,0.54772364,0.33866341,0.79181869,0.65749147])
espectro3I=np.array([+0.00287572,-0.23434181,-0.31005379,-0.37872068,-0.40505900])

Validación espectro

[6]:

x_ = [ele.real for ele in lamBL1] y_ = [ele.imag for ele in lamBL1] plt.scatter(x_, y_,) plt.scatter(espectro3R,espectro3I,label="Schmid",s=25,marker="^") plt.ylabel('Img($\lambda$)') plt.xlabel('Re($\lambda$)') plt.title(r'$Re_{\delta^*}=800$ ; $\alpha_{\delta^*}=0.25$ ; $\beta_{\delta^*}=0.2$') plt.ylim(-1,0.1) plt.xlim(0.2,1) plt.grid() plt.legend() plt.show() x_ = [ele.real for ele in lamBL2] y_ = [ele.imag for ele in lamBL2] nn=1 plt.scatter(x_, y_,) plt.scatter(espectro4R,espectro4I,label="Schmid",s=25,marker="^") plt.ylabel('Img($\lambda$)') plt.xlabel('Re($\lambda$)') plt.title(r'$Re_{\delta^*}=800$ ; $\alpha_{\delta^*}=0.125$ ; $\beta_{\delta^*}=0.3$') plt.ylim(-1,0.1) plt.xlim(0.2,1) plt.grid() plt.legend() plt.show()
../_images/examples_Boundary_Layer_8_0.png
../_images/examples_Boundary_Layer_8_1.png

Autofunciones

[7]:
plt.plot(u.real,OS.mapping(y,Np),label= "$u_r(y)$")
plt.plot(u.imag,OS.mapping(y,Np),label= "$u_i(y)$")
plt.xlabel('$v$')
plt.ylabel('$y$')
plt.title('Perfil de la perturbación $u_{2D}(y)$')
plt.grid()
plt.legend()
plt.show()

plt.plot(v.real,OS.mapping(y,Np),label= "$v_r(y)$")
plt.plot(v.imag,OS.mapping(y,Np),label= "$v_i(y)$")
plt.xlabel('$v$')
plt.ylabel('$y$')
plt.title('Perfil de la perturbación $v_{2D}(y)$')
plt.grid()
plt.legend()
plt.show()
../_images/examples_Boundary_Layer_10_0.png
../_images/examples_Boundary_Layer_10_1.png
[ ]: