store LAMMPS version of restart, if initialized from restart file
This commit is contained in:
@ -130,6 +130,7 @@ LAMMPS::LAMMPS(int narg, char **arg, MPI_Comm communicator) :
|
||||
|
||||
version = (const char *) LAMMPS_VERSION;
|
||||
num_ver = utils::date2num(version);
|
||||
restart_ver = -1;
|
||||
|
||||
external_comm = 0;
|
||||
mdicomm = nullptr;
|
||||
@ -993,6 +994,8 @@ void LAMMPS::destroy()
|
||||
|
||||
delete python;
|
||||
python = nullptr;
|
||||
|
||||
restart_ver = -1; // reset last restart version id
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
|
||||
@ -49,6 +49,8 @@ class LAMMPS {
|
||||
// that is constructed so that will be greater
|
||||
// for newer versions in numeric or string
|
||||
// value comparisons
|
||||
int restart_ver; // -1 or numeric version id of LAMMPS version in restart
|
||||
// file, in case LAMMPS was initialized from a restart
|
||||
//
|
||||
MPI_Comm world; // MPI communicator
|
||||
FILE *infile; // infile
|
||||
|
||||
@ -599,6 +599,8 @@ void ReadRestart::header()
|
||||
|
||||
if (flag == VERSION) {
|
||||
char *version = read_string();
|
||||
lmp->restart_ver = utils::date2num(version);
|
||||
|
||||
if (me == 0)
|
||||
utils::logmesg(lmp," restart file = {}, LAMMPS = {}\n", version, lmp->version);
|
||||
delete[] version;
|
||||
|
||||
@ -303,6 +303,7 @@ TEST_F(FileOperationsTest, error_all_one)
|
||||
|
||||
TEST_F(FileOperationsTest, write_restart)
|
||||
{
|
||||
ASSERT_EQ(lmp->restart_ver, -1);
|
||||
BEGIN_HIDE_OUTPUT();
|
||||
command("echo none");
|
||||
END_HIDE_OUTPUT();
|
||||
@ -356,6 +357,7 @@ TEST_F(FileOperationsTest, write_restart)
|
||||
BEGIN_HIDE_OUTPUT();
|
||||
command("clear");
|
||||
END_HIDE_OUTPUT();
|
||||
ASSERT_EQ(lmp->restart_ver, -1);
|
||||
ASSERT_EQ(lmp->atom->natoms, 0);
|
||||
ASSERT_EQ(lmp->update->ntimestep, 0);
|
||||
ASSERT_EQ(lmp->domain->triclinic, 0);
|
||||
@ -369,18 +371,21 @@ TEST_F(FileOperationsTest, write_restart)
|
||||
command("change_box all triclinic");
|
||||
command("write_restart triclinic.restart");
|
||||
END_HIDE_OUTPUT();
|
||||
ASSERT_EQ(lmp->restart_ver, lmp->num_ver);
|
||||
ASSERT_EQ(lmp->atom->natoms, 1);
|
||||
ASSERT_EQ(lmp->update->ntimestep, 333);
|
||||
ASSERT_EQ(lmp->domain->triclinic, 1);
|
||||
BEGIN_HIDE_OUTPUT();
|
||||
command("clear");
|
||||
END_HIDE_OUTPUT();
|
||||
ASSERT_EQ(lmp->restart_ver, -1);
|
||||
ASSERT_EQ(lmp->atom->natoms, 0);
|
||||
ASSERT_EQ(lmp->update->ntimestep, 0);
|
||||
ASSERT_EQ(lmp->domain->triclinic, 0);
|
||||
BEGIN_HIDE_OUTPUT();
|
||||
command("read_restart triclinic.restart");
|
||||
END_HIDE_OUTPUT();
|
||||
ASSERT_EQ(lmp->restart_ver, lmp->num_ver);
|
||||
ASSERT_EQ(lmp->atom->natoms, 1);
|
||||
ASSERT_EQ(lmp->update->ntimestep, 333);
|
||||
ASSERT_EQ(lmp->domain->triclinic, 1);
|
||||
|
||||
Reference in New Issue
Block a user