change class name and add write_data support with pair style lennard/mdf
This commit is contained in:
@ -32,11 +32,11 @@ using namespace LAMMPS_NS;
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
PairLJ_AB_MDF::PairLJ_AB_MDF(LAMMPS *lmp) : Pair(lmp) {}
|
||||
PairLennardMDF::PairLennardMDF(LAMMPS *lmp) : Pair(lmp) {}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
PairLJ_AB_MDF::~PairLJ_AB_MDF()
|
||||
PairLennardMDF::~PairLennardMDF()
|
||||
{
|
||||
if (allocated) {
|
||||
memory->destroy(setflag);
|
||||
@ -56,7 +56,7 @@ PairLJ_AB_MDF::~PairLJ_AB_MDF()
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void PairLJ_AB_MDF::compute(int eflag, int vflag)
|
||||
void PairLennardMDF::compute(int eflag, int vflag)
|
||||
{
|
||||
int i,j,ii,jj,inum,jnum,itype,jtype;
|
||||
double xtmp,ytmp,ztmp,delx,dely,delz,evdwl,fpair;
|
||||
@ -153,7 +153,7 @@ void PairLJ_AB_MDF::compute(int eflag, int vflag)
|
||||
allocate all arrays
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
void PairLJ_AB_MDF::allocate()
|
||||
void PairLennardMDF::allocate()
|
||||
{
|
||||
allocated = 1;
|
||||
int n = atom->ntypes;
|
||||
@ -180,7 +180,7 @@ void PairLJ_AB_MDF::allocate()
|
||||
global settings
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
void PairLJ_AB_MDF::settings(int narg, char **arg)
|
||||
void PairLennardMDF::settings(int narg, char **arg)
|
||||
{
|
||||
if (narg != 2) error->all(FLERR,"Illegal pair_style command");
|
||||
|
||||
@ -207,7 +207,7 @@ void PairLJ_AB_MDF::settings(int narg, char **arg)
|
||||
set coeffs for one or more type pairs
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
void PairLJ_AB_MDF::coeff(int narg, char **arg)
|
||||
void PairLennardMDF::coeff(int narg, char **arg)
|
||||
{
|
||||
if (narg != 4 && narg != 6)
|
||||
error->all(FLERR,"Incorrect args for pair coefficients");
|
||||
@ -248,7 +248,7 @@ void PairLJ_AB_MDF::coeff(int narg, char **arg)
|
||||
init for one type pair i,j and corresponding j,i
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
double PairLJ_AB_MDF::init_one(int i, int j)
|
||||
double PairLennardMDF::init_one(int i, int j)
|
||||
{
|
||||
if (setflag[i][j] == 0) error->all(FLERR,"All pair coeffs are not set");
|
||||
|
||||
@ -274,7 +274,7 @@ double PairLJ_AB_MDF::init_one(int i, int j)
|
||||
proc 0 writes to restart file
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
void PairLJ_AB_MDF::write_restart(FILE *fp)
|
||||
void PairLennardMDF::write_restart(FILE *fp)
|
||||
{
|
||||
write_restart_settings(fp);
|
||||
|
||||
@ -295,7 +295,7 @@ void PairLJ_AB_MDF::write_restart(FILE *fp)
|
||||
proc 0 reads from restart file, bcasts
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
void PairLJ_AB_MDF::read_restart(FILE *fp)
|
||||
void PairLennardMDF::read_restart(FILE *fp)
|
||||
{
|
||||
read_restart_settings(fp);
|
||||
allocate();
|
||||
@ -325,7 +325,7 @@ void PairLJ_AB_MDF::read_restart(FILE *fp)
|
||||
proc 0 writes to restart file
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
void PairLJ_AB_MDF::write_restart_settings(FILE *fp)
|
||||
void PairLennardMDF::write_restart_settings(FILE *fp)
|
||||
{
|
||||
fwrite(&mix_flag,sizeof(int),1,fp);
|
||||
}
|
||||
@ -334,7 +334,7 @@ void PairLJ_AB_MDF::write_restart_settings(FILE *fp)
|
||||
proc 0 reads from restart file, bcasts
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
void PairLJ_AB_MDF::read_restart_settings(FILE *fp)
|
||||
void PairLennardMDF::read_restart_settings(FILE *fp)
|
||||
{
|
||||
int me = comm->me;
|
||||
if (me == 0) {
|
||||
@ -343,9 +343,32 @@ void PairLJ_AB_MDF::read_restart_settings(FILE *fp)
|
||||
MPI_Bcast(&mix_flag,1,MPI_INT,0,world);
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
proc 0 writes to data file
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
void PairLennardMDF::write_data(FILE *fp)
|
||||
{
|
||||
for (int i = 1; i <= atom->ntypes; i++)
|
||||
fprintf(fp,"%d %g %g\n",i,aparm[i][i],bparm[i][i]);
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
proc 0 writes all pairs to data file
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
void PairLennardMDF::write_data_all(FILE *fp)
|
||||
{
|
||||
for (int i = 1; i <= atom->ntypes; i++)
|
||||
for (int j = i; j <= atom->ntypes; j++)
|
||||
fprintf(fp,"%d %d %g %g %g %g\n",
|
||||
i,j,aparm[i][j],bparm[i][j],
|
||||
cut_inner[i][j],cut[i][j]);
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
double PairLJ_AB_MDF::single(int /*i*/, int /*j*/, int itype, int jtype,
|
||||
double PairLennardMDF::single(int /*i*/, int /*j*/, int itype, int jtype,
|
||||
double rsq,
|
||||
double /*factor_coul*/, double factor_lj,
|
||||
double &fforce)
|
||||
@ -379,7 +402,7 @@ double PairLJ_AB_MDF::single(int /*i*/, int /*j*/, int itype, int jtype,
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void *PairLJ_AB_MDF::extract(const char *str, int &dim)
|
||||
void *PairLennardMDF::extract(const char *str, int &dim)
|
||||
{
|
||||
dim = 2;
|
||||
if (strcmp(str,"a") == 0) return (void *) aparm;
|
||||
|
||||
@ -13,21 +13,21 @@
|
||||
|
||||
#ifdef PAIR_CLASS
|
||||
|
||||
PairStyle(lennard/mdf,PairLJ_AB_MDF)
|
||||
PairStyle(lennard/mdf,PairLennardMDF)
|
||||
|
||||
#else
|
||||
|
||||
#ifndef LMP_PAIR_LJ_AB_MDF_H
|
||||
#define LMP_PAIR_LJ_AB_MDF_H
|
||||
#ifndef LMP_PAIR_LENNARD_MDF_H
|
||||
#define LMP_PAIR_LENNARD_MDF_H
|
||||
|
||||
#include "pair.h"
|
||||
|
||||
namespace LAMMPS_NS {
|
||||
|
||||
class PairLJ_AB_MDF : public Pair {
|
||||
class PairLennardMDF : public Pair {
|
||||
public:
|
||||
PairLJ_AB_MDF(class LAMMPS *);
|
||||
virtual ~PairLJ_AB_MDF();
|
||||
PairLennardMDF(class LAMMPS *);
|
||||
virtual ~PairLennardMDF();
|
||||
|
||||
virtual void compute(int, int);
|
||||
void settings(int, char **);
|
||||
@ -37,6 +37,8 @@ class PairLJ_AB_MDF : public Pair {
|
||||
void read_restart(FILE *);
|
||||
void write_restart_settings(FILE *);
|
||||
void read_restart_settings(FILE *);
|
||||
void write_data(FILE *);
|
||||
void write_data_all(FILE *);
|
||||
double single(int, int, int, int, double, double, double, double &);
|
||||
void *extract(const char *, int &);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user