Commit eea9b8bf authored by athomps's avatar athomps
Browse files

Added another tweak to fix_nh.cpp

git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@6938 f3b2605a-c512-4ea7-a41b-209d697bcdaa
parent 5406456a
Loading
Loading
Loading
Loading
+28 −0
Original line number Diff line number Diff line
@@ -1580,10 +1580,38 @@ void FixNH::reset_dt()
      p_freq_max = MAX(p_freq_max,p_freq[4]);
      p_freq_max = MAX(p_freq_max,p_freq[5]);
    }

    double kt = boltz * t_target;
    double nkt = atom->natoms * kt;

    for (int i = 0; i < 3; i++)
      if (p_flag[i])
	omega_mass[i] = nkt/(p_freq[i]*p_freq[i]);

    if (pstyle == TRICLINIC) {
      for (int i = 3; i < 6; i++)
	if (p_flag[i]) omega_mass[i] = nkt/(p_freq[i]*p_freq[i]);
    }

  // masses and initial forces on barostat thermostat variables

    if (mpchain) {
      etap_mass[0] = boltz * t_target / (p_freq_max*p_freq_max);
      for (int ich = 1; ich < mpchain; ich++)
	etap_mass[ich] = boltz * t_target / (p_freq_max*p_freq_max);
      for (int ich = 1; ich < mpchain; ich++)
	etap_dotdot[ich] = 
	  (etap_mass[ich-1]*etap_dot[ich-1]*etap_dot[ich-1] -
	   boltz * t_target) / etap_mass[ich];
    }

    pdrag_factor = 1.0 - (update->dt * p_freq_max * drag / nc_pchain);
  }

  if (tstat_flag)
    eta_mass[0] = tdof * boltz * t_target / (t_freq*t_freq);
    for (int ich = 1; ich < mtchain; ich++)
      eta_mass[ich] = boltz * t_target / (t_freq*t_freq);
    tdrag_factor = 1.0 - (update->dt * t_freq * drag / nc_tchain);
}