diff --git a/src/USER-DRUDE/fix_drude_transform.cpp b/src/USER-DRUDE/fix_drude_transform.cpp index 29c1ff88211085fb9769e3d292b6bc3352d9d02d..bdb5d95acc06f6480287e1988ad4651478481ce4 100644 --- a/src/USER-DRUDE/fix_drude_transform.cpp +++ b/src/USER-DRUDE/fix_drude_transform.cpp @@ -75,7 +75,7 @@ void FixDrudeTransform<inverse>::setup(int) { if (!rmass) { if (!mcoeff) mcoeff = new double[ntypes+1]; - double mcoeff_loc[ntypes+1]; + double *mcoeff_loc = new double[ntypes+1]; for (int itype=0; itype<=ntypes; itype++) mcoeff_loc[itype] = 2.; // an impossible value: mcoeff is at most 1. for (int i=0; i<nlocal; i++) { if (drudetype[type[i]] == DRUDE_TYPE) { @@ -95,6 +95,7 @@ void FixDrudeTransform<inverse>::setup(int) { // mcoeff is 2 for non polarizable // 0 < mcoeff < 1 for drude // mcoeff < 0 for core + delete[] mcoeff_loc; } }