diff --git a/src/fix_ave_correlate.cpp b/src/fix_ave_correlate.cpp index 80b2e22cd4..15171abf31 100644 --- a/src/fix_ave_correlate.cpp +++ b/src/fix_ave_correlate.cpp @@ -19,6 +19,7 @@ #include "stdlib.h" #include "string.h" +#include "unistd.h" #include "fix_ave_correlate.h" #include "update.h" #include "modify.h" @@ -484,6 +485,10 @@ void FixAveCorrelate::end_of_step() fprintf(fp,"\n"); } fflush(fp); + if (overwrite) { + long fileend = ftell(fp); + ftruncate(fileno(fp),fileend); + } } // zero accumulation if requested diff --git a/src/fix_langevin.cpp b/src/fix_langevin.cpp index a40c434570..e693e5d09c 100644 --- a/src/fix_langevin.cpp +++ b/src/fix_langevin.cpp @@ -160,7 +160,7 @@ FixLangevin::FixLangevin(LAMMPS *lmp, int narg, char **arg) : if (gjfflag) { nvalues = 3; - grow_arrays(atom->nlocal); + grow_arrays(atom->nmax); atom->add_callback(0); // initialize franprev to zero @@ -308,10 +308,10 @@ void FixLangevin::post_force(int vflag) if (tbiasflag == BIAS) if (rmass) if (zeroflag) post_force_templated<1,1,1,1,1,1>(); - else post_force_templated<1,1,1,1,1,0>(); + else post_force_templated<1,1,1,1,1,0>(); else if (zeroflag) post_force_templated<1,1,1,1,0,1>(); - else post_force_templated<1,1,1,1,0,0>(); + else post_force_templated<1,1,1,1,0,0>(); else if (rmass) if (zeroflag) post_force_templated<1,1,1,0,1,1>(); @@ -884,9 +884,7 @@ double FixLangevin::memory_usage() void FixLangevin::grow_arrays(int nmax) { - if (!gjfflag) return; memory->grow(franprev,nmax,3,"fix_langevin:franprev"); - array = franprev; } /* ---------------------------------------------------------------------- @@ -896,7 +894,7 @@ void FixLangevin::grow_arrays(int nmax) void FixLangevin::copy_arrays(int i, int j, int delflag) { for (int m = 0; m < nvalues; m++) - array[j][m] = array[i][m]; + franprev[j][m] = franprev[i][m]; } /* ---------------------------------------------------------------------- @@ -905,7 +903,7 @@ void FixLangevin::copy_arrays(int i, int j, int delflag) int FixLangevin::pack_exchange(int i, double *buf) { - for (int m = 0; m < nvalues; m++) buf[m] = array[i][m]; + for (int m = 0; m < nvalues; m++) buf[m] = franprev[i][m]; return nvalues; } @@ -915,7 +913,6 @@ int FixLangevin::pack_exchange(int i, double *buf) int FixLangevin::unpack_exchange(int nlocal, double *buf) { - for (int m = 0; m < nvalues; m++) array[nlocal][m] = buf[m]; + for (int m = 0; m < nvalues; m++) franprev[nlocal][m] = buf[m]; return nvalues; } - diff --git a/src/fix_langevin.h b/src/fix_langevin.h index 79fe982d70..209c66ff31 100644 --- a/src/fix_langevin.h +++ b/src/fix_langevin.h @@ -61,7 +61,7 @@ class FixLangevin : public Fix { int maxatom1,maxatom2; double **flangevin; double *tforce; - double **franprev, **array; + double **franprev; int nvalues; char *id_temp;