diff --git a/src/USER-MISC/temper_grem.cpp b/src/USER-MISC/temper_grem.cpp index 28fea4968967c4efc378dba99e16409c096f185c..6ce7da8d6adea2267ebbb87a92469cfe7367f41f 100644 --- a/src/USER-MISC/temper_grem.cpp +++ b/src/USER-MISC/temper_grem.cpp @@ -283,8 +283,8 @@ void TemperGrem::command(int narg, char **arg) // compute weights volume = domain->xprd * domain->yprd * domain->zprd; enth = pe + (pressref * volume); - weight = log(set_lambda[my_set_lambda] + (eta*(enth + h0))); - weight_cross = log(set_lambda[partner_set_lambda] + (eta*(enth + h0))); + weight = log(set_lambda[my_set_lambda] + (eta*(enth - h0))); + weight_cross = log(set_lambda[partner_set_lambda] + (eta*(enth - h0))); if (me_universe > partner) { MPI_Send(&weight,1,MPI_DOUBLE,partner,0,universe->uworld); @@ -296,7 +296,7 @@ void TemperGrem::command(int narg, char **arg) } if (me_universe < partner) { - boltz_factor = (weight - weight_partner + weight_cross - weight_cross_partner) * + boltz_factor = (weight + weight_partner - weight_cross - weight_cross_partner) * (1 / (boltz * eta)); if (boltz_factor >= 0.0) swap = 1; else if (ranboltz->uniform() < exp(boltz_factor)) swap = 1;