]> hackdaworld.org Git - physik/posic.git/blobdiff - moldyn.c
introduced time constant in scaling methods
[physik/posic.git] / moldyn.c
index 9bd216d7fc66d8e171459e60d32159a7eb5340ba..48129029a1c6e47a6fc0a59893c9fef04caa8999 100644 (file)
--- a/moldyn.c
+++ b/moldyn.c
@@ -872,7 +872,7 @@ int scale_velocity(t_moldyn *moldyn,u8 equi_init) {
                scale*=2.0;
        else
                if(moldyn->pt_scale&T_SCALE_BERENDSEN)
                scale*=2.0;
        else
                if(moldyn->pt_scale&T_SCALE_BERENDSEN)
-                       scale=1.0+(scale-1.0)/moldyn->t_tc;
+                       scale=1.0+(scale-1.0)*moldyn->timestep/moldyn->t_tc;
        scale=sqrt(scale);
 
        /* velocity scaling */
        scale=sqrt(scale);
 
        /* velocity scaling */
@@ -1182,8 +1182,8 @@ int scale_volume(t_moldyn *moldyn) {
 
        /* scaling factor */
        if(moldyn->pt_scale&P_SCALE_BERENDSEN) {
 
        /* scaling factor */
        if(moldyn->pt_scale&P_SCALE_BERENDSEN) {
-               scale=1.0-(moldyn->p_ref-moldyn->p)*moldyn->p_tc;
-               scale=pow(scale,ONE_THIRD);
+               scale=(moldyn->p_ref-moldyn->p)*moldyn->p_tc*moldyn->timestep;
+               scale=pow(1.0-scale,ONE_THIRD);
        }
        else {
                scale=pow(moldyn->p/moldyn->p_ref,ONE_THIRD);
        }
        else {
                scale=pow(moldyn->p/moldyn->p_ref,ONE_THIRD);