From 17853aef202c668b4abd976e6fa1d82e74629836 Mon Sep 17 00:00:00 2001
From: Axel Kohlmeyer <akohlmey@gmail.com>
Date: Fri, 5 Oct 2018 09:47:47 +0200
Subject: [PATCH] modify restart changes, so it stays backward compatible and
 does not result in unexpected behavior when reading old restarts. also use
 consistent naming conventions for enum entries

---
 src/read_restart.cpp  | 6 ++++--
 src/write_restart.cpp | 4 ++--
 2 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/read_restart.cpp b/src/read_restart.cpp
index a57831a5b2..252c48d251 100644
--- a/src/read_restart.cpp
+++ b/src/read_restart.cpp
@@ -64,7 +64,7 @@ enum{VERSION,SMALLINT,TAGINT,BIGINT,
      ATOM_ID,ATOM_MAP_STYLE,ATOM_MAP_USER,ATOM_SORTFREQ,ATOM_SORTBIN,
      COMM_MODE,COMM_CUTOFF,COMM_VEL,NO_PAIR,
      EXTRA_BOND_PER_ATOM,EXTRA_ANGLE_PER_ATOM,EXTRA_DIHEDRAL_PER_ATOM,
-     EXTRA_IMPROPER_PER_ATOM,MAXSPECIAL};
+     EXTRA_IMPROPER_PER_ATOM,EXTRA_SPECIAL_PER_ATOM,ATOM_MAXSPECIAL};
 
 #define LB_FACTOR 1.1
 
@@ -924,7 +924,9 @@ void ReadRestart::header(int incompatible)
       atom->extra_dihedral_per_atom = read_int();
     } else if (flag == EXTRA_IMPROPER_PER_ATOM) {
       atom->extra_improper_per_atom = read_int();
-    } else if (flag == MAXSPECIAL) {
+    } else if (flag == EXTRA_SPECIAL_PER_ATOM) {
+      force->special_extra = read_int();
+    } else if (flag == ATOM_MAXSPECIAL) {
       atom->maxspecial = read_int();
 
     } else error->all(FLERR,"Invalid flag in header section of restart file");
diff --git a/src/write_restart.cpp b/src/write_restart.cpp
index 6e01ab2997..e0e17cd292 100644
--- a/src/write_restart.cpp
+++ b/src/write_restart.cpp
@@ -63,7 +63,7 @@ enum{VERSION,SMALLINT,TAGINT,BIGINT,
      ATOM_ID,ATOM_MAP_STYLE,ATOM_MAP_USER,ATOM_SORTFREQ,ATOM_SORTBIN,
      COMM_MODE,COMM_CUTOFF,COMM_VEL,NO_PAIR,
      EXTRA_BOND_PER_ATOM,EXTRA_ANGLE_PER_ATOM,EXTRA_DIHEDRAL_PER_ATOM,
-     EXTRA_IMPROPER_PER_ATOM,MAXSPECIAL};
+     EXTRA_IMPROPER_PER_ATOM,EXTRA_SPECIAL_PER_ATOM,ATOM_MAXSPECIAL};
 
 /* ---------------------------------------------------------------------- */
 
@@ -533,7 +533,7 @@ void WriteRestart::header()
   write_int(EXTRA_ANGLE_PER_ATOM,atom->extra_angle_per_atom);
   write_int(EXTRA_DIHEDRAL_PER_ATOM,atom->extra_dihedral_per_atom);
   write_int(EXTRA_IMPROPER_PER_ATOM,atom->extra_improper_per_atom);
-  write_int(MAXSPECIAL,atom->maxspecial);
+  write_int(ATOM_MAXSPECIAL,atom->maxspecial);
 
   // -1 flag signals end of header
 
-- 
GitLab