[Pw_forum] Learning TDDFT calculation in Atomic label (CH4 molecule) using turbo_lanczos.x and turbo_davidson.x

Timrov Iurii iurii.timrov at epfl.ch
Wed Jan 25 11:55:15 CET 2017


Dear Prem Sen,


> How to check the convergence for both the codes ??


First of all you need to make convergence tests for the ground-state calculation (with respect to the supercell size, kinetic energy cutoff for the wavefunctions (and density/potentials in the case of USPP)). In the turboLanczos calculation, check the convergence of the spectrum with respect to the number of Lanczos iterations. In the turboDavidson calculation, check that you compute enough eigenvalues of the Liouvillian (num_eign) to obtain the spectrum in the energy range of interest. I suggest you to read papers about these codes (please see TDDFPT/README), if you have not done this so.


> I was checking the optical absorption spectra for CH4 molecule (using the given example for the TDDFPT package) using both the code. They are not matching with each other.


Did you compare the examples "CH4" and "CH4-DAV"? These examples do not have converged parameters. First of all, in both calculations (Lanczos and Davidson) you have to start from the same ground state calculation: note that in "CH4" and "CH4-DAV" the input files are not the same.

Did you perform convergence tests in these examples in the linear-response part? Note that with Lanczos you will obtain an absorption spectrum in a wide energy range, whereas with Davidson you will obtain just a few peaks (depends on how many eigenvalues do you compute). Hence those peaks which you compute with Davidson should coincide with the peaks in the much more extended spectrum computed with Lanczos.


> Also I was trying to do for Carbon-dimer.  In this case also, the spectrum using both the codes are not matching with each other.  The input files are given below.


Before studying your system, try to solve the issue mentioned above (i.e. reach the agreement between spectra computed with two codes). Try first more simple XC functionals (LDA or GGA), and see if the spectra agree. Then try hybrid functionals. Try also another pseudopotential (without the word "gipaw").


You use different broadening parameters in Lorentzian smearing: In Davidson you have 0.005 Ry and in Lanczos you have 0.01 Ry. If you want the spectra to agree, you must use the same broadening parameter.


When you use the turbo_spectrum.x code after the turbo_lanczos.x code, set

 itermax0 = 2000
 itermax   = 10000

 extrapolation="osc"

Please see the paper turboTDDFT (see TDDFPT/README) in order to understand what does this mean.


HTH


Regards,

Iurii



--
Dr. Iurii Timrov
Postdoctoral Researcher
Swiss Federal Institute of Technology Lausanne (EPFL)
Laboratory of Theory and Simulation of Materials (THEOS)
CH-1015 Lausanne, Switzerland

________________________________
From: pw_forum-bounces at pwscf.org <pw_forum-bounces at pwscf.org> on behalf of prem sen <premsen1502 at gmail.com>
Sent: Tuesday, January 24, 2017 11:53 AM
To: pw_forum at pwscf.org
Subject: Re: [Pw_forum] Learning TDDFT calculation in Atomic label (CH4 molecule) using turbo_lanczos.x and turbo_davidson.x

Dear Dr. Iurii Timrov,
                             Thanks for the reply.
"The two codes (Lanczos and Davidson) must give you the same absorption spectrum (when both are converged)."

How to check the convergence for both the codes ??

I was checking the optical absorption spectra for CH4 molecule (using the given example for the TDDFPT package) using both the code. They are not matching with each other.


Also I was trying to do for Carbon-dimer.  In this case also, the spectrum using both the codes are not matching with each other.  The input files are given below.

I have checked the ecut & ecutfock convergence and also relaxed the structure.

For turbo_davidson.x ::

PW.X:

&CONTROL
  calculation  = "scf",
  restart_mode = "from_scratch"
  prefix       = "C2",
  pseudo_dir   = "../pseudo/",
  outdir       = "./tmp/",
/
&SYSTEM
  ibrav     = 0,
  nat       = 2,
  ntyp      = 1,
  ecutwfc   = 75,
  ecutfock  = 75,
  nosym     = .true.,
  input_dft = 'PBE0',
  x_gamma_extrapolation = .false.,
  exxdiv_treatment = 'vcut_spherical',
/
&ELECTRONS
  conv_thr    = 1.D-10,
  mixing_beta = 0.6,
  adaptive_thr = .true.,
/
CELL_PARAMETERS angstrom
10.0  0.0  0.0
 0.0 10.0  0.0
 0.0  0.0 10.0
ATOMIC_SPECIES
C  12.01  C.pbe-mt_gipaw.UPF
ATOMIC_POSITIONS (angstrom)
C        1.248029552   0.000000000   0.000000000
C        0.000000000   0.000000000   0.000000000
K_POINTS {Gamma}

Turbo_davidson.x:
&lr_input
    prefix="C2",
    outdir="./tmp/",
/
&lr_dav
    ecutfock  = 75,
    num_eign=30,
    num_init=60,
    num_basis_max = 300,
    residue_conv_thr = 1.0E-4,
    start = 0.0
    finish = 1.0,
    step = 0.0005,
    broadening = 0.005,
    reference = 0.0,
    d0psi_rs = .true.,
    lshift_d0psi = .true.,
    p_nbnd_virt = 20
/

For turbo_lanczos.x ::

I used the same file for pw.x as given above.


Turbo_lanczos.x:

&lr_input
    prefix="C2",
    outdir="./tmp/",
    restart_step=500,
/
&lr_control
    itermax=2000,
    ipol=4,
    ecutfock  = 75,
    pseudo_hermitian = .true.,
    d0psi_rs = .true.,
/


Turbo_spectrum.x:

&lr_input
  prefix='C2',
  outdir="./tmp/",
  itermax0 = 410
  itermax  = 10000
  epsil=0.01
  start=0.0d0
  end=1.50d0
  increment=0.001d0
  ipol=4
/



Thanks & regards,
Prem Sen
Ph.D. Student,
IIT Bombay,
Mumbai,India.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.quantum-espresso.org/pipermail/users/attachments/20170125/87f6b004/attachment.html>


More information about the users mailing list