コード例 #1
0
                   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')
コード例 #2
0
ファイル: phonons.py プロジェクト: grhawk/ASE
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