-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathread_scfout.h
225 lines (193 loc) · 6.86 KB
/
read_scfout.h
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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
/*******************************************************
int atomnun;
the number of total atoms
*******************************************************/
int atomnum;
/*******************************************************
int Catomnun;
the number of atoms in the central region
*******************************************************/
int Catomnum;
/*******************************************************
int Latomnun;
the number of atoms in the left lead
*******************************************************/
int Latomnum;
/*******************************************************
int Ratomnun;
the number of atoms in the left lead
*******************************************************/
int Ratomnum;
/*******************************************************
int SpinP_switch;
0: non-spin polarized
1: spin polarized
*******************************************************/
int SpinP_switch;
/*******************************************************
int TCpyCell;
the total number of periodic cells
*******************************************************/
int TCpyCell;
/*******************************************************
int Solver;
method for solving eigenvalue problem
*******************************************************/
int Solver;
/*******************************************************
double ChemP;
chemical potential
*******************************************************/
double ChemP;
/*******************************************************
int Valence_Electrons;
total number of valence electrons
*******************************************************/
int Valence_Electrons;
/*******************************************************
double Total_SpinS;
total value of Spin (2*Total_SpinS = muB)
*******************************************************/
double Total_SpinS;
/*******************************************************
double E_Temp;
electronic temperature
*******************************************************/
double E_Temp;
/*******************************************************
int *Total_NumOrbs;
the number of atomic orbitals in each atom
size: Total_NumOrbs[atomnum+1]
*******************************************************/
int *Total_NumOrbs;
/*******************************************************
int *FNAN;
the number of first neighboring atoms of each atom
size: FNAN[atomnum+1]
*******************************************************/
int *FNAN;
/*******************************************************
int **natn;
grobal index of neighboring atoms of an atom ct_AN
size: natn[atomnum+1][FNAN[ct_AN]+1]
*******************************************************/
int **natn;
/*******************************************************
int **ncn;
grobal index for cell of neighboring atoms of
an atom ct_AN
size: ncn[atomnum+1][FNAN[ct_AN]+1]
*******************************************************/
int **ncn;
/*******************************************************
double **atv;
x,y,and z-components of translation vector of
periodically copied cells
size: atv[TCpyCell+1][4];
*******************************************************/
double **atv;
/*******************************************************
int **atv_ijk;
i,j,and j number of periodically copied cells
size: atv_ijk[TCpyCell+1][4];
*******************************************************/
int **atv_ijk;
/*******************************************************
double tv[4][4];
unit cell vectors in Bohr
*******************************************************/
double tv[4][4];
/*******************************************************
double rtv[4][4]:
reciprocal unit cell vectors in Bohr^{-1}
note:
tv_i \dot rtv_j = 2PI * Kronecker's delta_{ij}
*******************************************************/
double rtv[4][4];
/*******************************************************
double Gxyz[atomnum+1][60];
atomic coordinates in Bohr
*******************************************************/
double **Gxyz;
/*******************************************************
double *****Hks;
Kohn-Sham matrix elements of basis orbitals
size: Hks[SpinP_switch+1]
[atomnum+1]
[FNAN[ct_AN]+1]
[Total_NumOrbs[ct_AN]]
[Total_NumOrbs[h_AN]]
*******************************************************/
double *****Hks;
/*******************************************************
double *****iHks;
imaginary Kohn-Sham matrix elements of basis orbitals
for alpha-alpha, beta-beta, and alpha-beta spin matrices
of which contributions come from spin-orbit coupling
and Hubbard U effective potential.
size: iHks[3]
[atomnum+1]
[FNAN[ct_AN]+1]
[Total_NumOrbs[ct_AN]]
[Total_NumOrbs[h_AN]]
*******************************************************/
double *****iHks;
/*******************************************************
double ****OLP;
overlap matrix
size: OLP[atomnum+1]
[FNAN[ct_AN]+1]
[Total_NumOrbs[ct_AN]]
[Total_NumOrbs[h_AN]]
*******************************************************/
double ****OLP;
/*******************************************************
double ****OLPpox;
overlap matrix with position operator x
size: OLPpox[atomnum+1]
[FNAN[ct_AN]+1]
[Total_NumOrbs[ct_AN]]
[Total_NumOrbs[h_AN]]
*******************************************************/
double ****OLPpox;
/*******************************************************
double ****OLPpoy;
overlap matrix with position operator y
size: OLPpoy[atomnum+1]
[FNAN[ct_AN]+1]
[Total_NumOrbs[ct_AN]]
[Total_NumOrbs[h_AN]]
*******************************************************/
double ****OLPpoy;
/*******************************************************
double ****OLPpoz;
overlap matrix with position operator z
size: OLPpoz[atomnum+1]
[FNAN[ct_AN]+1]
[Total_NumOrbs[ct_AN]]
[Total_NumOrbs[h_AN]]
*******************************************************/
double ****OLPpoz;
/*******************************************************
double *****DM;
overlap matrix
size: DM[SpinP_switch+1]
[atomnum+1]
[FNAN[ct_AN]+1]
[Total_NumOrbs[ct_AN]]
[Total_NumOrbs[h_AN]]
*******************************************************/
double *****DM;
/*******************************************************
double dipole_moment_core[4];
*******************************************************/
double dipole_moment_core[4];
/*******************************************************
double *cc_vec; (added by N. Yamaguchi for HWC)
*******************************************************/
double *cc_vec;
/*******************************************************
double dipole_moment_background[4];
*******************************************************/
double dipole_moment_background[4];
void read_scfout(char *argv[]);