diff --git a/src/MOLECULE/dihedral_harmonic.cpp b/src/MOLECULE/dihedral_harmonic.cpp index f1e5811a84..4f6a88eca5 100644 --- a/src/MOLECULE/dihedral_harmonic.cpp +++ b/src/MOLECULE/dihedral_harmonic.cpp @@ -42,7 +42,7 @@ DihedralHarmonic::DihedralHarmonic(LAMMPS *lmp) : Dihedral(lmp) DihedralHarmonic::~DihedralHarmonic() { - if (allocated) { + if (allocated && !copymode) { memory->destroy(setflag); memory->destroy(k); memory->destroy(sign); diff --git a/src/MOLECULE/dihedral_harmonic.h b/src/MOLECULE/dihedral_harmonic.h index 938e59918b..6792d16a20 100644 --- a/src/MOLECULE/dihedral_harmonic.h +++ b/src/MOLECULE/dihedral_harmonic.h @@ -29,16 +29,16 @@ class DihedralHarmonic : public Dihedral { DihedralHarmonic(class LAMMPS *); virtual ~DihedralHarmonic(); virtual void compute(int, int); - void coeff(int, char **); + virtual void coeff(int, char **); void write_restart(FILE *); - void read_restart(FILE *); + virtual void read_restart(FILE *); void write_data(FILE *); protected: double *k,*cos_shift,*sin_shift; int *sign,*multiplicity; - void allocate(); + virtual void allocate(); }; }