forked from lijiext/lammps
avoid division by zero
This commit is contained in:
parent
fc1be785fc
commit
4da8ff3d21
|
@ -520,8 +520,8 @@ void FixQBMSST::initial_integrate(int /*vflag*/)
|
|||
// decide if the qtb temperature need to be updated or not
|
||||
if (counter_l == 0) {
|
||||
t_current -= dtv*fric_coef*eta*beta*(old_eavg-e0)/(3*ntotal*boltz);
|
||||
if (t_current <= 0.0) break;
|
||||
old_eavg = 0;//clear old energy average
|
||||
if (t_current < 0.0) t_current=0;
|
||||
|
||||
// load omega_H with calculated spectrum at a specific temperature (corrected spectrum), omega_H is the Fourier transformation of time_H
|
||||
for (int k = 0; k < 2*N_f; k++) {
|
||||
|
@ -529,7 +529,7 @@ void FixQBMSST::initial_integrate(int /*vflag*/)
|
|||
if(k == N_f) {
|
||||
omega_H[k]=sqrt(force->boltz * t_current);
|
||||
} else {
|
||||
double energy_k= force->hplanck * fabs(f_k);
|
||||
double energy_k= force->hplanck * fabs(f_k);
|
||||
omega_H[k]=sqrt( energy_k * (0.5+1.0/( exp(energy_k/(force->boltz * t_current)) - 1.0 )) );
|
||||
omega_H[k]*=alpha*sin((k-N_f)*MY_PI/(2*alpha*N_f))/sin((k-N_f)*MY_PI/(2*N_f));
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue