rho = vt.GetScalarField('Density') ie = vt.GetScalarField('InternalEnergy') pylab.figure(1) pylab.plot(x0, p, '.', label=folder) pylab.figure(2) pylab.plot(x, u, '.', label=folder) pylab.figure(3) pylab.plot(x0, rho, '.', label=folder) pylab.figure(4) pylab.plot(x, ie, '.', label=folder) sol = numpy.array([shocktube.solution(xi, t) for xi in x]) p = sol[:, 0] u = sol[:, 1] rho = sol[:, 2] ie = p / rho / (shocktube.gamma - 1.0) pylab.figure(1) pylab.plot(x, p, '-', label='analytical') pylab.title('Pressure') pylab.legend() pylab.figure(2) pylab.plot(x, u, '-', label='analytical') pylab.title('Velocity') pylab.legend()
pylab.subplot(321) pylab.plot(x / 0.0271002710027, p / 1.013e5, "b.", label="Numerical") pylab.subplot(322) print len(x) print len(u_air) pylab.plot(x[: len(x)] / 0.0271002710027, u_air / 286.980353992, "b.", label="Numerical (Air)") pylab.subplot(323) pylab.plot(x / 0.0271002710027, rho_air / 1.23, "b.", label="Numerical") pylab.subplot(324) pylab.plot(x / 0.0271002710027, ie_air / 82357.7235772, "b.", label="Numerical (Air)") # Now work out the frozen flow ('analytical') solutions sol = numpy.array([shocktube.solution(xi, 4.0) for xi in x / 0.0271002710027]) p = sol[:, 0] u = sol[:, 1] rho = sol[:, 2] ie = p / rho / (shocktube.gamma - 1.0) pylab.subplot(321) pylab.plot(x / 0.0271002710027, p, "-g", label="Frozen flow") pylab.title("Normalised Pressure") pylab.legend(loc=2) pylab.subplot(322) pylab.plot(x / 0.0271002710027, u, "g-", label="Frozen flow (Air)") pylab.title("Normalised Velocity") pylab.legend(loc=2)
rho=vt.GetScalarField('Density') ie=vt.GetScalarField('InternalEnergy') pylab.figure(1) pylab.plot( x, p,'.', label=folder) pylab.figure(2) pylab.plot( x, u,'.', label=folder) pylab.figure(3) pylab.plot( x, rho,'.', label=folder) pylab.figure(4) pylab.plot( x, ie,'.', label=folder) sol=numpy.array([shocktube.solution(xi,t) for xi in x]) p=sol[:,0] u=sol[:,1] rho=sol[:,2] ie=p/rho/(shocktube.gamma-1.0) pylab.figure(1) pylab.plot( x, p,'-', label='analytical') pylab.title('Pressure') pylab.legend() pylab.figure(2) pylab.plot( x, u,'-', label='analytical') pylab.title('Velocity') pylab.legend()
ie_air / 82357.7235772, 'b.', label="Numerical (Air)") pylab.plot(x / 0.0271002710027, ie_dust / 82357.7235772, 'r.', label="Numerical (Dust)") # Multiply the PhaseVolumeFraction by the Dust Density to get the mass concentration, and then normalise. pylab.subplot(326) pylab.plot(x / 0.0271002710027, vfrac * 2500.0 / 1.23, 'b.', label="Numerical") pylab.title('Mass Concentration from PhaseVolumeFraction of Particles') pylab.legend(loc=2) # Now work out the frozen flow ('analytical') solutions sol = numpy.array([shocktube.solution(xi, 4.0) for xi in x / 0.0271002710027]) p = sol[:, 0] u = sol[:, 1] rho = sol[:, 2] ie = p / rho / (shocktube.gamma - 1.0) pylab.subplot(321) pylab.plot(x / 0.0271002710027, p, '-g', label='Frozen flow') pylab.title('Normalised Pressure') pylab.legend(loc=2) pylab.subplot(322) pylab.plot(x / 0.0271002710027, u, 'g-', label='Frozen flow (Air)') pylab.title('Normalised Velocity') pylab.legend(loc=2)
filename_in = filename_part + str(time_level) + '.vtu' filename_out = filename_part + str(format(time_level,"03g")) + '.png' print 'Processing file' , filename_in , '...', vt=vtktools.vtu(filename_in) t=vt.GetScalarField('Time')[0] xyz=vt.GetLocations() x=xyz[:,0] p=vt.GetScalarField('Pressure') uvw=vt.GetVectorField('Velocity') u=uvw[:,0] rho=vt.GetScalarField('Density') ie=vt.GetScalarField('InternalEnergy') analytical_solution = numpy.array([shocktube.solution(xi,t) for xi in x]) analytical_p = analytical_solution[:,0] analytical_u=analytical_solution[:,1] analytical_rho=analytical_solution[:,2] analytical_ie=analytical_p/analytical_rho/(shocktube.gamma-1.0) fig = plt.figure() pressure_subplot = fig.add_subplot(4,1,1) pressure_subplot.plot( x, p,'.') pressure_subplot.plot( x, analytical_p,'-') plt.axis((x[0],x[-1],0.1,1.1)) plt.ylabel('p') velocity_subplot = fig.add_subplot(4,1,2) velocity_subplot.plot( x, u,'.')
filename_in = filename_part + str(time_level) + '.vtu' filename_out = filename_part + str(format(time_level, "03g")) + '.png' print 'Processing file', filename_in, '...', vt = vtktools.vtu(filename_in) t = vt.GetScalarField('Time')[0] xyz = vt.GetLocations() x = xyz[:, 0] p = vt.GetScalarField('Pressure') uvw = vt.GetVectorField('Velocity') u = uvw[:, 0] rho = vt.GetScalarField('Density') ie = vt.GetScalarField('InternalEnergy') analytical_solution = numpy.array([shocktube.solution(xi, t) for xi in x]) analytical_p = analytical_solution[:, 0] analytical_u = analytical_solution[:, 1] analytical_rho = analytical_solution[:, 2] analytical_ie = analytical_p / analytical_rho / (shocktube.gamma - 1.0) fig = plt.figure() pressure_subplot = fig.add_subplot(4, 1, 1) pressure_subplot.plot(x, p, '.') pressure_subplot.plot(x, analytical_p, '-') plt.axis((x[0], x[-1], 0.1, 1.1)) plt.ylabel('p') velocity_subplot = fig.add_subplot(4, 1, 2) velocity_subplot.plot(x, u, '.')