From bccca1c71270f059ac7f213c7d10f79cf5a33d12 Mon Sep 17 00:00:00 2001 From: sjplimp Date: Tue, 3 May 2016 16:01:16 +0000 Subject: [PATCH] git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@14926 f3b2605a-c512-4ea7-a41b-209d697bcdaa --- src/pair_zero.cpp | 40 ++++++++++++++++++++++++++++++++++------ src/pair_zero.h | 2 ++ 2 files changed, 36 insertions(+), 6 deletions(-) diff --git a/src/pair_zero.cpp b/src/pair_zero.cpp index e330ee0361..787ed29935 100644 --- a/src/pair_zero.cpp +++ b/src/pair_zero.cpp @@ -30,7 +30,10 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -PairZero::PairZero(LAMMPS *lmp) : Pair(lmp), coeffflag(1) {} +PairZero::PairZero(LAMMPS *lmp) : Pair(lmp) { + coeffflag=1; + writedata=1; +} /* ---------------------------------------------------------------------- */ @@ -65,7 +68,7 @@ void PairZero::allocate() memory->create(setflag,n+1,n+1,"pair:setflag"); for (int i = 1; i <= n; i++) for (int j = i; j <= n; j++) - setflag[i][j] = 1; + setflag[i][j] = 0; memory->create(cutsq,n+1,n+1,"pair:cutsq"); memory->create(cut,n+1,n+1,"pair:cut"); @@ -88,10 +91,12 @@ void PairZero::settings(int narg, char **arg) // reset cutoffs that have been explicitly set - int i,j; - for (i = 1; i <= atom->ntypes; i++) - for (j = i+1; j <= atom->ntypes; j++) - cut[i][j] = cut_global; + if (allocated) { + int i,j; + for (i = 1; i <= atom->ntypes; i++) + for (j = i+1; j <= atom->ntypes; j++) + cut[i][j] = cut_global; + } } /* ---------------------------------------------------------------------- @@ -116,6 +121,7 @@ void PairZero::coeff(int narg, char **arg) for (int i = ilo; i <= ihi; i++) { for (int j = MAX(jlo,i); j <= jhi; j++) { cut[i][j] = cut_one; + setflag[i][j] = 1; count++; } } @@ -203,3 +209,25 @@ void PairZero::read_restart_settings(FILE *fp) MPI_Bcast(&coeffflag,1,MPI_INT,0,world); } +/* ---------------------------------------------------------------------- + proc 0 writes to data file +------------------------------------------------------------------------- */ + +void PairZero::write_data(FILE *fp) +{ + for (int i = 1; i <= atom->ntypes; i++) + fprintf(fp,"%d\n",i); +} + +/* ---------------------------------------------------------------------- + proc 0 writes all pairs to data file +------------------------------------------------------------------------- */ + +void PairZero::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\n",i,j,cut[i][j]); +} + + diff --git a/src/pair_zero.h b/src/pair_zero.h index b0994deef8..4fb4747e9e 100644 --- a/src/pair_zero.h +++ b/src/pair_zero.h @@ -46,6 +46,8 @@ class PairZero : 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 *); protected: double cut_global;