forked from lijiext/lammps
git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@12661 f3b2605a-c512-4ea7-a41b-209d697bcdaa
This commit is contained in:
parent
5ee4b73524
commit
88d6e13898
|
@ -760,7 +760,9 @@ void FixPhonon::postprocess( )
|
|||
for (int iz = 0; iz < nz; ++iz){
|
||||
double qz = double(iz)/double(nz);
|
||||
fprintf(flog,"%lg %lg %lg", qx, qy, qz);
|
||||
for (idim = 0; idim < fft_dim2; ++idim) fprintf(flog, " %lg %lg", real(Phi_all[idq][idim]), imag(Phi_all[idq][idim]));
|
||||
for (idim = 0; idim < fft_dim2; ++idim)
|
||||
fprintf(flog, " %lg %lg", std::real(Phi_all[idq][idim]),
|
||||
std::imag(Phi_all[idq][idim]));
|
||||
fprintf(flog, "\n");
|
||||
++idq;
|
||||
}
|
||||
|
@ -870,12 +872,12 @@ void FixPhonon::EnforceASR()
|
|||
double sum = 0.;
|
||||
for (int kp = 0; kp < nucell; ++kp){
|
||||
int idx = (k*sysdim+a)*fft_dim + kp*sysdim + b;
|
||||
sum += real(Phi_all[0][idx]);
|
||||
sum += std::real(Phi_all[0][idx]);
|
||||
}
|
||||
sum /= double(nucell);
|
||||
for (int kp = 0; kp < nucell; ++kp){
|
||||
int idx = (k*sysdim+a)*fft_dim + kp*sysdim + b;
|
||||
real(Phi_all[0][idx]) -= sum;
|
||||
Phi_all[0][idx] -= sum;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -888,8 +890,9 @@ void FixPhonon::EnforceASR()
|
|||
for (int b = 0; b < sysdim; ++b){
|
||||
int idx = (k*sysdim+a)*fft_dim + kp*sysdim + b;
|
||||
int jdx = (kp*sysdim+b)*fft_dim + k*sysdim + a;
|
||||
csum = (real(Phi_all[0][idx])+real(Phi_all[0][jdx]))*0.5;
|
||||
real(Phi_all[0][idx]) = real(Phi_all[0][jdx]) = csum;
|
||||
csum = (std::real(Phi_all[0][idx])+std::real(Phi_all[0][jdx]))*0.5;
|
||||
Phi_all[0][idx] = std::complex<double>(csum, std::imag(Phi_all[0][idx]));
|
||||
Phi_all[0][jdx] = std::complex<double>(csum, std::imag(Phi_all[0][jdx]));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -901,14 +904,15 @@ void FixPhonon::EnforceASR()
|
|||
double sum = 0.;
|
||||
for (int kp = 0; kp < nucell; ++kp){
|
||||
int idx = (k*sysdim+a)*fft_dim + kp*sysdim + b;
|
||||
sum += real(Phi_all[0][idx]);
|
||||
sum += std::real(Phi_all[0][idx]);
|
||||
}
|
||||
sum /= double(nucell-k);
|
||||
for (int kp = k; kp < nucell; ++kp){
|
||||
int idx = (k*sysdim+a)*fft_dim + kp*sysdim + b;
|
||||
int jdx = (kp*sysdim+b)*fft_dim + k*sysdim + a;
|
||||
real(Phi_all[0][idx]) -= sum;
|
||||
real(Phi_all[0][jdx]) = real(Phi_all[0][idx]);
|
||||
Phi_all[0][idx] -= sum;
|
||||
Phi_all[0][jdx] = std::complex<double>(std::real(Phi_all[0][idx]),
|
||||
std::imag(Phi_all[0][jdx]));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -55,8 +55,7 @@ int Init_System( reax_system *system, control_params *control, char *msg )
|
|||
if( control->hbond_cut > 0 )
|
||||
for( i = 0; i < system->n; ++i ) {
|
||||
atom = &(system->my_atoms[i]);
|
||||
if (atom->type < 0) continue;
|
||||
if( system->reax_param.sbp[ atom->type ].p_hbond == 1 )
|
||||
if (system->reax_param.sbp[ atom->type ].p_hbond == 1 && atom->type >= 0)
|
||||
atom->Hindex = system->numH++;
|
||||
else atom->Hindex = -1;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue