|
|
|
|
@ -13,10 +13,10 @@
|
|
|
|
|
#define STRINGIFY(val) XSTR(val)
|
|
|
|
|
#define XSTR(val) #val
|
|
|
|
|
|
|
|
|
|
using ::LAMMPS_NS::tagint;
|
|
|
|
|
using ::testing::HasSubstr;
|
|
|
|
|
using ::testing::StartsWith;
|
|
|
|
|
using ::testing::StrEq;
|
|
|
|
|
using ::LAMMPS_NS::tagint;
|
|
|
|
|
|
|
|
|
|
class LibraryProperties : public ::testing::Test {
|
|
|
|
|
protected:
|
|
|
|
|
@ -198,6 +198,13 @@ TEST_F(LibraryProperties, setting)
|
|
|
|
|
if (!verbose) ::testing::internal::CaptureStdout();
|
|
|
|
|
lammps_command(lmp, "dimension 3");
|
|
|
|
|
if (!verbose) ::testing::internal::GetCapturedStdout();
|
|
|
|
|
|
|
|
|
|
EXPECT_EQ(lammps_extract_setting(lmp, "ntypes"), 0);
|
|
|
|
|
EXPECT_EQ(lammps_extract_setting(lmp, "nbondtypes"), 0);
|
|
|
|
|
EXPECT_EQ(lammps_extract_setting(lmp, "nangletypes"), 0);
|
|
|
|
|
EXPECT_EQ(lammps_extract_setting(lmp, "ndihedraltypes"), 0);
|
|
|
|
|
EXPECT_EQ(lammps_extract_setting(lmp, "nimpropertypes"), 0);
|
|
|
|
|
|
|
|
|
|
EXPECT_EQ(lammps_extract_setting(lmp, "molecule_flag"), 0);
|
|
|
|
|
EXPECT_EQ(lammps_extract_setting(lmp, "q_flag"), 0);
|
|
|
|
|
EXPECT_EQ(lammps_extract_setting(lmp, "mu_flag"), 0);
|
|
|
|
|
@ -217,10 +224,22 @@ TEST_F(LibraryProperties, setting)
|
|
|
|
|
EXPECT_EQ(lammps_extract_setting(lmp, "nghost"), 518);
|
|
|
|
|
EXPECT_EQ(lammps_extract_setting(lmp, "nall"), 547);
|
|
|
|
|
EXPECT_EQ(lammps_extract_setting(lmp, "nmax"), 16384);
|
|
|
|
|
EXPECT_EQ(lammps_extract_setting(lmp, "ntypes"), 5);
|
|
|
|
|
EXPECT_EQ(lammps_extract_setting(lmp, "nbondtypes"), 5);
|
|
|
|
|
EXPECT_EQ(lammps_extract_setting(lmp, "nangletypes"), 4);
|
|
|
|
|
EXPECT_EQ(lammps_extract_setting(lmp, "ndihedraltypes"), 5);
|
|
|
|
|
EXPECT_EQ(lammps_extract_setting(lmp, "nimpropertypes"), 2);
|
|
|
|
|
|
|
|
|
|
EXPECT_EQ(lammps_extract_setting(lmp, "molecule_flag"), 1);
|
|
|
|
|
EXPECT_EQ(lammps_extract_setting(lmp, "q_flag"), 1);
|
|
|
|
|
EXPECT_EQ(lammps_extract_setting(lmp, "mu_flag"), 0);
|
|
|
|
|
EXPECT_EQ(lammps_extract_setting(lmp, "rmass_flag"), 0);
|
|
|
|
|
EXPECT_EQ(lammps_extract_setting(lmp, "radius_flag"), 0);
|
|
|
|
|
EXPECT_EQ(lammps_extract_setting(lmp, "sphere_flag"), 0);
|
|
|
|
|
EXPECT_EQ(lammps_extract_setting(lmp, "ellipsoid_flag"), 0);
|
|
|
|
|
EXPECT_EQ(lammps_extract_setting(lmp, "omega_flag"), 0);
|
|
|
|
|
EXPECT_EQ(lammps_extract_setting(lmp, "torque_flag"), 0);
|
|
|
|
|
EXPECT_EQ(lammps_extract_setting(lmp, "angmom_flag"), 0);
|
|
|
|
|
if (!verbose) ::testing::internal::CaptureStdout();
|
|
|
|
|
lammps_command(lmp, "change_box all triclinic");
|
|
|
|
|
lammps_command(lmp, "fix rmass all property/atom rmass ghost yes");
|
|
|
|
|
@ -240,20 +259,31 @@ TEST_F(LibraryProperties, global)
|
|
|
|
|
lammps_command(lmp, "run 2 post no");
|
|
|
|
|
if (!verbose) ::testing::internal::GetCapturedStdout();
|
|
|
|
|
|
|
|
|
|
LAMMPS_NS::bigint *b_ptr;
|
|
|
|
|
int64_t *b_ptr;
|
|
|
|
|
char *c_ptr;
|
|
|
|
|
double *d_ptr;
|
|
|
|
|
int *i_ptr;
|
|
|
|
|
|
|
|
|
|
EXPECT_EQ(lammps_extract_global_datatype(lmp, "UNKNOWN"), -1);
|
|
|
|
|
EXPECT_EQ(lammps_extract_global(lmp, "UNKNOWN"), nullptr);
|
|
|
|
|
|
|
|
|
|
EXPECT_EQ(lammps_extract_global_datatype(lmp, "units"), LAMMPS_STRING);
|
|
|
|
|
c_ptr = (char *)lammps_extract_global(lmp, "units");
|
|
|
|
|
EXPECT_THAT(c_ptr, StrEq("real"));
|
|
|
|
|
b_ptr = (LAMMPS_NS::bigint *)lammps_extract_global(lmp, "ntimestep");
|
|
|
|
|
|
|
|
|
|
#if defined(LAMMPS_SMALLSMALL)
|
|
|
|
|
EXPECT_EQ(lammps_extract_global_datatype(lmp, "ntimestep"), LAMMPS_INT);
|
|
|
|
|
i_ptr = (int *)lammps_extract_global(lmp, "ntimestep");
|
|
|
|
|
EXPECT_EQ((*i_ptr), 2);
|
|
|
|
|
#else
|
|
|
|
|
EXPECT_EQ(lammps_extract_global_datatype(lmp, "ntimestep"), LAMMPS_INT64);
|
|
|
|
|
b_ptr = (int64_t *)lammps_extract_global(lmp, "ntimestep");
|
|
|
|
|
EXPECT_EQ((*b_ptr), 2);
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
EXPECT_EQ(lammps_extract_global_datatype(lmp, "dt"), LAMMPS_DOUBLE);
|
|
|
|
|
d_ptr = (double *)lammps_extract_global(lmp, "dt");
|
|
|
|
|
EXPECT_DOUBLE_EQ((*d_ptr), 0.1);
|
|
|
|
|
int dtype = lammps_extract_global_datatype(lmp, "dt");
|
|
|
|
|
EXPECT_EQ(dtype, LAMMPS_DOUBLE);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
class AtomProperties : public ::testing::Test {
|
|
|
|
|
|