change class name and add write_data support with pair style lennard/mdf

This commit is contained in:
Axel Kohlmeyer
2020-07-29 16:39:44 -04:00
parent d3b5e50da3
commit 6707e64d14
2 changed files with 44 additions and 19 deletions

View File

@ -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;

View File

@ -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 &);