Derives from PairILPGrapheneHBN instead of Pair

Improve the performance of pair style, ilp/graphene/hbn/opt
Updates to the OPT packages
This commit is contained in:
pgao
2022-04-23 14:29:03 +08:00
parent b631411985
commit c17845276a
2 changed files with 599 additions and 459 deletions

File diff suppressed because it is too large Load Diff

View File

@ -24,7 +24,7 @@ PairStyle(ilp/graphene/hbn/opt,PairILPGrapheneHBNOpt);
namespace LAMMPS_NS { namespace LAMMPS_NS {
class PairILPGrapheneHBNOpt : public PairILPGrapheneHBN { class PairILPGrapheneHBNOpt : virtual public PairILPGrapheneHBN {
public: public:
PairILPGrapheneHBNOpt(class LAMMPS *); PairILPGrapheneHBNOpt(class LAMMPS *);
~PairILPGrapheneHBNOpt() override; ~PairILPGrapheneHBNOpt() override;
@ -33,13 +33,14 @@ class PairILPGrapheneHBNOpt : public PairILPGrapheneHBN {
void init_style() override; void init_style() override;
protected: protected:
void computeILP(int, int); void calc_single_normal(int i, int *ILP_neigh, int nneigh, double *normal, double (*dnormdri)[3],
inline void cross_deriv(double *pv, double (*dpv)[3][3], double (*vet)[3], int j, int k, int l); double (*dnormdrk)[3][3]);
inline void calc_dnormal(double (*dnormal)[3][3], double (*dn1)[3][3], double *n1, double nn, void update_internal_list();
double nn2); template <int, int, int> void eval();
inline void ev_tally_buffer(int i, int j, double *ei, double *vi, double *ej, double *vj, int *layered_neigh;
int nlocal, int newton_pair, double evdwl, double ecoul, double fx, int **first_layered_neigh;
double fy, double fz, double delx, double dely, double delz); int *num_intra, *num_inter, *num_vdw;
int inum_max, jnum_max;
}; };
} // namespace LAMMPS_NS } // namespace LAMMPS_NS