add tests for read_data add, and read_data with fix property/atom
This commit is contained in:
@ -469,6 +469,8 @@ TEST_F(FileOperationsTest, write_data)
|
||||
|
||||
TEST_FAILURE(".*ERROR: Cannot open file noexist.data: No such file or directory.*",
|
||||
command("read_data noexist.data"););
|
||||
TEST_FAILURE(".*ERROR: Unknown read_data keyword xxx.*",
|
||||
command("read_data noexist.data xxx"););
|
||||
|
||||
BEGIN_HIDE_OUTPUT();
|
||||
command("pair_style zero 1.0");
|
||||
@ -501,6 +503,116 @@ TEST_F(FileOperationsTest, write_data)
|
||||
delete_file("triclinic.data");
|
||||
}
|
||||
|
||||
#define GETIDX(i) lmp->atom->map(i)
|
||||
TEST_F(FileOperationsTest, read_data_fix)
|
||||
{
|
||||
ASSERT_EQ(lmp->restart_ver, -1);
|
||||
BEGIN_HIDE_OUTPUT();
|
||||
command("echo none");
|
||||
command("atom_modify map array");
|
||||
command("fix MoleculeIDs all property/atom mol");
|
||||
command("region box block -2 2 -2 2 -2 2");
|
||||
command("create_box 1 box");
|
||||
command("create_atoms 1 single 1.0 0.0 0.0");
|
||||
command("create_atoms 1 single 0.0 1.0 0.0");
|
||||
command("create_atoms 1 single 1.0 0.0 1.0");
|
||||
command("create_atoms 1 single 0.0 1.0 1.0");
|
||||
command("mass 1 1.0");
|
||||
command("set atom 1*2 mol 1");
|
||||
command("set atom 3*4 mol 2");
|
||||
command("write_data test_mol_id.data");
|
||||
lmp->atom->molecule[0] = 5;
|
||||
lmp->atom->molecule[1] = 6;
|
||||
lmp->atom->molecule[2] = 5;
|
||||
lmp->atom->molecule[3] = 6;
|
||||
lmp->atom->tag[0] = 9;
|
||||
lmp->atom->tag[1] = 6;
|
||||
lmp->atom->tag[2] = 7;
|
||||
lmp->atom->tag[3] = 8;
|
||||
lmp->atom->map_init(1);
|
||||
lmp->atom->map_set();
|
||||
command("write_data test_mol_id_merge.data");
|
||||
command("clear");
|
||||
END_HIDE_OUTPUT();
|
||||
TEST_FAILURE(".*ERROR: Cannot use read_data add before simulation box is defined.*",
|
||||
command("read_data test_mol_id.data add append"););
|
||||
|
||||
BEGIN_HIDE_OUTPUT();
|
||||
command("atom_modify map array");
|
||||
command("fix MoleculeIDs all property/atom mol");
|
||||
command("read_data test_mol_id.data fix MoleculeIDs NULL Molecules");
|
||||
command("read_data test_mol_id_merge.data add merge fix MoleculeIDs NULL Molecules");
|
||||
END_HIDE_OUTPUT();
|
||||
|
||||
EXPECT_EQ(lmp->atom->natoms, 8);
|
||||
EXPECT_EQ(lmp->atom->molecule[GETIDX(1)], 1);
|
||||
EXPECT_EQ(lmp->atom->molecule[GETIDX(2)], 1);
|
||||
EXPECT_EQ(lmp->atom->molecule[GETIDX(3)], 2);
|
||||
EXPECT_EQ(lmp->atom->molecule[GETIDX(4)], 2);
|
||||
EXPECT_EQ(lmp->atom->molecule[GETIDX(6)], 6);
|
||||
EXPECT_EQ(lmp->atom->molecule[GETIDX(7)], 5);
|
||||
EXPECT_EQ(lmp->atom->molecule[GETIDX(8)], 6);
|
||||
EXPECT_EQ(lmp->atom->molecule[GETIDX(9)], 5);
|
||||
EXPECT_EQ(lmp->atom->tag[GETIDX(1)], 1);
|
||||
EXPECT_EQ(lmp->atom->tag[GETIDX(2)], 2);
|
||||
EXPECT_EQ(lmp->atom->tag[GETIDX(3)], 3);
|
||||
EXPECT_EQ(lmp->atom->tag[GETIDX(4)], 4);
|
||||
EXPECT_EQ(lmp->atom->tag[GETIDX(6)], 6);
|
||||
EXPECT_EQ(lmp->atom->tag[GETIDX(7)], 7);
|
||||
EXPECT_EQ(lmp->atom->tag[GETIDX(8)], 8);
|
||||
EXPECT_EQ(lmp->atom->tag[GETIDX(9)], 9);
|
||||
|
||||
BEGIN_HIDE_OUTPUT();
|
||||
command("clear");
|
||||
command("atom_modify map array");
|
||||
command("fix MoleculeIDs all property/atom mol");
|
||||
command("read_data test_mol_id.data fix MoleculeIDs NULL Molecules");
|
||||
command("read_data test_mol_id.data add append fix MoleculeIDs NULL Molecules");
|
||||
END_HIDE_OUTPUT();
|
||||
EXPECT_EQ(lmp->atom->natoms, 8);
|
||||
EXPECT_EQ(lmp->atom->molecule[GETIDX(1)], 1);
|
||||
EXPECT_EQ(lmp->atom->molecule[GETIDX(2)], 1);
|
||||
EXPECT_EQ(lmp->atom->molecule[GETIDX(3)], 2);
|
||||
EXPECT_EQ(lmp->atom->molecule[GETIDX(4)], 2);
|
||||
EXPECT_EQ(lmp->atom->molecule[GETIDX(5)], 1);
|
||||
EXPECT_EQ(lmp->atom->molecule[GETIDX(6)], 1);
|
||||
EXPECT_EQ(lmp->atom->molecule[GETIDX(7)], 2);
|
||||
EXPECT_EQ(lmp->atom->molecule[GETIDX(8)], 2);
|
||||
EXPECT_EQ(lmp->atom->tag[GETIDX(1)], 1);
|
||||
EXPECT_EQ(lmp->atom->tag[GETIDX(2)], 2);
|
||||
EXPECT_EQ(lmp->atom->tag[GETIDX(3)], 3);
|
||||
EXPECT_EQ(lmp->atom->tag[GETIDX(4)], 4);
|
||||
EXPECT_EQ(lmp->atom->tag[GETIDX(5)], 5);
|
||||
EXPECT_EQ(lmp->atom->tag[GETIDX(6)], 6);
|
||||
EXPECT_EQ(lmp->atom->tag[GETIDX(7)], 7);
|
||||
EXPECT_EQ(lmp->atom->tag[GETIDX(8)], 8);
|
||||
|
||||
BEGIN_HIDE_OUTPUT();
|
||||
command("clear");
|
||||
command("atom_modify map array");
|
||||
command("fix MoleculeIDs all property/atom mol");
|
||||
command("read_data test_mol_id.data fix MoleculeIDs NULL Molecules");
|
||||
command("read_data test_mol_id.data add 6 4 fix MoleculeIDs NULL Molecules");
|
||||
END_HIDE_OUTPUT();
|
||||
EXPECT_EQ(lmp->atom->natoms, 8);
|
||||
EXPECT_EQ(lmp->atom->molecule[GETIDX(1)], 1);
|
||||
EXPECT_EQ(lmp->atom->molecule[GETIDX(2)], 1);
|
||||
EXPECT_EQ(lmp->atom->molecule[GETIDX(3)], 2);
|
||||
EXPECT_EQ(lmp->atom->molecule[GETIDX(4)], 2);
|
||||
EXPECT_EQ(lmp->atom->molecule[GETIDX(7)], 1);
|
||||
EXPECT_EQ(lmp->atom->molecule[GETIDX(8)], 1);
|
||||
EXPECT_EQ(lmp->atom->molecule[GETIDX(9)], 2);
|
||||
EXPECT_EQ(lmp->atom->molecule[GETIDX(10)], 2);
|
||||
EXPECT_EQ(lmp->atom->tag[GETIDX(1)], 1);
|
||||
EXPECT_EQ(lmp->atom->tag[GETIDX(2)], 2);
|
||||
EXPECT_EQ(lmp->atom->tag[GETIDX(3)], 3);
|
||||
EXPECT_EQ(lmp->atom->tag[GETIDX(4)], 4);
|
||||
EXPECT_EQ(lmp->atom->tag[GETIDX(7)], 7);
|
||||
EXPECT_EQ(lmp->atom->tag[GETIDX(8)], 8);
|
||||
EXPECT_EQ(lmp->atom->tag[GETIDX(9)], 9);
|
||||
EXPECT_EQ(lmp->atom->tag[GETIDX(10)], 10);
|
||||
}
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
MPI_Init(&argc, &argv);
|
||||
|
||||
Reference in New Issue
Block a user