add missing aspherical particle info to restart files

This commit is contained in:
Axel Kohlmeyer
2020-07-09 11:21:59 -04:00
parent d7efa8d523
commit 71f13cee9d
4 changed files with 17 additions and 3 deletions

View File

@ -61,7 +61,7 @@ AtomVecEllipsoid::AtomVecEllipsoid(LAMMPS *lmp) : AtomVec(lmp)
fields_border = (char *) "rmass"; fields_border = (char *) "rmass";
fields_border_vel = (char *) "rmass angmom"; fields_border_vel = (char *) "rmass angmom";
fields_exchange = (char *) "rmass angmom"; fields_exchange = (char *) "rmass angmom";
fields_restart = (char *) "rmass angmom ellipsoid"; fields_restart = (char *) "rmass angmom";
fields_create = (char *) "rmass angmom ellipsoid"; fields_create = (char *) "rmass angmom ellipsoid";
fields_data_atom = (char *) "id type ellipsoid rmass x"; fields_data_atom = (char *) "id type ellipsoid rmass x";
fields_data_vel = (char *) "id v angmom"; fields_data_vel = (char *) "id v angmom";

View File

@ -17,7 +17,7 @@
#define MAGIC_STRING "LammpS RestartT" #define MAGIC_STRING "LammpS RestartT"
#define ENDIAN 0x0001 #define ENDIAN 0x0001
#define ENDIANSWAP 0x1000 #define ENDIANSWAP 0x1000
#define FORMAT_REVISION 1 #define FORMAT_REVISION 2
enum{VERSION,SMALLINT,TAGINT,BIGINT, enum{VERSION,SMALLINT,TAGINT,BIGINT,
UNITS,NTIMESTEP,DIMENSION,NPROCS,PROCGRID, UNITS,NTIMESTEP,DIMENSION,NPROCS,PROCGRID,
@ -36,7 +36,8 @@ enum{VERSION,SMALLINT,TAGINT,BIGINT,
ATOM_ID,ATOM_MAP_STYLE,ATOM_MAP_USER,ATOM_SORTFREQ,ATOM_SORTBIN, ATOM_ID,ATOM_MAP_STYLE,ATOM_MAP_USER,ATOM_SORTFREQ,ATOM_SORTBIN,
COMM_MODE,COMM_CUTOFF,COMM_VEL,NO_PAIR, COMM_MODE,COMM_CUTOFF,COMM_VEL,NO_PAIR,
EXTRA_BOND_PER_ATOM,EXTRA_ANGLE_PER_ATOM,EXTRA_DIHEDRAL_PER_ATOM, EXTRA_BOND_PER_ATOM,EXTRA_ANGLE_PER_ATOM,EXTRA_DIHEDRAL_PER_ATOM,
EXTRA_IMPROPER_PER_ATOM,EXTRA_SPECIAL_PER_ATOM,ATOM_MAXSPECIAL}; EXTRA_IMPROPER_PER_ATOM,EXTRA_SPECIAL_PER_ATOM,ATOM_MAXSPECIAL,
NELLIPSOIDS,NLINES,NTRIS,NBODIES};
#define LB_FACTOR 1.1 #define LB_FACTOR 1.1

View File

@ -884,6 +884,14 @@ void ReadRestart::header()
atom->extra_improper_per_atom = read_int(); atom->extra_improper_per_atom = read_int();
} else if (flag == ATOM_MAXSPECIAL) { } else if (flag == ATOM_MAXSPECIAL) {
atom->maxspecial = read_int(); atom->maxspecial = read_int();
} else if (flag == NELLIPSOIDS) {
atom->nellipsoids = read_bigint();
} else if (flag == NLINES) {
atom->nlines = read_bigint();
} else if (flag == NTRIS) {
atom->ntris = read_bigint();
} else if (flag == NBODIES) {
atom->nbodies = read_bigint();
// for backward compatibility // for backward compatibility
} else if (flag == EXTRA_SPECIAL_PER_ATOM) { } else if (flag == EXTRA_SPECIAL_PER_ATOM) {

View File

@ -504,6 +504,11 @@ void WriteRestart::header()
write_int(EXTRA_IMPROPER_PER_ATOM,atom->extra_improper_per_atom); write_int(EXTRA_IMPROPER_PER_ATOM,atom->extra_improper_per_atom);
write_int(ATOM_MAXSPECIAL,atom->maxspecial); write_int(ATOM_MAXSPECIAL,atom->maxspecial);
write_bigint(NELLIPSOIDS,atom->nellipsoids);
write_bigint(NLINES,atom->nlines);
write_bigint(NTRIS,atom->ntris);
write_bigint(NBODIES,atom->nbodies);
// -1 flag signals end of header // -1 flag signals end of header
int flag = -1; int flag = -1;