diff --git a/src/angle_hybrid.cpp b/src/angle_hybrid.cpp index b8535e692e..7c0cbd3008 100644 --- a/src/angle_hybrid.cpp +++ b/src/angle_hybrid.cpp @@ -128,6 +128,14 @@ void AngleHybrid::compute(int eflag, int vflag) for (j = 0; j < 6; j++) vatom[i][j] += vatom_substyle[i][j]; } + if (cvflag_atom) { + n = atom->nlocal; + if (force->newton_bond) n += atom->nghost; + double **cvatom_substyle = styles[m]->cvatom; + for (i = 0; i < n; i++) + for (j = 0; j < 9; j++) + cvatom[i][j] += cvatom_substyle[i][j]; + } } // restore ptrs to original anglelist @@ -370,6 +378,7 @@ double AngleHybrid::memory_usage() { double bytes = maxeatom * sizeof(double); bytes += maxvatom*6 * sizeof(double); + bytes += maxcvatom*9 * sizeof(double); for (int m = 0; m < nstyles; m++) bytes += maxangle[m]*4 * sizeof(int); for (int m = 0; m < nstyles; m++) if (styles[m]) bytes += styles[m]->memory_usage(); diff --git a/src/dihedral_hybrid.cpp b/src/dihedral_hybrid.cpp index fe755ab85b..ca5c90093c 100644 --- a/src/dihedral_hybrid.cpp +++ b/src/dihedral_hybrid.cpp @@ -130,6 +130,14 @@ void DihedralHybrid::compute(int eflag, int vflag) for (j = 0; j < 6; j++) vatom[i][j] += vatom_substyle[i][j]; } + if (cvflag_atom) { + n = atom->nlocal; + if (force->newton_bond) n += atom->nghost; + double **cvatom_substyle = styles[m]->cvatom; + for (i = 0; i < n; i++) + for (j = 0; j < 9; j++) + cvatom[i][j] += cvatom_substyle[i][j]; + } } // restore ptrs to original dihedrallist @@ -348,6 +356,7 @@ double DihedralHybrid::memory_usage() { double bytes = maxeatom * sizeof(double); bytes += maxvatom*6 * sizeof(double); + bytes += maxcvatom*9 * sizeof(double); for (int m = 0; m < nstyles; m++) bytes += maxdihedral[m]*5 * sizeof(int); for (int m = 0; m < nstyles; m++) if (styles[m]) bytes += styles[m]->memory_usage(); diff --git a/src/improper_hybrid.cpp b/src/improper_hybrid.cpp index fe524b838a..69dfc2d9cd 100644 --- a/src/improper_hybrid.cpp +++ b/src/improper_hybrid.cpp @@ -129,6 +129,14 @@ void ImproperHybrid::compute(int eflag, int vflag) for (j = 0; j < 6; j++) vatom[i][j] += vatom_substyle[i][j]; } + if (cvflag_atom) { + n = atom->nlocal; + if (force->newton_bond) n += atom->nghost; + double **cvatom_substyle = styles[m]->cvatom; + for (i = 0; i < n; i++) + for (j = 0; j < 9; j++) + cvatom[i][j] += cvatom_substyle[i][j]; + } } // restore ptrs to original improperlist @@ -344,6 +352,7 @@ double ImproperHybrid::memory_usage() { double bytes = maxeatom * sizeof(double); bytes += maxvatom*6 * sizeof(double); + bytes += maxcvatom*9 * sizeof(double); for (int m = 0; m < nstyles; m++) bytes += maximproper[m]*5 * sizeof(int); for (int m = 0; m < nstyles; m++) if (styles[m]) bytes += styles[m]->memory_usage();