Skip to Content.
Sympa Menu

forum - Re: [abinit-forum] outkss: BUG

forum@abinit.org

Subject: The ABINIT Users Mailing List ( CLOSED )

List archive

Re: [abinit-forum] outkss: BUG


Chronological Thread 
  • From: "Matteo Giantomassi" <Matteo.Giantomassi@uclouvain.be>
  • To: forum@abinit.org
  • Subject: Re: [abinit-forum] outkss: BUG
  • Date: Thu, 16 Apr 2009 01:52:56 +0200 (CEST)
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=uclouvain.be; h=message-id: in-reply-to:references:date:subject:from:to:mime-version: content-type; q=dns; s=selucl; b=ZiBNUyojMiFZg6PmNYM47vzH6WJJwa7 zdrr8X02gtzhFYtiSfMVF+t6nUkrphc+BZRkxdLP0kr/VBAI0EnVo1kbe99ErBxl KPo7YAE1deKYckaELnnjp4dM0fvJdtNUs4J047txE0tTW22KSaX5IE/pAn/Zokv5 JGYWmgJEZpq0=
  • Importance: Normal



There was a bug in the KSS generation in parallel when nsppol=2.
Is has been solved, and the bug fix will be included in 5.7.4
Meanwhile, I'm sending to you the patch.
It should be applied to 15common/outkss.F90 working on top of v5.7.3.
Other (older) versions of outkss should be modified by hand
but it should not be so difficult.

Regards
Matteo Giantomassi



> Dear abinit developers and users:
>
> A error message kept showing up in my gw calculation, and it says:
> -------------------------------------------------------------------------
> Opening file for KS structure output: gw_rougho_DS2_KSS
> number of Gamma centered plane waves 3261
> number of Gamma centered shells 354
> number of bands 3261
> maximum angular momentum components 4
> number of symmetry operations 6 (without inversion)
> * g( 1)= 0 0 0
> * g( 2)= -2 -2 -2
> * g( 3)= 2 2 2
> * g( 4)= -2 0 0
> * g( 5)= 2 0 0
> * g( 6)= 0 2 0
> * g( 7)= 0 -2 0
> * g( 8)= 0 0 -2
> * g(3255)= 22 28 24
> * g(3256)= 28 22 24
> * g(3257)=-28-22-24
> * g(3258)=-24-22-28
> * g(3259)= 24 22 28
> * g(3260)= 22 24 28
> * g(3261)=-22-24-28
> -P-0000
> -P-0000 k-point 1 SPIN UP:
>
> outkss: BUG -
> The set of g vectors is inconsistent ! Check source.
> Program does not stop but _KSS file will not be created...
> Action : contact ABINIT group.
> ------------------------------------------------------------
> The system is AFII type NiO, and the job is to roughly generate KSS
> file.
> That is to say, the job includes two dataset. One is usual scf, another is
> screening. I planned to do convergence study after this job and finally
> compute
> gw energy. The input file for this job is listed below. I hope someone
> could
> give me some advices.
> ------------------------------------------------------------
> ndtset 3
>
> # Dataset1: usual self-consistent ground-state calculation
> # Definition of the k-point grid
> kptopt1 1
> nkpt1 570
> ngkpt1 18 18 18
> nshiftk1 1
> shiftk1 0.5 0.5 0.5
>
> # Definition of the SCF procedure
> toldfe1 1.0d-8
> prtden1 1 # Print out density
>
> # Dataset2: calculation of kss file
> # Definition of k-points
> kptopt2 0 # K-points will be provided
> nkpt2 1 # Take only 1 k-point:
> kpt2 0.0 0.0 0.0 # the Gamma point
> istwfk2 1 # Option needed for special k-points like Gamma
> # Definition of the SCF procedure
> iscf2 -2 # Non self-consistent calculation
> getden2 -1 # Read previous density file
> tolwfr2 1.0d-10 # Still get it converged
> nband2 17
>
> # Definition of parameters for the calculation of the kss file
> nbandkss2 -1 # Number of bands in KSS file (the maximum possible)
>
> # Dataset3: Calculation of the screening (epsilon^-1 matrix)
> optdriver3 3
> getkss3 -1
> nband3 25
> ecutwfn3 6
> ecuteps3 7
> ppmfrq3 16.7 eV
>
> #definition of the unit cell
> acell 9.7351316228E+00 9.7351316228E+00 9.7351316228E+00 Bohr
> rprim 8.1659649670E-01 4.0814835635E-01 4.0814835635E-01
> 4.0814835635E-01 8.1659649670E-01 4.0814835635E-01
> 4.0814835635E-01 4.0814835635E-01 8.1659649670E-01
>
> #definition of the atom types
> ntypat 2
> znucl 28 8
> natom 4 # There are four atoms
> typat 2*1 2*2
> xred 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00
> 5.0000000000E-01 5.0000000000E-01 5.0000000000E-01
> 2.5000000000E-01 2.5000000000E-01 2.5000000000E-01
> 7.5000000000E-01 7.5000000000E-01 7.5000000000E-01
> nsppol 2
> spinat 0.0000000000E+00 0.0000000000E+00 -2.0000000000E+00
> 0.0000000000E+00 0.0000000000E+00 2.0000000000E+00
> 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00
> 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00
> ecut 42
> # Use only symmorphic operations
> symmorphi 0
>
> nstep 100
> diemac 4.0
> -------------------------------------------------------
>
> Best regards,
> Aaron
>
--- outkss.F90	2009-04-16 01:30:10.000000000 +0200
+++ new_outkss.F90	2009-04-16 01:31:03.000000000 +0200
@@ -506,13 +506,14 @@
  allocate(nbasek(nkpt),gbasek(3,mpw,nkpt),cnormk(mpw,nkpt),gcurr(3,mpw))
  nbasek(:)=0 ; cnormk(:,:)=zero ; gbasek(:,:,:)=0
 !
-!Loop over k-points, in case of k-point parallelism each processor 
-!takes care of its own set of g-vectors. In this case, indeed, kg 
-!contains only mkmem G-spheres, where mkmem<nkpt.
+! === Find irreducible G-vectors at each k ===
+! * In case of k // each processor takes care of its own set of g-vectors. 
+!   as kg contains only mkmem G-spheres, where mkmem<nkpt.
+! * Parallelized over the cpus dealing with the spin-up component.
  do ikpt=1,nkpt
 
   if (MPI_enreg%paral_compil_kpt==1) then
-   if (MINVAL(ABS(MPI_enreg%proc_distrb(ikpt,1,1:nsppol)-MPI_enreg%me))/=0) CYCLE
+   if (MPI_enreg%proc_distrb(ikpt,1,1)/=MPI_enreg%me) CYCLE
   end if
 
   if (mkmem==0) then
@@ -535,6 +536,7 @@
  end do ! k-points
 
  if (MPI_enreg%paral_compil_kpt==1) then
+  call leave_test(MPI_enreg)
   call xsum_mpi(nbasek,spaceComm,ierr)
   call xsum_mpi(cnormk,spaceComm,ierr)
   call xsum_mpi(gbasek,spaceComm,ierr)



Archive powered by MHonArc 2.6.15.

Top of Page