From 50591fae8270564c4d13687249b6f23c9a4933e5 Mon Sep 17 00:00:00 2001 From: HhhhZhou Date: Tue, 23 Aug 2022 10:52:41 -0500 Subject: [PATCH] Added simple cubic Added simple cubic as the reference structure --- doc/src/pair_meam.rst | 1 + src/MEAM/meam.h | 3 ++- src/MEAM/meam_funcs.cpp | 3 +++ src/MEAM/meam_setup_done.cpp | 2 ++ src/MEAM/meam_setup_global.cpp | 1 + 5 files changed, 9 insertions(+), 1 deletion(-) diff --git a/doc/src/pair_meam.rst b/doc/src/pair_meam.rst index eac8449b21..e7f8e7b9b6 100644 --- a/doc/src/pair_meam.rst +++ b/doc/src/pair_meam.rst @@ -238,6 +238,7 @@ The recognized keywords for the parameter file are as follows: lin = linear structure (180 degree angle) zig = zigzag structure with a uniform angle tri = H2O-like structure that has an angle + sc = simple cubic nn2(I,J) = turn on second-nearest neighbor MEAM formulation for I-J pair (see for example :ref:`(Lee) `). 0 = second-nearest neighbor formulation off diff --git a/src/MEAM/meam.h b/src/MEAM/meam.h index 8a2f43e354..5e22fda07e 100644 --- a/src/MEAM/meam.h +++ b/src/MEAM/meam.h @@ -22,7 +22,7 @@ namespace LAMMPS_NS { class Memory; -typedef enum { FCC, BCC, HCP, DIM, DIA, DIA3, B1, C11, L12, B2, CH4, LIN, ZIG, TRI } lattice_t; +typedef enum { FCC, BCC, HCP, DIM, DIA, DIA3, B1, C11, L12, B2, CH4, LIN, ZIG, TRI, SC } lattice_t; class MEAM { public: @@ -263,6 +263,7 @@ class MEAM { else if (str == "lin") lat = LIN; else if (str == "zig") lat = ZIG; else if (str == "tri") lat = TRI; + else if (str == "sc") lat = SC; else { if (single) return false; diff --git a/src/MEAM/meam_funcs.cpp b/src/MEAM/meam_funcs.cpp index d7fb514591..a5818b0822 100644 --- a/src/MEAM/meam_funcs.cpp +++ b/src/MEAM/meam_funcs.cpp @@ -208,6 +208,7 @@ MEAM::get_shpfcn(const lattice_t latt, const double sthe, const double cthe, dou case BCC: case B1: case B2: + case SC: s[0] = 0.0; s[1] = 0.0; s[2] = 0.0; @@ -267,6 +268,7 @@ MEAM::get_Zij(const lattice_t latt) case DIM: return 1; case B1: + case SC: return 6; case C11: return 10; @@ -320,6 +322,7 @@ MEAM::get_Zij2(const lattice_t latt, const double cmin, const double cmax, break; case B1: + case SC: Zij2 = 12; a = sqrt(2.0); numscr = 2; diff --git a/src/MEAM/meam_setup_done.cpp b/src/MEAM/meam_setup_done.cpp index 1d7598d2c0..36b8c2e292 100644 --- a/src/MEAM/meam_setup_done.cpp +++ b/src/MEAM/meam_setup_done.cpp @@ -615,6 +615,7 @@ void MEAM::get_tavref(double* t11av, double* t21av, double* t31av, double* t12av case LIN: case ZIG: case TRI: + case SC: // all neighbors are of the opposite type *t11av = t12; *t21av = t22; @@ -698,6 +699,7 @@ void MEAM::get_densref(double r, int a, int b, double* rho01, double* rho11, dou *rho02 = 8.0 * rhoa01; break; case B1: + case SC: *rho01 = 6.0 * rhoa02; *rho02 = 6.0 * rhoa01; break; diff --git a/src/MEAM/meam_setup_global.cpp b/src/MEAM/meam_setup_global.cpp index a474e579c2..28dcd73ce4 100644 --- a/src/MEAM/meam_setup_global.cpp +++ b/src/MEAM/meam_setup_global.cpp @@ -76,6 +76,7 @@ MEAM::meam_setup_global(int nelt, lattice_t* lat, int* ielement, double* /*atwt* case LIN: case ZIG: case TRI: + case SC: this->re_meam[i][i] = tmplat[i]; break; case DIA: