Derives from PairILPGrapheneHBN instead of Pair
Add a new pair style, ilp/graphene/hbn/opt Updates to the OPT package
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@ -20,50 +20,26 @@ PairStyle(ilp/graphene/hbn/opt,PairILPGrapheneHBNOpt);
|
||||
#ifndef LMP_PAIR_ILP_GRAPHENE_HBN_OPT_H
|
||||
#define LMP_PAIR_ILP_GRAPHENE_HBN_OPT_H
|
||||
|
||||
#include "pair.h"
|
||||
#include "pair_ilp_graphene_hbn.h"
|
||||
|
||||
namespace LAMMPS_NS {
|
||||
|
||||
class PairILPGrapheneHBNOpt : public Pair {
|
||||
class PairILPGrapheneHBNOpt : public PairILPGrapheneHBN {
|
||||
public:
|
||||
PairILPGrapheneHBNOpt(class LAMMPS *);
|
||||
virtual ~PairILPGrapheneHBNOpt();
|
||||
~PairILPGrapheneHBNOpt() override;
|
||||
|
||||
virtual void compute(int, int);
|
||||
void settings(int, char **);
|
||||
void coeff(int, char **);
|
||||
double init_one(int, int);
|
||||
void init_style();
|
||||
void calc_single_normal(int i, int *ILP_neigh, int nneigh, double *normal, double (*dnormdri)[3],
|
||||
double (*dnormdrk)[3][3]);
|
||||
void update_internal_list();
|
||||
double single(int, int, int, int, double, double, double, double &);
|
||||
template <int, int, int> void eval();
|
||||
static constexpr int NPARAMS_PER_LINE = 13;
|
||||
void compute(int, int) override;
|
||||
void init_style() override;
|
||||
|
||||
protected:
|
||||
int me;
|
||||
int maxlocal; // size of numneigh, firstneigh arrays
|
||||
int tap_flag; // flag to turn on/off taper function
|
||||
|
||||
struct Param {
|
||||
double z0, alpha, epsilon, C, delta, d, sR, reff, C6, S;
|
||||
double delta2inv, seff, lambda, rcut, seffinv;
|
||||
int ielement, jelement;
|
||||
};
|
||||
Param *params; // parameter set for I-J interactions
|
||||
int nmax; // max # of atoms
|
||||
|
||||
double cut_global;
|
||||
double cut_normal;
|
||||
double **cutILPsq; // mapping the cutoff from element pairs to parameters
|
||||
double **offset;
|
||||
int *layered_neigh;
|
||||
int **first_layered_neigh;
|
||||
int *num_intra, *num_inter, *num_vdw;
|
||||
int inum_max, jnum_max;
|
||||
void read_file(char *);
|
||||
void allocate();
|
||||
void computeILP(int, int);
|
||||
inline void cross_deriv(double *pv, double (*dpv)[3][3], double (*vet)[3], int j, int k, int l);
|
||||
inline void calc_dnormal(double (*dnormal)[3][3], double (*dn1)[3][3], double *n1, double nn,
|
||||
double nn2);
|
||||
inline void ev_tally_buffer(int i, int j, double *ei, double *vi, double *ej, double *vj,
|
||||
int nlocal, int newton_pair, double evdwl, double ecoul, double fx,
|
||||
double fy, double fz, double delx, double dely, double delz);
|
||||
};
|
||||
|
||||
} // namespace LAMMPS_NS
|
||||
|
||||
Reference in New Issue
Block a user