-
Notifications
You must be signed in to change notification settings - Fork 4
/
extpot.F
93 lines (85 loc) · 2.61 KB
/
extpot.F
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
#include "symbol.inc"
!***********************************************************************
! These are stubs for the Yu/Libisch/Carter PAW DFET embedding routines
!***********************************************************************
subroutine EXTPT_EXTERNAL_POT_ADD(GRIDC, LATT_CUR, CVTOT)
USE mextpot
USE prec
USE base
USE lattice
USE mpimy
USE mgrid
USE poscar
USE constant
implicit none
TYPE (grid_3d) GRIDC
TYPE (latt) LATT_CUR
COMPLEX(q) :: CVTOT(GRIDC%MPLWV)
call EXTERNAL_POT_ADD(GRIDC, LATT_CUR, CVTOT)
end subroutine EXTPT_EXTERNAL_POT_ADD
subroutine EXTPT_EXTERNAL_POT_ADD_PAW(POTAE, POT, NDIM, NCDIJ, LMMAX, NIP)
USE mextpot
USE prec
USE base
USE lattice
USE mpimy
USE mgrid
USE poscar
USE constant
implicit none
INTEGER NDIM, NCDIJ, LMMAX, NIP
REAL(q) POT(NDIM,LMMAX,NCDIJ), POTAE(NDIM,LMMAX,NCDIJ)
call ADD_EXTERNAL_POTENTIAL(POTAE, POT, NDIM, NCDIJ, LMMAX, NIP)
end subroutine EXTPT_EXTERNAL_POT_ADD_PAW
subroutine EXTPT_CALC_VLM(LATT_CUR, GRIDC, T_INFO, P, LMDIM, WDES, IU0)
use mextpot
use prec
use base
use lattice
use mpimy
use constant
use mgrid
use poscar
use pseudo
use paw
use wave
use us
use asa
implicit none
type (grid_3d) GRIDC
type (latt) LATT_CUR
type (type_info) T_INFO
type (potcar),TARGET:: P(T_INFO%NTYP)
type (wavedes) WDES
integer :: LMDIM, IU0
call CALC_VLM(LATT_CUR, GRIDC, T_INFO, P, LMDIM, WDES, IU0)
end subroutine EXTPT_CALC_VLM
subroutine EXTPT_DE_DVRN(WDES, GRID_SOFT, GRIDC, SOFT_TO_C, LATT_CUR, &
P, T_INFO, LMDIM, CRHODE, CHTOT_, CHDEN, IRDMAX )
use mextpot
use prec
use base
use mgrid
use mpimy
use lattice
use poscar
use pseudo
use paw
use wave
use asa
use constant
implicit none
TYPE (type_info) T_INFO
TYPE (potcar) P(T_INFO%NTYP)
TYPE (grid_3d) GRIDC
TYPE (grid_3d) GRID_SOFT
TYPE (latt) LATT_CUR
TYPE (transit) SOFT_TO_C
TYPE (wavedes) WDES
integer :: LMDIM, IRDMAX
COMPLEX(q) CHDEN(GRID_SOFT%MPLWV,WDES%NCDIJ)
OVERLAP CRHODE(LMDIM,LMDIM,WDES%NIONS,WDES%NCDIJ)
COMPLEX(q), TARGET :: CHTOT_(DIMREAL(GRIDC%MPLWV),WDES%NCDIJ)
call DE_DVRN(WDES, GRID_SOFT, GRIDC, SOFT_TO_C, LATT_CUR, &
P, T_INFO, LMDIM, CRHODE, CHTOT_, CHDEN, IRDMAX)
end subroutine EXTPT_DE_DVRN