Exemplo n.º 1
0
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)
Exemplo n.º 2
0
def action(index, folder):
    dataCurFolder = []
    dataCurFolder.append([index, folder])
    dp.getTrajactory()
    dataCurFolder.append(pps.calculateRMSD())
    dataCurFolder.append(dp.getEnergyTemperaturePressure())
    return dataCurFolder
Exemplo n.º 3
0
def action(index,folder):
  dataCurFolder = []
  dataCurFolder.append([index, folder])
  dp.getTrajactory()
  dataCurFolder.append(pps.calculateRMSD())
  dataCurFolder.append(dp.getEnergyTemperaturePressure())
  return dataCurFolder
Exemplo n.º 4
0
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)]
Exemplo n.º 5
0
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)]
Exemplo n.º 6
0
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)
Exemplo n.º 7
0
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)]
Exemplo n.º 8
0
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)]
Exemplo n.º 9
0
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)]
Exemplo n.º 10
0
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)
Exemplo n.º 11
0
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]))
Exemplo n.º 12
0
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)

Exemplo n.º 13
0
# -*- 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,
Exemplo n.º 14
0
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:])]
Exemplo n.º 15
0
# -*- 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)
Exemplo n.º 16
0
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('..')
Exemplo n.º 17
0
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)
Exemplo n.º 18
0
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)
Exemplo n.º 19
0
def action(index, folder):
    dataCurFolder = []
    dataCurFolder.append([index, folder])
    dataCurFolder.append(dp.getEnergyTemperaturePressure(ave=True))
    dataCurFolder.append(dp.getEField())
    return dataCurFolder
Exemplo n.º 20
0
def action(index,folder):
  dataCurFolder = []
  dataCurFolder.append([index, folder])
  dataCurFolder.append(dp.getEnergyTemperaturePressure(ave=True))
  dataCurFolder.append(dp.getEField())
  return dataCurFolder
Exemplo n.º 21
0
def getEnergy(index,folder):
  time, T, E_ks, E_tot, Vol, P  = dP.getEnergyTemperaturePressure(ave=True)
  return index, folder, E_ks
Exemplo n.º 22
0
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