def plotTemperature(ax, label=''): time, T, E_ks, E_tot, Vol, P = dp.getEnergyTemperaturePressure() ax.plot(time, T, lw=3, label=label) kargs = ma.getPropertyFromPosition(xlabel='Time (fs)', ylabel=r'T (K)', title='Temperature') ma.setProperty(ax, **kargs)
def action(index, folder): dataCurFolder = [] dataCurFolder.append([index, folder]) dp.getTrajactory() dataCurFolder.append(pps.calculateRMSD()) dataCurFolder.append(dp.getEnergyTemperaturePressure()) return dataCurFolder
def action(index,folder): dataCurFolder = [] dataCurFolder.append([index, folder]) dp.getTrajactory() dataCurFolder.append(pps.calculateRMSD()) dataCurFolder.append(dp.getEnergyTemperaturePressure()) return dataCurFolder
def action(index, folder): timeEf, eField = dP.getEField() timeEl, exe = dP.getExcitedElectrons() exe -= exe[0] timeEn, T, E_ks, E_tot, Vol, P = dP.getEnergyTemperaturePressure() deltaE = E_ks[start:, ] - E_ks[2] return [(index, folder), (timeEf, eField), (timeEl, exe), (timeEn, deltaE)]
def action(index, folder): timeEf, eField = dP.getEField() timeEl, exe = dP.getExcitedElectrons() exe -= exe[0] timeEn, T, E_ks, E_tot, Vol, P = dP.getEnergyTemperaturePressure() deltaE = E_ks[start:,] - E_ks[2] return [(index, folder), (timeEf, eField), (timeEl, exe), (timeEn,deltaE)]
def plotTotalEnergy(ax, label=''): time, T, E_ks, E_tot, Vol, P = dp.getEnergyTemperaturePressure() ax.plot(time, E_tot - E_tot[0], '-', lw=2, alpha=1, label=label) kargs = ma.getPropertyFromPosition(ylabel=r'E (eV)', xlabel='T (fs)', title='Excitation Energy') ma.setProperty(ax, **kargs)
def action(index, folder): #------------------------------------------------------------------------------ timeEf, eField = dP.getEField() timeEl, exe, exe1 = dP.getExcitedElectrons( comp = True) timeEn, T, E_ks, E_tot, Vol, P = dP.getEnergyTemperaturePressure(ave=True) deltaE = (E_ks[2:,] - E_ks[2]) return [(index, folder), (timeEf, eField), (timeEl, exe, exe1), (timeEn,deltaE)]
def action(index, folder): #------------------------------------------------------------------------------ timeEf, eField = dP.getEField() timeEl, exe, exe1 = dP.getExcitedElectrons(comp=True) timeEn, T, E_ks, E_tot, Vol, P = dP.getEnergyTemperaturePressure(ave=True) deltaE = (E_ks[2:, ] - E_ks[2]) return [(index, folder), (timeEf, eField), (timeEl, exe, exe1), (timeEn, deltaE)]
def action(index, folder): import os os.chdir('1') timeEf, eField = dP.getEField() timeEl, exe = dP.getExcitedElectrons() exe -= exe[0] timeEn, T, E_ks, E_tot, Vol, P = dP.getEnergyTemperaturePressure() deltaE = (E_tot[2:, ] - E_tot[2]) os.chdir('..') return [(index, folder), (timeEf, eField), (timeEl, exe), (timeEn, deltaE)]
def action(index,folder): ls = ['-','-','-','-'] ax = axs[0] time, Efield = dP.getEField() #directions = ['x', 'y', 'z'] for direct in range(3): if max(Efield[:,direct]) > 1E-10: ax.plot(time,Efield[:,direct], label=folder,lw=2,alpha=0.5) kargs=ma.getPropertyFromPosition(ylabel=r'$\varepsilon$(a.u.)',xlabel='Time(fs)', title='Electric Field') ma.setProperty(ax,**kargs) ax.ticklabel_format(style='sci',axis='y',scilimits=[0,0]) #------------------------------------------------------------------------------ ax = axs[1] time, T, E_ks, E_tot, Vol, P = dP.getEnergyTemperaturePressure(ave=True) # for i in range(2,E_ks.shape[0]-1): # if E_ks[i+1] - (E_ks[i] + E_ks[i-1])*0.5 > 2.0: # E_ks[i+1] = (E_ks[i] + E_ks[i-1])*0.5 ax.plot(time[2:], E_ks[2:] - E_ks[2],'-', lw=1, alpha=1, label=folder) kargs=ma.getPropertyFromPosition(ylabel=r'E(eV)',title='Excitation Energy') ma.setProperty(ax,**kargs)
import matplotlib.pyplot as plt import pyramids.io.result as dp import pyramids.plot.setting as ma import os fig, axs = plt.subplots(2, 1, sharex=False, sharey=False, figsize=(6, 8)) SaveName = __file__.split('/')[-1].split('.')[0] startStep = 10 c = ma.getColors(4) scandir = ('x', 'y') for idir, direct in enumerate(scandir): os.chdir(direct) ax = axs[0] time, T, E_ks, E_tot, Vol, P = dp.getEnergyTemperaturePressure() dipoles = dp.getDipole() dipoles[:, idir] = (dipoles[:, idir] - dipoles[0, idir] ) #* np.exp(-0.01*time) ax.plot(time, dipoles[:, idir], label=direct) ax.grid(which=u'major', axis='x') ax.grid(which=u'major', axis='y') ax = axs[1] N = dipoles.shape[0] timeStep = (time[-1] - time[0]) / (N - 1) omega = np.linspace(0, 70, 1000) absorbance = np.abs([ np.imag(io * np.sum( np.exp(1j * io * np.arange(N) * timeStep) * dipoles[:, idir]))
import pyramids.process.struct as pps fig, axs = plt.subplots(2,1,sharex=True,sharey=False,figsize=(8,6))# #-------------------------------------------------------------------------------------------- ax = axs[0] dp.getTrajactory() time, distance = pps.calculateRMSD() ax.plot(time, distance, lw=3) kargs=ma.getPropertyFromPosition(xlabel='Time (fs)', ylabel=r'$\langle u \rangle^\frac{1}{2}$ ($\AA$)', title='RMSD') ma.setProperty(ax,**kargs) #ax.ticklabel_format(style='sci',axis='y',scilimits=[0,0]) #-------------------------------------------------------------------------------------------- ax = axs[1] time, T, E_ks, E_tot, Vol, P = dp.getEnergyTemperaturePressure() ax.plot(time, T, lw=3) kargs=ma.getPropertyFromPosition(xlabel='Time (fs)', ylabel='T (K)', title='Temperature') ma.setProperty(ax,**kargs) #ax.ticklabel_format(style='sci',axis='y',scilimits=[0,0]) #-------------------------------------------------------------------------------------------- #plt.style.use('ggplot') plt.tight_layout() SaveName = __file__.split('/')[-1].split('.')[0] for save_type in ['.pdf','.png']: filename = SaveName + save_type plt.savefig(filename,dpi=800)
# -*- coding: utf-8 -*- """ Created on Thu Dec 22 08:43:43 2016 @author: cl-iop """ import numpy as np import matplotlib.pyplot as plt import pyramids.io.result as dP import pyramids.plot.setting as ma from pyramids.plot.PlotUtility import scanFolder import os os.chdir('Demo/Comp') time, T, E_ks, E_tot, Vol, P = dP.getEnergyTemperaturePressure(ave=True) ref = np.load('ref.npy') fig, ax = plt.subplots(1, 1, sharex=False, sharey=False, figsize=(8, 6)) from mpl_toolkits.axes_grid1.inset_locator import inset_axes axin = inset_axes(ax, width=2.5, height=2, loc=1) axin.plot( time, E_ks, '-', lw=3, ) axin.plot( time, ref,
def action(index, folder): #------------------------------------------------------------------------------ timeEn, T, E_ks, E_tot, Vol, P = dP.getEnergyTemperaturePressure() deltaE = (E_tot[2:,] - E_tot[2]) return [(index, folder), (timeEn[2:], deltaE, T[2:])]
# -*- coding: utf-8 -*- """ Created on Thu Dec 22 08:43:43 2016 @author: cl-iop """ import numpy as np import matplotlib.pyplot as plt import pyramids.io.result as dP import pyramids.plot.setting as ma from pyramids.plot.PlotUtility import scanFolder import os os.chdir('Demo/Comp') time, T, E_ks, E_tot, Vol, P = dP.getEnergyTemperaturePressure(ave=True) ref = np.load('ref.npy') fig, ax = plt.subplots(1,1,sharex=False,sharey=False,figsize=(8,6)) from mpl_toolkits.axes_grid1.inset_locator import inset_axes axin = inset_axes(ax, width=2.5, height=2, loc=1) axin.plot(time,E_ks,'-',lw=3,) axin.plot(time,ref,'-',lw=3,) axin.fill_between(time,E_ks,ref, color = 'r', alpha=0.8, label=r'$\Delta$') #axin.text(10.0,-0.10,r'$\Delta$',transform=axin.transAxes,fontsize=100) #ax.annotate('eqweqweqeqw$\Delta$',(0,0.0),(0,0),fontsize=50,arrowprops={ 'arrowstyle': '->'}) #() kargs=ma.getPropertyFromPosition(ylabel=r'Excitation enegy',xlabel='Time', xticklabels=[], yticklabels=[] ) ma.setProperty(axin,**kargs)
ax =axs[0] for eFieldType in ('ExternalElectricField','TD.GaugeField'): print eFieldType os.chdir(eFieldType) efields = os.popen('ls -d [0-9]*').readlines() nDir = len(efields) Efield = np.zeros([nDir]) energy = np.zeros([nDir]) dipoles = np.zeros([nDir,3]) dipolesIon = np.zeros([nDir,3]) for index, efield in enumerate(efields): os.chdir(efield[:-1]) Efield[index] = float(efield[:-1])*VA energy[index] = dp.getEnergyTemperaturePressure()[3][-1] if eFieldType == 'TD.GaugeField': dipolesIon[index,:] = dp.getIonicPolarization()[-1] dipoles[index,:] = dp.getElectronPolarization()[-1] else: dipoles[index,:] = dp.getDipole()[1][-1] os.chdir('..') print dipoles print dipolesIon print dipoles + dipolesIon #print (energy[-1]-energy[0])/(Efield[-1]-Efield[0]) axs[0].plot(Efield,energy ,'-o',label=eFieldType) for i, direction in enumerate(('x','y','z')): axs[1].plot(Efield,(dipoles + dipolesIon)[:,i] ,'-o',label=eFieldType+' '+direction) os.chdir('..')
def plotTemperature(ax, label=''): time, T, E_ks, E_tot, Vol, P = dp.getEnergyTemperaturePressure() ax.plot(time, T, lw=3, label=label) kargs=ma.getPropertyFromPosition(xlabel='Time (fs)', ylabel=r'T (K)', title='Temperature') ma.setProperty(ax,**kargs)
def plotAllEnergies(ax, label=''): time, T, E_ks, E_tot, Vol, P = dp.getEnergyTemperaturePressure() ax.plot(time, E_tot - E_tot[0],'-', lw=2, alpha=1, label=label) ax.plot(time, E_ks - E_ks[0],'-', lw=2, alpha=1, label=label) kargs=ma.getPropertyFromPosition(ylabel=r'E(eV)',xlabel='T (fs)', title='Excitation Energy') ma.setProperty(ax,**kargs)
def action(index, folder): dataCurFolder = [] dataCurFolder.append([index, folder]) dataCurFolder.append(dp.getEnergyTemperaturePressure(ave=True)) dataCurFolder.append(dp.getEField()) return dataCurFolder
def action(index,folder): dataCurFolder = [] dataCurFolder.append([index, folder]) dataCurFolder.append(dp.getEnergyTemperaturePressure(ave=True)) dataCurFolder.append(dp.getEField()) return dataCurFolder
def getEnergy(index,folder): time, T, E_ks, E_tot, Vol, P = dP.getEnergyTemperaturePressure(ave=True) return index, folder, E_ks
def action(index, folder): timeEn, T, E_ks, E_tot, Vol, P = dP.getEnergyTemperaturePressure() deltaE = E_ks[start:,] - E_ks[2] atoms = xv_to_atoms('siesta.XV') return index, folder, timeEn, deltaE, atoms