Page 1 of 1

Symmetriser

Posted: Sat Nov 19, 2011 10:19 pm
by leon
Hello, dear Abinit developers and users!

I'm deal with a crystalline NiPC with two big molecules of 53 atoms in a primitive unit cell.
I have the atom list for one molecule and the second should be build by symmetriser, is it right?
This works well for a single atom of Ni (with coords 0 0 0), but failed when I start to add other atoms.

Am I doing something wrong?

The input file:

Code: Select all

acell 19.9000 4.7100 14.9000    Angstr
angdeg 90.0 121.90 90.0
spgroup  14 # P 1 21/a 1 ~ P 21/c
brvltt 0
chkprim 1 #primitive cell
#chksymbreak 0
ntypat 2 #4
znucl 28 7 6 1   # Ni N C H
natom 18
natrd 9
typat 1 8*2 #16*4 32*3   # Ni 8*N 16*H 32*C
xred
# one Nickel
0     0     0
# 8 nitrogens:
 0.16030      0.02548      0.25302
-0.16030     -0.02548     -0.25302
 0.09296      0.19958      0.06846
-0.09296     -0.19958     -0.06846
 0.08342      0.49682     -0.07248
-0.08342     -0.49682      0.07248
-0.02915      0.18047     -0.12416
 0.02915     -0.18047      0.12416
# list of other atoms is omitted ..
ecut 8.0         #
kptopt 1         #
nkpt 2
nstep 1         #
toldfe 1.0d-6     


the code does not shows any errors and seems to be frozen.
The output is http://phys.rsu.ru/~avakyan/sci/log1

Thank you for your attention,
Leon

-----
Leon Avakyan,
Southern Federal University, Rostov-on-Don, Russia

Re: Symmetriser

Posted: Tue Jan 17, 2012 7:23 pm
by leon
Hello again, I've came back to this..

The problem could be in the space group #14, since the other space groups (in another compounds) worked fine for me.
It is odd that program stops and frozen with such an input.. It seems to be a bug.

I've made simplified input file leaving the problem unsolved:

Code: Select all

acell 19.9000 4.7100 14.9000    Angstr

angdeg 90.0 121.90 90.0

spgroup 14 # P21c?

ntypat 3         
znucl 28 7 # Ni N
#Definition of the atoms

natom 6
natrd 2

typat 1   2
xred

 0 0 0

 0.16030 0.02548 0.25302


ecut 4.0
prtkpt 1
nstep 1         
toldfe 1.0d-6


Something wrong appeared at k-point search:

Code: Select all

$ abinit < files

  ABINIT

 

  Give name for formatted input file:

input_small.in

  Give name for formatted output file:

NiPc.out

  Give root name for generic input files:

i

  Give root name for generic output files:

o

  Give root name for generic temporary files:

temp



 isfile : WARNING -

  Finds that output file NiPc.out

 already exists.

 new name assigned:NiPc.outA





 isfile : WARNING -

  Finds that output file NiPc.outA

 already exists.

 new name assigned:NiPc.outB





.Version 6.10.2 of ABINIT

.(sequential version, prepared for a x86_64_linux_gnu4.4 computer)



