From 507064d45d597ddd7b61c7c791a0bad5cab1e64b Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Wed, 27 May 2020 13:13:50 -0400 Subject: [PATCH] Add Tersoff potential file read test --- src/MANYBODY/pair_tersoff.h | 3 ++- unittest/formats/test_potential_file_reader.cpp | 8 ++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/MANYBODY/pair_tersoff.h b/src/MANYBODY/pair_tersoff.h index 83ac73d5b8..2692a026b0 100644 --- a/src/MANYBODY/pair_tersoff.h +++ b/src/MANYBODY/pair_tersoff.h @@ -34,7 +34,6 @@ class PairTersoff : public Pair { virtual void init_style(); double init_one(int, int); - protected: struct Param { double lam1,lam2,lam3; double c,d,h; @@ -50,8 +49,10 @@ class PairTersoff : public Pair { double c5,ca1,ca4; // added for TersoffMOD double powern_del; double c0; // added for TersoffMODC + static const int NPARAMS_PER_LINE = 17; }; + protected: Param *params; // parameter set for an I-J-K interaction char **elements; // names of unique elements int ***elem2param; // mapping from element triplets to parameters diff --git a/unittest/formats/test_potential_file_reader.cpp b/unittest/formats/test_potential_file_reader.cpp index 51477f7ada..c01fb7a8f3 100644 --- a/unittest/formats/test_potential_file_reader.cpp +++ b/unittest/formats/test_potential_file_reader.cpp @@ -6,6 +6,7 @@ #include "MANYBODY/pair_sw.h" #include "MANYBODY/pair_comb.h" #include "MANYBODY/pair_comb3.h" +#include "MANYBODY/pair_tersoff.h" #include @@ -14,6 +15,7 @@ using namespace LAMMPS_NS; const int LAMMPS_NS::PairSW::Param::NPARAMS_PER_LINE; const int LAMMPS_NS::PairComb::Param::NPARAMS_PER_LINE; const int LAMMPS_NS::PairComb3::Param::NPARAMS_PER_LINE; +const int LAMMPS_NS::PairTersoff::Param::NPARAMS_PER_LINE; class PotenialFileReaderTest : public ::testing::Test { protected: @@ -49,6 +51,12 @@ TEST_F(PotenialFileReaderTest, Comb3) { ASSERT_EQ(utils::count_words(line), PairComb3::Param::NPARAMS_PER_LINE); } +TEST_F(PotenialFileReaderTest, Tersoff) { + PotentialFileReader reader(lmp, "Si.tersoff", "Tersoff"); + auto line = reader.next_line(PairTersoff::Param::NPARAMS_PER_LINE); + ASSERT_EQ(utils::count_words(line), PairTersoff::Param::NPARAMS_PER_LINE); +} + int main(int argc, char **argv) { MPI_Init(&argc, &argv);