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.*",
|
TEST_FAILURE(".*ERROR: Cannot open file noexist.data: No such file or directory.*",
|
||||||
command("read_data noexist.data"););
|
command("read_data noexist.data"););
|
||||||
|
TEST_FAILURE(".*ERROR: Unknown read_data keyword xxx.*",
|
||||||
|
command("read_data noexist.data xxx"););
|
||||||
|
|
||||||
BEGIN_HIDE_OUTPUT();
|
BEGIN_HIDE_OUTPUT();
|
||||||
command("pair_style zero 1.0");
|
command("pair_style zero 1.0");
|
||||||
@ -501,6 +503,116 @@ TEST_F(FileOperationsTest, write_data)
|
|||||||
delete_file("triclinic.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)
|
int main(int argc, char **argv)
|
||||||
{
|
{
|
||||||
MPI_Init(&argc, &argv);
|
MPI_Init(&argc, &argv);
|
||||||
|
|||||||
Reference in New Issue
Block a user