Texto y código sujeto bajo Creative Commons Attribution license, CC-BY-SA. (c) Original por Lorena A. Barba, 2013, traducido por F.J. Navarro-Brull para CAChemE.org import numpy as np u = np.array((0, 1, 2, 3, 4, 5)) for i in range(1,len(u)): print u[i]-u[i-1] u[1:]-u[0:-1] nx = 81 ny = 81 nt = 100 c = 1 dx = 2.0/(nx-1) dy = 2.0/(ny-1) sigma = .2 dt = sigma*dx x = np.linspace(0,2,nx) y = np.linspace(0,2,ny) u = np.ones((ny,nx)) ## Crea un vector 1xn de unos un = np.ones((ny,nx)) ## ###Asigna las condiciones iniciales u[.5/dy:1/dy+1,.5/dx:1/dx+1]=2 %%timeit u = np.ones((ny,nx)) u[.5/dy:1/dy+1,.5/dx:1/dx+1]=2 for n in range(nt+1): ##loop across number of time steps un[:] = u[:] for i in range(1, len(u)): for j in range(1, len(u)): u[i,j] = un[i, j] - (c*dt/dx*(un[i,j] - un[i-1,j]))-(c*dt/dy*(un[i,j]-un[i,j-1])) u[0,:] = 1 u[-1,:] = 1 u[:,0] = 1 u[:,-1] = 1 %%timeit u = np.ones((ny,nx)) u[.5/dy:1/dy+1,.5/dx:1/dx+1]=2 for n in range(nt+1): ##loop across number of time steps un[:] = u[:] u[1:,1:]=un[1:,1:]-(c*dt/dx*(un[1:,1:]-un[0:-1,1:]))-(c*dt/dy*(un[1:,1:]-un[1:,0:-1])) u[0,:] = 1 u[-1,:] = 1 u[:,0] = 1 u[:,-1] = 1 from IPython.core.display import HTML def css_styling(): styles = open("../styles/custom.css", "r").read() return HTML(styles) css_styling()