properly initialize Atom class member and avoid side effects during write data
This commit is contained in:
@ -227,6 +227,7 @@ Atom::Atom(LAMMPS *_lmp) : Pointers(_lmp)
|
||||
// type labels
|
||||
|
||||
lmap = nullptr;
|
||||
types_style = NUMERIC;
|
||||
|
||||
// custom atom arrays
|
||||
|
||||
|
||||
@ -73,7 +73,8 @@ void WriteData::command(int narg, char **arg)
|
||||
coeffflag = 1;
|
||||
fixflag = 1;
|
||||
lmapflag = 1;
|
||||
atom->types_style = Atom::NUMERIC;
|
||||
// store current (default) setting since we may change it.
|
||||
int types_style = atom->types_style;
|
||||
int noinit = 0;
|
||||
|
||||
int iarg = 1;
|
||||
@ -134,6 +135,8 @@ void WriteData::command(int narg, char **arg)
|
||||
}
|
||||
|
||||
write(file);
|
||||
// restore saved setting
|
||||
atom->types_style = types_style;
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
|
||||
@ -57,6 +57,7 @@ TEST_F(LabelMapTest, Atoms)
|
||||
EXPECT_EQ(atom->natoms, 0);
|
||||
EXPECT_EQ(domain->box_exist, 0);
|
||||
EXPECT_EQ(atom->labelmapflag, 0);
|
||||
EXPECT_EQ(atom->types_style, Atom::NUMERIC);
|
||||
ASSERT_EQ(atom->lmap, nullptr);
|
||||
TEST_FAILURE(".*ERROR: Labelmap command before simulation box is.*",
|
||||
command("labelmap atom 3 C1"););
|
||||
|
||||
Reference in New Issue
Block a user