dos.energy, y2=0, color='grey', edgecolor='k', lw=1) dosax.set_ylim(0, emax) dosax.set_yticks([]) dosax.set_xticks([]) dosax.set_xlabel("DOS", fontsize=18) fig.savefig('Al_phonon.png') # --- literalinclude division line --- # from ase.io.trajectory import Trajectory # from ase.io import write # Write modes for specific q-vector to trajectory files: L = path.special_points['L'] ph.write_modes([l / 2 for l in L], branches=[2], repeat=(8, 8, 8), kT=3e-4, center=True) # Generate gif animation: # XXX Temporarily disabled due to matplotlib writer compatibility issue. # with Trajectory('phonon.mode.2.traj', 'r') as traj: # write('Al_mode.gif', traj, interval=50, # rotation='-36x,26.5y,-25z')
plt.yticks(fontsize=18) plt.xlim(q[0], q[-1]) plt.ylim(0, 35) plt.ylabel("Frequency ($\mathrm{meV}$)", fontsize=22) plt.grid('on') plt.axes([.8, .07, .17, .85]) plt.fill_between(dos_e, omega_e, y2=0, color='lightgrey', edgecolor='k', lw=2) plt.ylim(0, 35) plt.xticks([], []) plt.yticks([], []) plt.xlabel("DOS", fontsize=18) plt.savefig('Al_phonon.png') # Write modes for specific q-vector to trajectory files ph.write_modes([l/2 for l in L], branches=[2], repeat=(8, 8, 8), kT=3e-4, center=True) # Generate png animation from subprocess import call from ase.io import PickleTrajectory, write trajfile = 'phonon.mode.2.traj' trajectory = PickleTrajectory(trajfile, 'r') for i, atoms in enumerate(trajectory): write('picture%02i.png' %i, atoms, show_unit_cell=2, rotation='-36x,26.5y,-25z') # Flatten images for better quality call(['convert', '-flatten', 'picture%02i.png' %i, 'picture%02i.png' %i]) # Make static pdf image for pdflatex