Add Tersoff potential file read test

This commit is contained in:
Richard Berger
2020-05-27 13:13:50 -04:00
parent 68e2c0bca8
commit 507064d45d
2 changed files with 10 additions and 1 deletions

View File

@ -34,7 +34,6 @@ class PairTersoff : public Pair {
virtual void init_style(); virtual void init_style();
double init_one(int, int); double init_one(int, int);
protected:
struct Param { struct Param {
double lam1,lam2,lam3; double lam1,lam2,lam3;
double c,d,h; double c,d,h;
@ -50,8 +49,10 @@ class PairTersoff : public Pair {
double c5,ca1,ca4; // added for TersoffMOD double c5,ca1,ca4; // added for TersoffMOD
double powern_del; double powern_del;
double c0; // added for TersoffMODC double c0; // added for TersoffMODC
static const int NPARAMS_PER_LINE = 17;
}; };
protected:
Param *params; // parameter set for an I-J-K interaction Param *params; // parameter set for an I-J-K interaction
char **elements; // names of unique elements char **elements; // names of unique elements
int ***elem2param; // mapping from element triplets to parameters int ***elem2param; // mapping from element triplets to parameters

View File

@ -6,6 +6,7 @@
#include "MANYBODY/pair_sw.h" #include "MANYBODY/pair_sw.h"
#include "MANYBODY/pair_comb.h" #include "MANYBODY/pair_comb.h"
#include "MANYBODY/pair_comb3.h" #include "MANYBODY/pair_comb3.h"
#include "MANYBODY/pair_tersoff.h"
#include <mpi.h> #include <mpi.h>
@ -14,6 +15,7 @@ using namespace LAMMPS_NS;
const int LAMMPS_NS::PairSW::Param::NPARAMS_PER_LINE; const int LAMMPS_NS::PairSW::Param::NPARAMS_PER_LINE;
const int LAMMPS_NS::PairComb::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::PairComb3::Param::NPARAMS_PER_LINE;
const int LAMMPS_NS::PairTersoff::Param::NPARAMS_PER_LINE;
class PotenialFileReaderTest : public ::testing::Test { class PotenialFileReaderTest : public ::testing::Test {
protected: protected:
@ -49,6 +51,12 @@ TEST_F(PotenialFileReaderTest, Comb3) {
ASSERT_EQ(utils::count_words(line), PairComb3::Param::NPARAMS_PER_LINE); 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) int main(int argc, char **argv)
{ {
MPI_Init(&argc, &argv); MPI_Init(&argc, &argv);