[gpaw-users] LCAO-TDDFT propagation on a charged system

Varadharajan Srinivasan varadharajan.srinivasan at gmail.com
Tue Aug 10 11:39:09 CEST 2021


Dear Tuomas,

Thanks for confirming and for fixing the issue. I am happy to test it on
some small systems if that could help.

Best,
Vardha

On Tuesday, August 10, 2021, Tuomas Rossi <tuomas.rossi at aalto.fi> wrote:

> Dear Vardha,
>
> It seems that the spin-polarized calculation was broken for LCAO RT-TDDFT.
> Thank you for reporting the issue!
>
> A fix for the spin-polarized calculation is work in progress in
> https://gitlab.com/gpaw/gpaw/-/merge_requests/910. Before the fix,
> odd-electron systems would work only in spin-paired mode (resulting in
> partial occupations).
>
> Best regards,
>
> Tuomas
>
>
> On 5.8.2021 10.11, Varadharajan Srinivasan via gpaw-users wrote:
>
>> Dear all,
>>
>> I was wondering whether there are any limitations on using the LCAO-based
>> RT-TDDFT on a singly charged (odd-electron) system? I ran an example for
>> Na2- and, while I was able to perform the ground state calculation, the
>> time-dependent run crashed with the following error:
>>   vt_G = hamiltonian.vt_sG[kpt.s]
>> IndexError: list index out of range
>>
>> I am able to run RT-TDDFT on the same system in FD mode just fine. My
>> ground state and tddft input scripts are given below. I am using GPAW
>> 21.6.0. Any help would be appreciated. I apologize if this issue has been
>> answered before but I couldn't find any posts. Also, not sure if there are
>> any obvious mistakes I am making here.
>>
>> Thanks,
>> Vardha.
>>
>> GS:
>>
>> from ase import Atoms
>> from gpaw import GPAW
>> from gpaw.poisson import PoissonSolver
>> from gpaw.poisson_extravacuum import ExtraVacuumPoissonSolver
>>
>> # Sodium atom chain
>> atoms = Atoms('Na2',
>>                positions=[[i * 3.0, 0, 0] for i in range(2)])
>> atoms.center(vacuum=6.0)
>>
>> # Use an advanced Poisson solver
>> ps = ExtraVacuumPoissonSolver(gpts=(512, 256, 256),
>>                                poissonsolver_large=PoissonSolver(),
>>                                coarses=2,
>>                                poissonsolver_small=PoissonSolver())
>>
>> # Ground-state calculation
>> calc = GPAW(mode='lcao', h=0.3, basis='pvalence.dz <http://pvalence.dz/
>> xc='LDA', charge = -1.0,
>>              setups={'Na': '1'}, spinpol = True,
>>              poissonsolver=ps,
>>              convergence={'density': 1e-12},
>>              txt='gs.out')
>> atoms.calc = calc
>> energy = atoms.get_potential_energy()
>> calc.write('gs.gpw', mode='all')
>>
>> TD:from gpaw.lcaotddft import LCAOTDDFT
>> from gpaw.lcaotddft.dipolemomentwriter import DipoleMomentWriter
>> from gpaw.lcaotddft.wfwriter import WaveFunctionWriter
>>
>> # Read the ground-state file
>> td_calc = LCAOTDDFT('gs.gpw', txt='td.out')
>>
>> # Attach any data recording or analysis tools
>> DipoleMomentWriter(td_calc, 'dm.dat')
>> WaveFunctionWriter(td_calc, 'wf.ulm')
>>
>> # Kick and propagate
>> td_calc.absorption_kick([1e-5, 0., 0.])
>> td_calc.propagate(20, 1500)
>>
>> # Save the state for restarting later
>> td_calc.write('td.gpw', mode='all')
>>
>>
>>
>> _______________________________________________
>> gpaw-users mailing list
>> 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/20210810/04fc8c92/attachment-0001.htm>


More information about the gpaw-users mailing list