.Copyright (C) 1998-2011 ABINIT group .

 ABINIT comes with ABSOLUTELY NO WARRANTY.

 It is free software, and you are welcome to redistribute it

 under certain conditions (GNU General Public License,

 see ~abinit/COPYING or http://www.gnu.org/copyleft/gpl.txt).



 ABINIT is a project of the Universite Catholique de Louvain,

 Corning Inc. and other collaborators, see ~abinit/doc/developers/contributors.txt .

 Please read ~abinit/doc/users/acknowledgments.html for suggested

 acknowledgments of the ABINIT effort.

 For more information, see http://www.abinit.org .



.Starting date : Tue 17 Jan 2012.

- ( at 21h20 )

 



 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++



 === Build Information ===

  Version       : 6.10.2

  Build target  : x86_64_linux_gnu4.4

  Build date    : 20111119



 === Compiler Suite ===

  C compiler       : gnu4.4

  CFLAGS           :  -g -O2 -mtune=native -march=native -mfpmath=sse

  C++ compiler     : gnu4.4

  CXXFLAGS         :  -g -O2 -mtune=native -march=native -mfpmath=sse

  Fortran compiler : gnu4.4

  FCFLAGS          :  -g -ffree-line-length-none

  FC_LDFLAGS       :



 === Optimizations ===

  Debug level        : basic

  Optimization level : standard

  Architecture       : intel_core2



 === MPI ===

  Parallel build : no

  Parallel I/O   : no

  Time tracing   : no

  GPU support    : no



 === Connectors / Fallbacks ===

  Connectors on : yes

  Fallbacks on  : yes

  DFT flavor    : libxc-fallback

  FFT flavor    : none

  LINALG flavor : netlib-fallback

  MATH flavor   : none

  TIMER flavor  : abinit

  TRIO flavor   : netcdf-fallback+etsf_io-fallback



 === Experimental features ===

  Bindings            : no

  Exports             : no

  GW double-precision : no



 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++





 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

 Default optimizations:

   -O2 -mtune=native -march=native -mfpmath=sse





 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++





 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

 CPP options activated during the build:



                    CC_GNU                   CXX_GNU                    FC_GNU



            HAVE_DFT_LIBXC HAVE_FC_ALLOCATABLE_DT...              HAVE_FC_EXIT



             HAVE_FC_FLUSH             HAVE_FC_GAMMA            HAVE_FC_GETENV



          HAVE_FC_INT_QUAD     HAVE_FC_ISO_C_BINDING        HAVE_FC_LONG_LINES



              HAVE_FC_NULL         HAVE_FC_STREAM_IO          HAVE_FORTRAN2003



             HAVE_OS_LINUX              HAVE_STDIO_H                HAVE_TIMER



         HAVE_TIMER_ABINIT         HAVE_TIMER_SERIAL         HAVE_TRIO_ETSF_IO



          HAVE_TRIO_NETCDF              USE_MACROAVE

 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++



- input  file    -> input_small.in

- output file    -> NiPc.outB

- root for input  files -> i

- root for output files -> o



 instrng :    48 lines of input have been read



 iofn2 : Please give name of formatted atomic psp file

 iofn2 : for atom type   1 , psp file is 28-Ni.GGA.fhi



 iofn2 : Please give name of formatted atomic psp file

 iofn2 : for atom type   2 , psp file is 07-N.GGA.fhi



 iofn2 : Please give name of formatted atomic psp file

 iofn2 : for atom type   3 , psp file is 06-C.GGA.fhi

  read the values zionpsp= 10.0 , pspcod=   6 , lmax=   3

  read the values zionpsp=  5.0 , pspcod=   6 , lmax=   3

  read the values zionpsp=  4.0 , pspcod=   6 , lmax=   3



 inpspheads : deduce mpsang  =   4, n1xccc  =   0.



 invars1m : enter jdtset=     0

 invars1 : treat image number     1



 ingeo : use angdeg to generate rprim.



 symlatt : the Bravais lattice is mP (primitive monoclinic)

  xred   is defined in input file

 ingeo : takes atomic coordinates from input array xred

  fillcell : enter with nsym, natrd=            4           2

  Describe the different symmetry operations (index,symrel,tnons,symafm)

  1    1  0  0  0  1  0  0  0  1    0.00E+00    0.00E+00    0.00E+00  1

  2   -1  0  0  0  1  0  0  0 -1    0.00E+00    5.00E-01    5.00E-01  1

  3   -1  0  0  0 -1  0  0  0 -1    0.00E+00    0.00E+00    0.00E+00  1

  4    1  0  0  0 -1  0  0  0  1    0.00E+00    5.00E-01    5.00E-01  1

  Describe the input atoms (index,typat,xred,spinat)

  1    1    0.00E+00    0.00E+00    0.00E+00    0.00E+00    0.00E+00    0.00E+00

  2    2    1.60E-01    2.55E-02    2.53E-01    0.00E+00    0.00E+00    0.00E+00



 symlatt : the Bravais lattice is mP (primitive monoclinic)



 symlatt : the Bravais lattice is mP (primitive monoclinic)

 symspgr : the symmetry operation no.   1 is the identity

 symaxes : the symmetry operation no.   2 is a 2_1-axis

 symspgr : the symmetry operation no.   3 is an inversion

 symplanes : the symmetry operation no.   4 is an a,b, or c plane

 symspgr : spgroup=  14  P2_1/c   (=C2h^5)

  inkpts : enter



 testkgrid : will perform the analysis of a series of k-grids.

  Note that kptopt=1 in this analysis, irrespective of its input value.



 Grid#    kptrlatt         shiftk         kptrlen       nkpt  iset



 getkgrid : length of smallest supercell vector (bohr)=    8.900610E+00

       Simple Lattice Grid

 symkpt : found identity, with number  1

    1     1   0   0      0.0000E+00      8.9006E+00       1     1

          0   0   1      5.0000E-01

          0  -1   0     -5.0000E-01



 getkgrid : length of smallest supercell vector (bohr)=    1.780122E+01

       Simple Lattice Grid

 symkpt : found identity, with number  1

    2     1   0   0      0.0000E+00      1.7801E+01       1     1

          0   0   1      5.0000E-01

          0  -2   0     -5.0000E-01



 getkgrid : length of smallest supercell vector (bohr)=    2.670183E+01

       Simple Lattice Grid

 symkpt : found identity, with number  1

    3     1   0   0      0.0000E+00      2.6702E+01       2     1

          0   0   1      5.0000E-01

          0  -3   0     -5.0000E-01



 getkgrid : length of smallest supercell vector (bohr)=    2.815692E+01

       Simple Lattice Grid

 symkpt : found identity, with number  1

    4     1   0   0      0.0000E+00      2.8157E+01       2     1

          0   0   1      5.0000E-01

          0  -4   0     -5.0000E-01



 getkgrid : length of smallest supercell vector (bohr)=    3.560244E+01

       Simple Lattice Grid

 symkpt : found identity, with number  1

    5     1   0   0      0.0000E+00      3.5602E+01       2     1

          0   0   2      5.0000E-01

          0  -4   0     -5.0000E-01



 getkgrid : length of smallest supercell vector (bohr)=    4.450305E+01

       Simple Lattice Grid

 symkpt : found identity, with number  1

    6     1   0   0      0.0000E+00      4.4503E+01       3     1

          0   0   2      5.0000E-01

          0  -5   0     -5.0000E-01



 getkgrid : length of smallest supercell vector (bohr)=    5.340366E+01

       Simple Lattice Grid

 symkpt : found identity, with number  1

    7     1   0   0      0.0000E+00      5.3404E+01       3     1

          0   0   2      5.0000E-01

          0  -6   0     -5.0000E-01



 getkgrid : length of smallest supercell vector (bohr)=    5.631384E+01

       Simple Lattice Grid

 symkpt : found identity, with number  1

    8     1   0   0      0.0000E+00      5.6314E+01       4     1

          0   0   2      5.0000E-01

          0  -7   0     -5.0000E-01



 getkgrid : length of smallest supercell vector (bohr)=    6.230427E+01

       Simple Lattice Grid

 symkpt : found identity, with number  1

    9     1   0   0      0.0000E+00      6.2304E+01       8     1

          0   0   3      5.0000E-01

          0  -7   0     -5.0000E-01



 getkgrid : length of smallest supercell vector (bohr)=    1.780122E+01

       Simple Lattice Grid

 symkpt : found identity, with number  1

   10     1   0   0      0.0000E+00      1.7801E+01       1     2

          0   0   2      5.0000E-01

          0  -2   0     -5.0000E-01



 getkgrid : length of smallest supercell vector (bohr)=    3.560244E+01

       Simple Lattice Grid

 symkpt : found identity, with number  1

   11     1   0   0      0.0000E+00      3.5602E+01       2     2

          0   0   2      5.0000E-01

          0  -4   0     -5.0000E-01



 getkgrid : length of smallest supercell vector (bohr)=    5.340366E+01

       Simple Lattice Grid

 symkpt : found identity, with number  1

   12     1   0   0      0.0000E+00      5.3404E+01       3     2

          0   0   2      5.0000E-01

          0  -6   0     -5.0000E-01



 getkgrid : length of smallest supercell vector (bohr)=    5.631384E+01

       Simple Lattice Grid

 symkpt : found identity, with number  1

   13     1   0   0      0.0000E+00      5.6314E+01       4     2

          0   0   2      5.0000E-01

          0  -8   0     -5.0000E-01



 getkgrid : length of smallest supercell vector (bohr)=    7.120488E+01

       Simple Lattice Grid

 symkpt : found identity, with number  1

   14     1   0   0      0.0000E+00      7.1205E+01       8     2

          0   0   4      5.0000E-01

          0  -8   0     -5.0000E-01



 getkgrid : length of smallest supercell vector (bohr)=    1.780122E+01

       Simple Lattice Grid

 symkpt : found identity, with number  1

   15     1   0   0      0.0000E+00      1.7801E+01       2     3

          0   1   1      5.0000E-01

          0  -1   1     -5.0000E-01



 getkgrid : length of smallest supercell vector (bohr)=    3.331209E+01

       Simple Lattice Grid

 symkpt : found identity, with number  1

   16     1   0   0      0.0000E+00      3.3312E+01       3     3

          0   2   1      5.0000E-01

          0  -2   1     -5.0000E-01



 getkgrid : length of smallest supercell vector (bohr)=    3.880464E+01

       Simple Lattice Grid

 symkpt : found identity, with number  1

   17     1   0   0      0.0000E+00      3.8805E+01       4     3

          0   3   1      5.0000E-01

          0  -3   1     -5.0000E-01



 getkgrid : length of smallest supercell vector (bohr)=    4.539103E+01

       Simple Lattice Grid

 symkpt : found identity, with number  1

   18     1   0   0      0.0000E+00      4.5391E+01       5     3

          0   4   1      5.0000E-01

          0  -4   1     -5.0000E-01



^C


Nothing changed for several minutes, and I interrupted the command.

Here comes some of the questions:
1) Have anyone ever succeed with space group #14 in abinit?
2) As I remember, the international notation for this group was changed from P21/c to P21/a in the year ~1964. According to Abinit's output, the code uses P21/c group. May be not all parts of the code (symmetriser, k-grid finder,...) use this notation?
3) Is there a way to set up a screw axis for symrel along with translations and rotations?

Thank you in advance,
Leon

Re: Symmetriser  [SOLVED]

Posted: Sun Jan 22, 2012 5:46 pm
by mverstra
Hello Leon,

looks like you are correct - abinit gets into an infinite loop in src/42_geometry/smallprim.F90 trying to find the best k-point grid: you have to specify ngkpt or kptrlatt to get it to work.

I don't know why it is failing yet, but any specification of the kpt gets you out of the trap. Your initial nkpt 2 is ignored, as abinit automatically calculates the number of kpt. For small densities of k-grids it is still ok, but then it keels over and can not manage to find an optimal set of k-lattice vectors.

This has nothing to do with correctly representing the spgroup. It is correctly used and detected (I don't know about your /c vs /a deal) - the kpt generation is the problem, in connection with spgroup 14, maybe...

Matthieu

Re: Symmetriser

Posted: Sun Jan 22, 2012 6:20 pm
by mverstra
update - for too large kpt grids, the equivalent supercell was so large the norms of its vectors were not calculated to 1.e-8 absolute precision, and so numerical errors were overloading stuff. Should be fixed in 6.12 (maybe 6.10.4).

Cheers

Matthieu