TABLE OF CONTENTS


ABINIT/m_efmas_defs [ Modules ]

[ Top ] [ Modules ]

NAME

 m_efmas_defs

FUNCTION

 This module contains datatypes for efmas functionalities.

COPYRIGHT

 Copyright (C) 2001-2022 ABINIT group (XG)
 This file is distributed under the terms of the
 GNU General Public License, see ~abinit/COPYING
 or http://www.gnu.org/copyleft/gpl.txt .

SOURCE

16 #if defined HAVE_CONFIG_H
17 #include "config.h"
18 #endif
19 
20 #include "abi_common.h"
21 
22 module m_efmas_defs
23 
24  use defs_basis
25 
26  implicit none
27  public

m_efmas_defs/efmasdeg_type [ Types ]

[ Top ] [ m_efmas_defs ] [ Types ]

NAME

 efmasdeg_type

FUNCTION

 The efmasdeg_type structured datatype, related to one k-point

SOURCE

63  type efmasdeg_type
64 
65    !For k-point
66    integer :: nband                           ! Number of bands (related to one specific k point)
67    integer :: ndegs                           ! Number of (degenerate) sets of eigenvalues (related to one specific k point)
68    integer, allocatable :: degs_bounds(:,:)   ! degs_bounds(2,ndegs)
69                                               ! Minimal and maximal band indices for each possibly degenerate set of eigenvalues
70                                               ! actually the second dimension is declared as nband_k
71    !For band
72    integer :: deg_range(2)                    ! Indices of the sets that corresponds to the interval of bands for which
73                                               ! the generalized second-order k-derivative eig2_diag is computed,
74                                               ! possibly extended due to the degeneracies.
75    integer,allocatable :: ideg(:)             ! ideg(nband_k)  index of the set to which a particular band belongs
76 
77    real(dp) :: max_abs_eigen1 = zero
78    ! Stores max abs value of gradient component <b1|H1_i|b2> inside the degenerate subspace for this k-point
79    ! The code prints a warning if this quantity is > tol5 without stopping although the formalism
80    ! assumes the first order term to be zero.
81    ! Post-processing tools are responsible to check this value when analyzing the data.
82 
83  end type efmasdeg_type

m_efmas_defs/efmasval_type [ Types ]

[ Top ] [ m_efmas_defs ] [ Types ]

NAME

 efmasval_type

FUNCTION

 The efmasval_type structured datatype, related to one band or one degenerated set of bands, for one k-point

SOURCE

39  type efmasval_type
40 
41    !For k-point
42    complex(dpc),allocatable :: ch2c(:,:,:,:) ! ch2c(mdim,mdim,1:deg_dim,1:deg_dim)
43                                              ! where mdim=3 labels reciprocal space directions
44                                              ! See Eq.(50) of Laflamme2016 : 2nd-order Hamiltonian contribution
45                                              ! Two first indices are for number of directions
46                                              ! Two last indices are for band indices within degenerate subspace
47    complex(dpc),allocatable :: eig2_diag(:,:,:,:) ! eig2_diag(mdim,mdim,1:deg_dim,1:deg_dim)
48                                              ! where mdim=3 labels reciprocal space directions
49                                              ! See Eq.(50) of Laflamme2016 : generalized second-order k-derivative
50 
51  end type efmasval_type