mirror of https://github.com/abinit/abinit.git
update refs
This commit is contained in:
parent
d819c26b65
commit
f45a97d29d
|
@ -134,6 +134,12 @@ sudo apt install liblapack-dev libblas-dev
|
|||
sudo apt install libhdf5-dev libnetcdf-dev libnetcdff-dev libpnetcdf-dev libxc-dev
|
||||
```
|
||||
|
||||
Note that if you prefer to compile hdf5 and netcdf4 from source, you will neeed
|
||||
the zlib library that can be installed with:
|
||||
|
||||
sudo apt-get install -y libz-dev
|
||||
|
||||
|
||||
### Compiling ABINIT
|
||||
|
||||
For normal users it is advised to download the latest stable version from our website
|
||||
|
|
|
@ -159,7 +159,8 @@ module m_slk
|
|||
integer,allocatable :: ipiv(:)
|
||||
|
||||
real(dp),allocatable :: buffer_real(:,:)
|
||||
! local part of the (real) matrix
|
||||
! local part of the (real) matrix.
|
||||
! The istwf_k option passed to the constructor defines whether we have a real or complex matrix
|
||||
|
||||
complex(dpc),allocatable :: buffer_cplx(:,:)
|
||||
! local part of the (complex) matrix
|
||||
|
@ -175,7 +176,7 @@ module m_slk
|
|||
! Return global indices of a matrix element from the local indices.
|
||||
|
||||
procedure :: free => matrix_scalapack_free
|
||||
! Destroys ScaLAPACK matrix
|
||||
! Free local buffer
|
||||
|
||||
procedure :: zinvert => slk_zinvert
|
||||
! Inverse of a complex matrix in double precision
|
||||
|
@ -254,7 +255,8 @@ CONTAINS !=====================================================================
|
|||
!! build_grid_scalapack
|
||||
!!
|
||||
!! FUNCTION
|
||||
!! Set up the processor grid for ScaLAPACK as a function of the total number of processors attributed to the grid.
|
||||
!! Set up the processor grid for ScaLAPACK as a function of the total number
|
||||
!! of processors attributed to the grid.
|
||||
!!
|
||||
!! INPUTS
|
||||
!! nbprocs= total number of processors
|
||||
|
@ -447,14 +449,13 @@ end subroutine end_scalapack
|
|||
!! init_matrix_scalapack
|
||||
!!
|
||||
!! FUNCTION
|
||||
!! Initializes a matrix descriptor for ScaLAPACK.
|
||||
!! Initialisation of a SCALAPACK matrix (each proc initialize its own part of the matrix)
|
||||
!!
|
||||
!! INPUTS
|
||||
!! processor= descriptor of a processor
|
||||
!! nbli_global= total number of lines
|
||||
!! nbco_global= total number of columns
|
||||
!! istwf_k= option parameter that describes the storage of wfs
|
||||
!! istwf_k= 2 if we have a real matrix else complex.
|
||||
!! tbloc= custom block size NOTE: NOT USED in the present version.
|
||||
!!
|
||||
!! OUTPUT
|
||||
|
@ -491,7 +492,7 @@ subroutine init_matrix_scalapack(matrix, nbli_global, nbco_global, processor, is
|
|||
sizeb = SIZE_BLOCS
|
||||
#endif
|
||||
|
||||
!Records of the matrix type :
|
||||
!Records of the matrix type:
|
||||
matrix%processor => processor
|
||||
matrix%sizeb_blocs(1) = MIN(sizeb,nbli_global)
|
||||
matrix%sizeb_blocs(2) = MIN(sizeb,nbco_global)
|
||||
|
@ -881,7 +882,7 @@ end function loc_glob
|
|||
!! Routine to fill a SCALAPACK matrix from a global PACKED matrix.
|
||||
!!
|
||||
!! INPUTS
|
||||
!! istwf_k= option parameter that describes the storage of wfs
|
||||
!! istwf_k= 2 if we have a real matrix else complex.
|
||||
!! reference= one-dimensional array with packed matrix.
|
||||
!!
|
||||
!! SIDE EFFECTS
|
||||
|
@ -955,7 +956,7 @@ end subroutine matrix_from_global
|
|||
!! FUNCTION
|
||||
!!
|
||||
!! INPUTS
|
||||
!! istwf_k= option parameter that describes the storage of wfs
|
||||
!! istwf_k= 2 if we have a real matrix else complex.
|
||||
!! reference= one-dimensional array
|
||||
!!
|
||||
!! SIDE EFFECTS
|
||||
|
@ -1036,7 +1037,7 @@ end subroutine matrix_from_global_sym
|
|||
!! Routine to fill a SCALAPACK matrix from a real global matrix (FULL STORAGE MODE)
|
||||
!!
|
||||
!! INPUTS
|
||||
!! istwf_k= option parameter that describes the storage of wfs
|
||||
!! istwf_k= 2 if we have a real matrix else complex.
|
||||
!! reference= a real matrix
|
||||
!!
|
||||
!! SIDE EFFECTS
|
||||
|
@ -1084,7 +1085,7 @@ end subroutine matrix_from_realmatrix
|
|||
!! Routine to fill a SCALAPACK matrix from a global matrix (FULL STORAGE MODE)
|
||||
!!
|
||||
!! INPUTS
|
||||
!! istwf_k= option parameter that describes the storage of wfs
|
||||
!! istwf_k= 2 if we have a real matrix else complex.
|
||||
!! reference= a complex matrix
|
||||
!!
|
||||
!! SIDE EFFECTS
|
||||
|
@ -1133,7 +1134,7 @@ end subroutine matrix_from_complexmatrix
|
|||
!!
|
||||
!! INPUTS
|
||||
!! matrix= the matrix to process
|
||||
!! istwf_k= option parameter that describes the storage of wfs
|
||||
!! istwf_k= 2 if we have a real matrix else complex.
|
||||
!! nband_k= number of bands at this k point for that spin polarization
|
||||
!!
|
||||
!! SIDE EFFECTS
|
||||
|
@ -1198,7 +1199,7 @@ end subroutine matrix_to_global
|
|||
!!
|
||||
!! INPUTS
|
||||
!! matrix= the matrix to process
|
||||
!! istwf_k= option parameter that describes the storage of wfs
|
||||
!! istwf_k= 2 if we have a real matrix else complex.
|
||||
!!
|
||||
!! SIDE EFFECTS
|
||||
!! reference= the matrix to fill
|
||||
|
@ -1245,7 +1246,7 @@ end subroutine matrix_to_realmatrix
|
|||
!!
|
||||
!! INPUTS
|
||||
!! matrix= the matrix to process
|
||||
!! istwf_k= option parameter that describes the storage of wfs
|
||||
!! istwf_k= 2 if we have a real matrix else complex.
|
||||
!!
|
||||
!! SIDE EFFECTS
|
||||
!! reference= the matrix to fill
|
||||
|
@ -1292,7 +1293,7 @@ end subroutine matrix_to_complexmatrix
|
|||
!!
|
||||
!! INPUTS
|
||||
!! matrix= the matrix to process
|
||||
!! istwf_k= option parameter that describes the storage of wfs
|
||||
!! istwf_k= 2 if we have a real matrix else complex.
|
||||
!!
|
||||
!! SIDE EFFECTS
|
||||
!! reference= one-dimensional array
|
||||
|
@ -1788,7 +1789,7 @@ end subroutine slk_pzgemm
|
|||
!! processor= descriptor of a processor
|
||||
!! matrix= the matrix to process
|
||||
!! comm= MPI communicator
|
||||
!! istwf_k= option parameter that describes the storage of wfs
|
||||
!! istwf_k= 2 if we have a real matrix else complex.
|
||||
!!
|
||||
!! OUTPUT
|
||||
!! None
|
||||
|
@ -1994,7 +1995,7 @@ end subroutine compute_eigen_problem
|
|||
!! matrix1= first ScaLAPACK matrix (matrix A)
|
||||
!! matrix2= second ScaLAPACK matrix (matrix B)
|
||||
!! comm= MPI communicator
|
||||
!! istwf_k= option parameter that describes the storage of wfs
|
||||
!! istwf_k= 2 if we have a real matrix else complex.
|
||||
!!
|
||||
!! OUTPUT
|
||||
!! None
|
||||
|
@ -2335,7 +2336,7 @@ end subroutine compute_generalized_eigen_problem
|
|||
!! nbco_global number of columns
|
||||
!! matrix= the matrix to process
|
||||
!! vector= eigenvalues of the matrix
|
||||
!! istwf_k= option parameter that describes the storage of wfs
|
||||
!! istwf_k= 2 if we have a real matrix else complex.
|
||||
!!
|
||||
!! OUTPUT
|
||||
!! vector
|
||||
|
@ -2459,7 +2460,7 @@ end subroutine compute_eigen1
|
|||
!! matrix1= first ScaLAPACK matrix (matrix A)
|
||||
!! matrix2= second ScaLAPACK matrix (matrix B)
|
||||
!! vector=
|
||||
!! istwf_k= option parameter that describes the storage of wfs
|
||||
!! istwf_k= 2 if we have a real matrix else complex.
|
||||
!!
|
||||
!! OUTPUT
|
||||
!! None
|
||||
|
|
|
@ -148,8 +148,8 @@ MODULE m_crystal
|
|||
! typat(natom), nattyp(ntypat)
|
||||
! Type of each natom and number of atoms of each type.
|
||||
|
||||
integer,allocatable :: irredatindx(:)
|
||||
! Index of irreducible atoms
|
||||
integer,allocatable :: irredatindx(:)
|
||||
! Index of irreducible atoms
|
||||
|
||||
real(dp),allocatable :: tnons(:,:)
|
||||
! tnons(3,nsym)
|
||||
|
@ -332,7 +332,7 @@ subroutine crystal_init(amu,Cryst,space_group,natom,npsp,ntypat,nsym,rprimd,typa
|
|||
real(dp) :: gprimd(3,3),gmet(3,3),rmet(3,3)
|
||||
integer,pointer :: symrel_noI(:,:,:)
|
||||
real(dp),pointer :: tnons_noI(:,:)
|
||||
logical :: irredat_tmp(natom)
|
||||
logical :: irredat_tmp(natom)
|
||||
! *************************************************************************
|
||||
|
||||
!@crystal_t
|
||||
|
@ -456,31 +456,31 @@ subroutine crystal_init(amu,Cryst,space_group,natom,npsp,ntypat,nsym,rprimd,typa
|
|||
tolsym8=tol8
|
||||
call symatm(cryst%indsym, natom, Cryst%nsym, Cryst%symrec, Cryst%tnons, tolsym8, Cryst%typat, Cryst%xred)
|
||||
|
||||
! Find list of irreducible atoms by using the indsym
|
||||
cryst%nirredat = 0
|
||||
! Find list of irreducible atoms by using the indsym
|
||||
cryst%nirredat = 0
|
||||
irredat_tmp = .TRUE.
|
||||
do iat = 1,natom
|
||||
if(irredat_tmp(iat))then
|
||||
cryst%nirredat = cryst%nirredat + 1
|
||||
do isym = 1,nsym
|
||||
if (cryst%indsym(4,isym,iat) /= iat)then
|
||||
if (all(cryst%indsym(:3,isym,iat) == (/0,0,0/)))then
|
||||
irredat_tmp(cryst%indsym(4,isym,iat)) = .FALSE.
|
||||
endif
|
||||
endif
|
||||
enddo
|
||||
endif
|
||||
enddo
|
||||
|
||||
!Write indexes of irreducible atoms
|
||||
ABI_MALLOC(cryst%irredatindx,(cryst%nirredat))
|
||||
indx = 0
|
||||
do iat = 1,natom
|
||||
if(irredat_tmp(iat))then
|
||||
if(irredat_tmp(iat))then
|
||||
cryst%nirredat = cryst%nirredat + 1
|
||||
do isym = 1,nsym
|
||||
if (cryst%indsym(4,isym,iat) /= iat)then
|
||||
if (all(cryst%indsym(:3,isym,iat) == (/0,0,0/)))then
|
||||
irredat_tmp(cryst%indsym(4,isym,iat)) = .FALSE.
|
||||
endif
|
||||
endif
|
||||
enddo
|
||||
endif
|
||||
enddo
|
||||
|
||||
!Write indexes of irreducible atoms
|
||||
ABI_MALLOC(cryst%irredatindx,(cryst%nirredat))
|
||||
indx = 0
|
||||
do iat = 1,natom
|
||||
if(irredat_tmp(iat))then
|
||||
indx = indx + 1
|
||||
cryst%irredatindx(indx) = iat
|
||||
endif
|
||||
enddo
|
||||
endif
|
||||
enddo
|
||||
|
||||
! Rotations in spinor space
|
||||
ABI_MALLOC(Cryst%spinrot, (4, Cryst%nsym))
|
||||
|
|
|
@ -84,7 +84,7 @@ _ WF disk file : 15.932 Mbytes ; DEN or POT disk file : 0.063 Mbytes.
|
|||
getdvdb2 20
|
||||
getwfk1 20
|
||||
getwfk2 1
|
||||
ibte_abs_tol1 1.0000000000E-04
|
||||
ibte_abs_tol1 -1.0000000000E+00
|
||||
ibte_abs_tol2 1.0000000000E-03
|
||||
ibte_alpha_mix1 7.0000000000E-01
|
||||
ibte_alpha_mix2 6.0000000000E-01
|
||||
|
@ -935,7 +935,7 @@ K-point: [ 5.0000E-01, 3.1250E-01, 1.2500E-01], T: 300.0 [K], mu_e: -4.054
|
|||
getdvdb2 20
|
||||
getwfk1 20
|
||||
getwfk2 1
|
||||
ibte_abs_tol1 1.0000000000E-04
|
||||
ibte_abs_tol1 -1.0000000000E+00
|
||||
ibte_abs_tol2 1.0000000000E-03
|
||||
ibte_alpha_mix1 7.0000000000E-01
|
||||
ibte_alpha_mix2 6.0000000000E-01
|
||||
|
|
Loading…
Reference in New Issue