@@ -77,19 +77,23 @@ int Pseudopot_upf::read_pseudo_vwr(std::ifstream &ifs, Atom_pseudo& pp)
77
77
ifs >> iref_s >> iref_p >> iref_d;
78
78
GlobalV::ofs_running << std::setw (15 ) << " Vnl_USED" << std::setw (15 ) << iref_s
79
79
<< std::setw (15 ) << iref_p << std::setw (15 ) << iref_d << std::endl;
80
- if (spd_loc==1 ) iref_s=0 ;
81
- else if (spd_loc==2 ) iref_p=0 ;
82
- else if (spd_loc==3 ) iref_d=0 ;
80
+ if (spd_loc==1 ) { iref_s=0 ;
81
+ } else if (spd_loc==2 ) { iref_p=0 ;
82
+ } else if (spd_loc==3 ) { iref_d=0 ;
83
+ }
83
84
ifs >> iTB_s >> iTB_p >> iTB_d;
84
85
GlobalV::ofs_running << std::setw (15 ) << " Orb_USED" << std::setw (15 ) << iTB_s
85
86
<< std::setw (15 ) << iTB_p << std::setw (15 ) << iTB_d << std::endl;
86
87
87
88
88
89
// calculate the number of wave functions
89
90
pp.nchi = 0 ;
90
- if (iTB_s) ++pp.nchi ;
91
- if (iTB_p) ++pp.nchi ;
92
- if (iTB_d) ++pp.nchi ;
91
+ if (iTB_s) { ++pp.nchi ;
92
+ }
93
+ if (iTB_p) { ++pp.nchi ;
94
+ }
95
+ if (iTB_d) { ++pp.nchi ;
96
+ }
93
97
GlobalV::ofs_running << std::setw (15 ) << " NWFC" << std::setw (15 ) << pp.nchi << std::endl;
94
98
// allocate occupation number array for wave functions
95
99
pp.oc = std::vector<double >(pp.nchi , 0.0 );
@@ -225,26 +229,33 @@ int Pseudopot_upf::read_pseudo_vwr(std::ifstream &ifs, Atom_pseudo& pp)
225
229
// --------------------------------------
226
230
// (4) local pseudopotential
227
231
// --------------------------------------
228
- if (spd_loc==0 ) for (int ir=0 ; ir<pp.mesh ; ++ir)
232
+ if (spd_loc==0 ) { for (int ir=0 ; ir<pp.mesh ; ++ir)
229
233
{
230
234
// do nothing
231
235
}
232
- else if (spd_loc==1 ) for (int ir=0 ; ir<pp.mesh ; ++ir) pp.vloc_at [ir] = vs[ir];
233
- else if (spd_loc==2 ) for (int ir=0 ; ir<pp.mesh ; ++ir) pp.vloc_at [ir] = vp[ir];
234
- else if (spd_loc==3 ) for (int ir=0 ; ir<pp.mesh ; ++ir) pp.vloc_at [ir] = vd[ir];
235
- else if (spd_loc==12 ) for (int ir=0 ; ir<pp.mesh ; ++ir) pp.vloc_at [ir] = (vs[ir]+vp[ir])/2.0 ;
236
- else if (spd_loc==13 ) for (int ir=0 ; ir<pp.mesh ; ++ir) pp.vloc_at [ir] = (vs[ir]+vd[ir])/2.0 ;
237
- else if (spd_loc==23 ) for (int ir=0 ; ir<pp.mesh ; ++ir) pp.vloc_at [ir] = (vp[ir]+vd[ir])/2.0 ;
236
+ } else if (spd_loc==1 ) { for (int ir=0 ; ir<pp.mesh ; ++ir) { pp.vloc_at [ir] = vs[ir];
237
+ }
238
+ } else if (spd_loc==2 ) { for (int ir=0 ; ir<pp.mesh ; ++ir) { pp.vloc_at [ir] = vp[ir];
239
+ }
240
+ } else if (spd_loc==3 ) { for (int ir=0 ; ir<pp.mesh ; ++ir) { pp.vloc_at [ir] = vd[ir];
241
+ }
242
+ } else if (spd_loc==12 ) { for (int ir=0 ; ir<pp.mesh ; ++ir) { pp.vloc_at [ir] = (vs[ir]+vp[ir])/2.0 ;
243
+ }
244
+ } else if (spd_loc==13 ) { for (int ir=0 ; ir<pp.mesh ; ++ir) { pp.vloc_at [ir] = (vs[ir]+vd[ir])/2.0 ;
245
+ }
246
+ } else if (spd_loc==23 ) { for (int ir=0 ; ir<pp.mesh ; ++ir) { pp.vloc_at [ir] = (vp[ir]+vd[ir])/2.0 ;
247
+ }
248
+ }
238
249
239
250
240
251
// --------------------------------------
241
252
// (5) setup nonlocal pseudopotentials
242
253
// --------------------------------------
243
254
// for non-local pseudopotentials.
244
- if (iref_d==1 ) pp.lmax =2 ;
245
- else if (iref_p==1 ) pp.lmax =1 ;
246
- else if (iref_s==1 ) pp.lmax =0 ;
247
- else
255
+ if (iref_d==1 ) { pp.lmax =2 ;
256
+ } else if (iref_p==1 ) { pp.lmax =1 ;
257
+ } else if (iref_s==1 ) { pp.lmax =0 ;
258
+ } else
248
259
{
249
260
std::cout << " \n !!! READ THIS FIRST !!!" << std::endl;
250
261
std::cout << " Could not decide which is the max angular momentum from .vwr pseudopotential file." << std::endl;
@@ -255,9 +266,12 @@ int Pseudopot_upf::read_pseudo_vwr(std::ifstream &ifs, Atom_pseudo& pp)
255
266
}
256
267
// no projectors now
257
268
pp.nbeta = 0 ;
258
- if (iref_s==1 ) ++pp.nbeta ; // add one s projector
259
- if (iref_p==1 ) ++pp.nbeta ; // add one p projector
260
- if (iref_d==1 ) ++pp.nbeta ; // add one p projector
269
+ if (iref_s==1 ) { ++pp.nbeta ; // add one s projector
270
+ }
271
+ if (iref_p==1 ) { ++pp.nbeta ; // add one p projector
272
+ }
273
+ if (iref_d==1 ) { ++pp.nbeta ; // add one p projector
274
+ }
261
275
GlobalV::ofs_running << std::setw (15 ) << " NPROJ" << std::setw (15 ) << pp.nbeta << std::endl;
262
276
this ->nd = pp.nbeta ;
263
277
GlobalV::ofs_running << std::setw (15 ) << " N-Dij" << std::setw (15 ) << nd << std::endl;
@@ -300,9 +314,10 @@ int Pseudopot_upf::read_pseudo_vwr(std::ifstream &ifs, Atom_pseudo& pp)
300
314
{
301
315
double coef = 0.0 ;
302
316
const int lnow = pp.lll [ib];
303
- if (lnow==0 ) for (int ir=0 ; ir<pp.mesh ; ++ir){vl[ir]=vs[ir]; wlr[ir]=ws[ir]*pp.r [ir];}
304
- else if (lnow==1 ) for (int ir=0 ; ir<pp.mesh ; ++ir){vl[ir]=vp[ir]; wlr[ir]=wp[ir]*pp.r [ir];}
305
- else if (lnow==2 ) for (int ir=0 ; ir<pp.mesh ; ++ir){vl[ir]=vd[ir]; wlr[ir]=wd[ir]*pp.r [ir];}
317
+ if (lnow==0 ) { for (int ir=0 ; ir<pp.mesh ; ++ir){vl[ir]=vs[ir]; wlr[ir]=ws[ir]*pp.r [ir];}
318
+ } else if (lnow==1 ) { for (int ir=0 ; ir<pp.mesh ; ++ir){vl[ir]=vp[ir]; wlr[ir]=wp[ir]*pp.r [ir];}
319
+ } else if (lnow==2 ) { for (int ir=0 ; ir<pp.mesh ; ++ir){vl[ir]=vd[ir]; wlr[ir]=wd[ir]*pp.r [ir];}
320
+ }
306
321
// for non-local projectors
307
322
// note that < phi | dV | phi > integration must have 4pi,
308
323
// this 4pi is also needed in < phi | phi > = 1 integration.
@@ -323,8 +338,10 @@ int Pseudopot_upf::read_pseudo_vwr(std::ifstream &ifs, Atom_pseudo& pp)
323
338
// In pw they did this:
324
339
// pp.dion(ib,ib)=1.0/coef;
325
340
326
- if (coef<0.0 ) pp.dion (ib,ib) = -1.0 ;
327
- if (coef>=0.0 ) pp.dion (ib,ib) = 1.0 ;
341
+ if (coef<0.0 ) { pp.dion (ib,ib) = -1.0 ;
342
+ }
343
+ if (coef>=0.0 ) { pp.dion (ib,ib) = 1.0 ;
344
+ }
328
345
// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
329
346
// suppose wave function have sqrt(4pi) already
330
347
// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
0 commit comments