# axis_par = [{ 'title': 'Numérica', 'xlabel': 'x [m]', 'ylabel': 'T [$^o$C]' }, { 'title': 'Exacta', 'xlabel': 'x [m]', 'ylabel': 'T [$^o$C]' }, { 'title': 'Malla 1D' }] # # Definición de un canvas para graficar los resultados # v = flx.Plotter(3, 1, axis_par) # Son 3 renglones y una columna de ejes (Axes). # # En los primeros ejes graficamos la solución numérica. # v.plot(1, x, T, {'marker': 'o', 'ls': '-', 'label': 'Numérica'}) # # En los segundos ejes graficamos la solución exacta para comparación. # v.plot(2, x, Ta, { 'marker': 's', 'ls': '-', 'color': 'orange', 'label': 'Exacta' }) # # En los terceros ejes graficamos la malla del dominio.
par_contour = {'cmap':'cool', 'levels':20} archivo = 'input_example10.h5' h5_info = HDF5_info(archivo, verb=True) f = h5_info.file() malla = uMesh(nodes_x = f['mesh'].attrs['NX'], length_x = f['mesh'].attrs['WX'], nodes_y = f['mesh'].attrs['NY'], length_y = f['mesh'].attrs['WY']) x, y, _ = malla.constructMeshFVM() axis_par = [{'aspect':'equal','title':'Malla', 'xlabel':'x', 'ylabel':'y'}, {'aspect':'equal','title':h5_info.datasets_names[0], 'xlabel':'x', 'ylabel':'y'}] v = vis.Plotter(1,1,axis_par) ax = v.getAxis(1) #v.plot_mesh(1, malla, vol='', nod='') Tmax = f['inputs'].attrs['Tmax'] print(Tmax) T = np.zeros((malla.vx, malla.vy,Tmax)) for i in range(Tmax): T[:,:,i] = h5_info.datasets[i] #con = v.contourf(1,x,y, T[:,:,0],par_contour) #v.contour(1,x,y,T,{'levels':10}) # v.colorbar(2, con) from matplotlib.animation import FuncAnimation
'ylabel': '', 'xticks': [], 'yticks': [] }, { 'aspect': 'equal', 'title': 'Velocidad', 'xlabel': 'x', 'ylabel': 'y' }, { 'aspect': 'equal', 'title': 'Temperatura', 'xlabel': 'x', 'ylabel': '', 'yticks': [] }] v = flx.Plotter(2, 2, axis_par) v.contourf(1, xd, yv, uvel, {'levels': 20, 'cmap': 'Purples'}) v.contourf(2, xv, yd, vvel, {'levels': 20, 'cmap': 'Greens'}) vel_norm = np.sqrt(uvel_v**2 + vvel_v**2) con_i = v.contourf(3, xd, yd, vel_norm, {'levels': 50, 'cmap': 'Blues'}) v.quiver(3, xd, yd, uvel_v, vvel_v, {'scale': 20}) # # Definimos la fuente # Su = np.zeros((ivy, ivx)) #print('Su = ', Su) # # Definimos el esquema de disccretización # advdif_scheme = tAdvDiff2D(malla, Su, dt=dt, Gamma=k) advdif_scheme.setVelocity(uvel, vvel)