[Pw_forum] complex band
Alexander
smogunov at sissa.it
Fri Nov 28 08:59:46 CET 2008
Dear Manoj
Ngper is the total number of g_perp=G_perp+k_perp with |g_perp|^2<E_cut
which are arranged into the shells. Each shell contains g_perp having the same
norm which is very useful because many calculations with g_perp depend only
on their norms. The number of shells is ngpsh. gnsh(ngpsh) is the norm for
each shell, ninsh(ngpsh) is the number of g_perp in the shell.
The array nshell is the auxiliary array used further to arrange the g_perp
vectors in the shells.
Hope this helps you,
regards, Alexander
and ngpsh is the number of shells
On Thursday 27 November 2008 00:26, Manoj Srivastava wrote:
> Dear Alexander, PWSCF users and developers,
> I have a technical question in one of the subroutines used to calculate
> complex band. The subroutine 'init_gper.f90' under PWCOND directory is
> used to calculate number of G perpendicular vectors within the energy
> cutoff by using [k_{\perp}+G_{\perp}]^2.le.E_{cut}. I understand the
> counting of Gper, but i dont understand how do they construct the Gper
> vectors. For example what is 'ngpsh'? It is defined as 'no. of shells for
> G', but i really dont understand what this is. I dont understand after
> line 50 of the code in init_gper.f90. Mainly what does the following
> piece of code do
>
> do i=1,nrx
> do j=1,nry
> icount=0
> do iw=1, ngpsh
> if (abs(norm2-gnorm2(iw)).gt.eps) then
> icount=icount+1
> else
> nshell(i,j)=iw
> endif
> enddo
> if (icount.eq.ngpsh) then
> ngpsh=ngpsh+1
> gnorm2(ngpsh)=norm2
> nshell(i,j)=ngpsh
> endif
> endif
> enddo
> enddo
> I understand it is not a good way of asking question, but I am completely
> lost. Any help will be appreciated.
>
> Regards,
> Manoj
>
> _______________________________________________
> Pw_forum mailing list
> Pw_forum at pwscf.org
> http://www.democritos.it/mailman/listinfo/pw_forum
More information about the users
mailing list