[gpaw-users] (no subject)

Tuomas Rossi tuomas.rossi at aalto.fi
Wed Apr 6 08:58:20 CEST 2016


Hi,

It seems that in the current version the energy is written in atomic 
units during the time propagation. This explains the difference here, 
669/24 ~ Hartree energy.

Best,
Tuomas

On 2016-04-06 08:53, mohamed amin wrote:
> Thank you.
> I have tried your suggestion and the energy improved but still didn't 
> match the ground state energy. So it starts the TD iterations with -24 
> energy while the ground state energy converged at -669. However, 
> before adding your solution the energy used to start with 2043. My in 
> gs and td script are:
> /////////// GS ///////////////////////////
> import sys
> import numpy as np
> from ase import Atoms, Atom
> from ase.units import Bohr
> from gpaw import GPAW
> from ase.io import write
> from gpaw import GPAW, FermiDirac
> from jellium_cluster import *
> from gpaw import Mixer
>
> mixer=Mixer(beta=0.02, nmaxold=5, weight=100.0)
> L = 32.
> jellium = Atoms(cell=(L, L, L)) # simulation cell with no atoms (cube 
> LxLxL)
>
> convergence ={'density': 1.0e-5}
>
> # radius of positive sphere
> R = 14.276
> # charge of positive sphere
> Z = 331.
> # center of
> center = (L/2,L/2,L/2)
> # special poisson solver
> poissonsolver = SphericalJelliumClusterPoissonSolver(Z, R, center)
>
> nelec     = 331   # number of electrons
> nstates   = 192  # number of states
> jellium.calc = GPAW( poissonsolver=poissonsolver, # use special 
> Poisson solver
>                      xc='LDA',
>                      charge=-nelec,          # charge of electrons, 
> total charge = Z - nelec
>                      nbands=nstates,
>                      h=.50,
>                      txt='Na_out.txt',
>                      eigensolver='cg', #'rmm-diis','cg'
>                      occupations=FermiDirac(width=0.05),
>                      mixer=mixer,
>                      convergence=convergence,
>                      maxiter=2000)
>
> jellium.calc.attach(jellium.calc.write, 10, 'rest.gpw')
> # find electronic states
> e0 = jellium.get_potential_energy()
>
> # save states
> jellium.calc.write('na.gpw', mode='all')
>
>
>
> //////////////////// TD ////////////////////////
> from ase import Atoms
> from gpaw import GPAW
> from gpaw.tddft import TDDFT, photoabsorption_spectrum
> from jellium_cluster import *
>
>
> L = 32.
> jellium = Atoms(cell=(L, L, L)) # simulation cell with no atoms (cube 
> LxLxL)
> # radius of positive sphere
> R = 14.276
> # charge of positive sphere
> Z = 331.
> # center of
> center = (L/2,L/2,L/2)
> # special poisson solver
> poissonsolver = SphericalJelliumClusterPoissonSolver(Z, R, center)
> time_step = 1.0 # 8.0 as (1 as = 0.041341 autime)5D
> iters =  4000     # 2000 x 8 as => 16 fs
> kick = [0,0,5e-3]
> # TDDFT calculator
> td_calc = TDDFT('na.gpw',
>                  poissonsolver=poissonsolver)
>
> # Kick
> td_calc.absorption_kick(kick)
>
>
> # Propagate
> td_calc.propagate(time_step, iters, '331_jell.dat', '331_JELLIUM_td.gpw')
> td_calc.write('331_JELLIUM_td.gpw', mode='all')
> photoabsorption_spectrum('331_jell.dat', '331_spectrum_z.dat')
>
> //////////////////////////////////////////////////////////////////////////////////////////
> Thank you for you help
> Sincerely,
>
> Muhamed Amin
>
>
> On Monday, April 4, 2016 12:07 PM, Tuomas Rossi 
> <tuomas.rossi at aalto.fi> wrote:
>
>
> Hi,
>
> The following should work:
>
> td_calc = TDDFT('na.gpw',
>                 poissonsolver=poissonsolver)
>
> (TDDFT calculator inherits from GPAW class, so it supports similar
> arguments.)
>
> Best,
> Tuomas
>
>
> On 2016-04-04 11:39, mohamed amin wrote:
> > Thanks for reply,
> > I checked the GPAW manual and I didn't see a way to give poissonsolver
> > to TDDFT object. It only allows you to provide the linear equation 
> solver.
> > Do you know how to provide the poissonsolver to TDDFT object?
> > Thanks again
> > Sincerely,
> >
> > Muhamed Amin
> >
> >
> > On Monday, April 4, 2016 8:59 AM, Tuomas Rossi 
> <tuomas.rossi at aalto.fi <mailto:tuomas.rossi at aalto.fi>>
> > wrote:
> >
> >
> > Hi,
> >
> > It seems that the TDDFT calculator is using the default poissonsolver
> > and thus the jellium potential is not present there. So, you need to
> > give the same jellium poissonsolver to TDDFT calculator also.
> >
> > Note: the poissonsolver is not stored in gpw file (question to
> > developers: should it be?).
> >
> > If this doesn't help, please attach the entire input scripts and output
> > files.
> >
> > Best,
> > Tuomas
> >
> >
> > On 2016-04-01 13:39, Ask Hjorth Larsen via gpaw-users wrote:
> >  > Hello Amin
> >  >
> >  > 2016-03-31 18:42 GMT+02:00 mohamed amin <siasas at yahoo.com 
> <mailto:siasas at yahoo.com>
> > <mailto:siasas at yahoo.com <mailto:siasas at yahoo.com>>>:
> >  >> Hi Ask,
> >  >> I have tried to send my questions to the GPAW list many times but I
> > never see them posted although I'm getting the messages from other 
> users.
> >  >> I wanted to know why when I start td propagation the energy is very
> > different that the ground state energy. For example, when I ran the same
> > calculations on octopus, the td calculations start with the ground state
> > energy then it changes gradually with time. In GPAW, the td energies are
> > positive while the gs are negative. I don't know what is the source of
> > error.
> >  >
> >  > I guess this will reach the mailing list now then.  Unfortunately 
> I am
> >  > not so well into the time-dependent code. Maybe someone else can have
> >  > a look?
> >  >
> >  > Note: I recommend attaching entire scripts rather than inline 
> snippets.
> >  >
> >  > Also, who can tell why Amin's e-mails might not be arriving to the
> > mailing list?
> >  >
> >  > Best regards
> >  > Ask
> >  >
> >  >> Here is my gs input:
> >  >> jellium.calc = GPAW( poissonsolver=poissonsolver, # use special
> > Poisson solver
> >  >>                      xc='LDA',
> >  >>                      charge=-nelec,     # charge of electrons,
> > total charge = Z - nelec
> >  >>                      nbands=nstates,
> >  >>                      h=.50,
> >  >>                      txt='Na.txt',
> >  >>                      eigensolver='cg',             #'rmm-diis','cg'
> >  >> occupations=FermiDirac(width=0.05),
> >  >>                      mixer=mixer,
> >  >> convergence=convergence,
> >  >>                      maxiter=2000)
> >  >>
> >  >> jellium.calc.attach(jellium.calc.write, 10, 'rest.gpw')
> >  >> # find electronic states
> >  >> e0 = jellium.get_potential_energy()
> >  >>
> >  >> # save states
> >  >> jellium.calc.write('na.gpw', mode='all')
> >  >>
> >  >> and my td input
> >  >>
> >  >> time_step = 1.0 # 8.0 as (1 as = 0.041341 autime)5D
> >  >> iters =  4000    # 2000 x 8 as => 16 fs
> >  >> # Weak delta kick to z-direction
> >  >> kick = [0,0,5e-3]
> >  >> print "*********************************Starting TDDFT
> > calculations******************************"
> >  >> # TDDFT calculator
> >  >> td_calc = TDDFT('na.gpw')
> >  >> # Kick
> >  >> td_calc.absorption_kick(kick)
> >  >>
> >  >> frequencies = [2.80, 2.98]    # Frequencies of interest in eV
> >  >> folding = 'Gauss'            # Folding function
> >  >> width = 0.1                  # Line width for folding in eV
> >  >> ind = TDDFTInducedField(paw=td_calc,
> >  >> frequencies=frequencies,
> >  >>                          folding=folding,
> >  >>                          width=width,
> >  >> restart_file='331_jellium_td.ind')
> >  >>
> >  >>
> >  >> # Propagate
> >  >> td_calc.propagate(time_step, iters, '331_jell.dat',
> > '331_JELLIUM_td.gpw')
> >  >> td_calc.write('331_JELLIUM_td.gpw', mode='all')
> >  >> ind.write('331_jellium_td.ind')
> >  >> photoabsorption_spectrum('331_jell.dat', '331_spectrum_z.dat')
> >  >>
> >  >> Thanks
> >  >>
> >  >> Sincerely,
> >  >>
> >  >> Muhamed Amin
> >
> >  >
> >  > _______________________________________________
> >  > gpaw-users mailing list
> >  > gpaw-users at listserv.fysik.dtu.dk 
> <mailto:gpaw-users at listserv.fysik.dtu.dk>
> > <mailto:gpaw-users at listserv.fysik.dtu.dk 
> <mailto:gpaw-users at listserv.fysik.dtu.dk>>
>
> >  > https://listserv.fysik.dtu.dk/mailman/listinfo/gpaw-users
> >
> >  >
> >
> >
>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listserv.fysik.dtu.dk/pipermail/gpaw-users/attachments/20160406/101a94c4/attachment-0001.html>


More information about the gpaw-users mailing list