forum@abinit.org
Subject: The ABINIT Users Mailing List ( CLOSED )
List archive
- From: Matteo Giantomassi <gmatteo@pcpm.ucl.ac.be>
- To: forum@abinit.org
- Subject: Re: [abinit-forum] what is the difference between "ecut" and "ecutwfn" in GW?
- Date: Mon, 29 Oct 2007 19:33:16 +0100 (CET)
On Mon, 29 Oct 2007, Xiaohong Zheng wrote:
Hello, Dear Matteo,
Thank you very much for your great help. In my mind, GW calculation will use the wave functions and eigenvalues obtained in the SCF step. But according to your explanation, it seems that the wave functions created in the SCF step will not be used in screening and sigma calculations. The wave functions |k-q,b1> and |k,b2> in M := <k-q,b1| e^{-i(q+T).r} |k,b2> will be obtained by another diagonalization of the the Hamiltonian matrix after the scf has been reached?
There are two methods to produce a KSS file, see the kssform input variable.
In case of kssform=1, you do a standard GS or NSCF calculation to get a
converged
density then the (fixed) KS hamiltonian is diagonalized to obtain nbandkss
states.
The number of G vectors in the KS hamiltonian is defined by ecut not
ecutwfn,
thus the hamiltonian is not truncated. The diagonalization can be seen as an
additional SCF iteration. If your density/potential is well converged, the
wavefunctions obtained by diagonalizing the KS hamiltonian and
the wavefunctions coming from the SCF calculation are the same
If kssform=3 is used, the wavefunctions of the KSS file are generated by
solving
the KS problem using the conjugate gradient method. Also in this case the G
basis set is defined through ecut.
ecutwfn and ecuteps do not play any role during the KSS run!
And the size of Hamiltonian matrix for getting |k-q,b1> and |k,b2> will be much smaller that the one in the original scf calculations? And this Hamiltonian matrix is determined by self-consistent hamiltonian and ecutwfn? Is ecut only used to get the self-consistent potential and charge density and no wave functions of the output of the SCF step will stored or used in GW calculations?
In the tutorial, there several exercises, like
*"Convergence on the number of planewaves in the wavefunctions to calculate the Self-Energy."
*
*"Convergence on the number of planewaves to calculate Sigma_x."*
*"Convergence on the number of planewaves in the wavefunctions to calculate the screening (epsilon^-1)."
Does it mean that different wave functions will be used **and be recalculated **be separate diagonalization of the Hamiltonian matrix determined by ecutwfn and ecutsigx when we can calculate these quantities?
Just to make it clearer: The functions in the KSS file are the same as the
wavefunctions at the end of the GS calculation.
In the simplest case (one-shot GW) these functions are only used to
calculate the matrix elements M
and some other stuff, without doing any kind of self-consistency!
npwwfn just defines the number of G components to be read from the KSS file
and used to describe
\psi(r) while npweps defines the number of G vectors for the irreducible
polarizability and the
screened interaction.
BTW : You can find a lot of useful information on the GW method and its
implementation in this review
http://www.physics.ohio-state.edu/~wilkins/vita/gw_review.ps
In particular you might have a look at Eq. 101, 102, 104 and 105 to
understand how
the screened interaction and the matrix elements of the self-energy are
calculated.
Regards,
Matteo Giantomassi
*Thank you again!
Xiaohong
Matteo Giantomassi wrote:
On Sun, 28 Oct 2007, Xiaohong Zheng wrote:
Hello, every one,
what is the difference between "ecut" and "ecutwfn" in GW calculations? They look like two cutoff energies of wave functions. What are the difference between them? Why do we need two different sets of wave functions in the GW calculations?
Dear Xiaohong,
To perform a GW calculation we need to evaluate matrix elements in the form
M := <k-q,b1| e^{-i(q+T).r} |k,b2>
where the number of reciprocal lattice vectors T is defined by ecuteps in case of a screening calculation (optdriver 3) or npwsigx in case of sigma calculations (optdriver 4).
Ecutwfn (nwpwfn or nshwfn) is instead used to define the G basis set employed to describe the two wavefunctions |k-q,b1> and |k,b2>, and is usually smaller than ecut since the matrix elements M
converge faster that the wavefunctions, see the tutorial.
In you particular case, the variable ecut is only used during the GS or NSCF calculation that precedes the generation of the KSS file. The value of ecut, roughly speaking, defines the number of Fourier coefficients written on the KSS file.
Note that ecut has no meaning during a screening or sigma run, anyway you have to specify a value in the input
file otherwise the code crashes before entering the GW part.
Hope this helps,
Best Regards
Matteo Giantomassi
Matteo Giantomassi
- what is the difference between "ecut" and "ecutwfn" in GW?, Xiaohong Zheng, 10/29/2007
- Re: [abinit-forum] what is the difference between "ecut" and "ecutwfn" in GW?, Matteo Giantomassi, 10/29/2007
- Re: [abinit-forum] what is the difference between "ecut" and "ecutwfn" in GW?, Xiaohong Zheng, 10/29/2007
- Re: [abinit-forum] what is the difference between "ecut" and "ecutwfn" in GW?, Matteo Giantomassi, 10/29/2007
- Re: [abinit-forum] what is the difference between "ecut" and "ecutwfn" in GW?, Xiaohong Zheng, 10/30/2007
- Re: [abinit-forum] what is the difference between "ecut" and "ecutwfn" in GW?, Matteo Giantomassi, 10/29/2007
- Re: [abinit-forum] what is the difference between "ecut" and "ecutwfn" in GW?, Xiaohong Zheng, 10/29/2007
- Re: [abinit-forum] what is the difference between "ecut" and "ecutwfn" in GW?, Matteo Giantomassi, 10/29/2007
Archive powered by MHonArc 2.6.16.