git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@7185 f3b2605a-c512-4ea7-a41b-209d697bcdaa
This commit is contained in:
@ -4237,6 +4237,52 @@ void PairAIREBO::spline_init()
|
|||||||
for (i = 2; i < 10; i++) Tf[2][2][i] = -0.0040480;
|
for (i = 2; i < 10; i++) Tf[2][2][i] = -0.0040480;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* ----------------------------------------------------------------------
|
||||||
|
proc 0 writes to restart file
|
||||||
|
------------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
void PairAIREBO::write_restart(FILE *fp)
|
||||||
|
{
|
||||||
|
write_restart_settings(fp);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ----------------------------------------------------------------------
|
||||||
|
proc 0 reads from restart file, bcasts
|
||||||
|
------------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
void PairAIREBO::read_restart(FILE *fp)
|
||||||
|
{
|
||||||
|
read_restart_settings(fp);
|
||||||
|
allocate();
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ----------------------------------------------------------------------
|
||||||
|
proc 0 writes to restart file
|
||||||
|
------------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
void PairAIREBO::write_restart_settings(FILE *fp)
|
||||||
|
{
|
||||||
|
fwrite(&cutlj,sizeof(double),1,fp);
|
||||||
|
fwrite(&ljflag,sizeof(int),1,fp);
|
||||||
|
fwrite(&torflag,sizeof(int),1,fp);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ----------------------------------------------------------------------
|
||||||
|
proc 0 reads from restart file, bcasts
|
||||||
|
------------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
void PairAIREBO::read_restart_settings(FILE *fp)
|
||||||
|
{
|
||||||
|
if (comm->me == 0) {
|
||||||
|
fread(&cutlj,sizeof(double),1,fp);
|
||||||
|
fread(&ljflag,sizeof(int),1,fp);
|
||||||
|
fread(&torflag,sizeof(int),1,fp);
|
||||||
|
}
|
||||||
|
MPI_Bcast(&cutlj,1,MPI_DOUBLE,0,world);
|
||||||
|
MPI_Bcast(&ljflag,1,MPI_INT,0,world);
|
||||||
|
MPI_Bcast(&torflag,1,MPI_INT,0,world);
|
||||||
|
}
|
||||||
|
|
||||||
/* ----------------------------------------------------------------------
|
/* ----------------------------------------------------------------------
|
||||||
memory usage of local atom-based arrays
|
memory usage of local atom-based arrays
|
||||||
------------------------------------------------------------------------- */
|
------------------------------------------------------------------------- */
|
||||||
|
|||||||
@ -33,6 +33,10 @@ class PairAIREBO : public Pair {
|
|||||||
void coeff(int, char **);
|
void coeff(int, char **);
|
||||||
void init_style();
|
void init_style();
|
||||||
double init_one(int, int);
|
double init_one(int, int);
|
||||||
|
void write_restart(FILE *);
|
||||||
|
void read_restart(FILE *);
|
||||||
|
void write_restart_settings(FILE *);
|
||||||
|
void read_restart_settings(FILE *);
|
||||||
double memory_usage();
|
double memory_usage();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|||||||
@ -1050,6 +1050,55 @@ void PairREAX::sparse_product(const int &n, const int &nlocal,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* ----------------------------------------------------------------------
|
||||||
|
proc 0 writes to restart file
|
||||||
|
------------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
void PairREAX::write_restart(FILE *fp)
|
||||||
|
{
|
||||||
|
write_restart_settings(fp);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ----------------------------------------------------------------------
|
||||||
|
proc 0 reads from restart file, bcasts
|
||||||
|
------------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
void PairREAX::read_restart(FILE *fp)
|
||||||
|
{
|
||||||
|
read_restart_settings(fp);
|
||||||
|
allocate();
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ----------------------------------------------------------------------
|
||||||
|
proc 0 writes to restart file
|
||||||
|
------------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
void PairREAX::write_restart_settings(FILE *fp)
|
||||||
|
{
|
||||||
|
fwrite(&hbcut,sizeof(double),1,fp);
|
||||||
|
fwrite(&ihbnew,sizeof(int),1,fp);
|
||||||
|
fwrite(&itripstaball,sizeof(int),1,fp);
|
||||||
|
fwrite(&precision,sizeof(double),1,fp);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ----------------------------------------------------------------------
|
||||||
|
proc 0 reads from restart file, bcasts
|
||||||
|
------------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
void PairREAX::read_restart_settings(FILE *fp)
|
||||||
|
{
|
||||||
|
if (comm->me == 0) {
|
||||||
|
fread(&hbcut,sizeof(double),1,fp);
|
||||||
|
fread(&ihbnew,sizeof(int),1,fp);
|
||||||
|
fread(&itripstaball,sizeof(int),1,fp);
|
||||||
|
fread(&precision,sizeof(double),1,fp);
|
||||||
|
}
|
||||||
|
MPI_Bcast(&hbcut,1,MPI_DOUBLE,0,world);
|
||||||
|
MPI_Bcast(&ihbnew,1,MPI_INT,0,world);
|
||||||
|
MPI_Bcast(&itripstaball,1,MPI_INT,0,world);
|
||||||
|
MPI_Bcast(&precision,1,MPI_DOUBLE,0,world);
|
||||||
|
}
|
||||||
|
|
||||||
/* ----------------------------------------------------------------------
|
/* ----------------------------------------------------------------------
|
||||||
memory usage of local atom-based arrays
|
memory usage of local atom-based arrays
|
||||||
------------------------------------------------------------------------- */
|
------------------------------------------------------------------------- */
|
||||||
|
|||||||
@ -34,6 +34,10 @@ class PairREAX : public Pair {
|
|||||||
void coeff(int, char **);
|
void coeff(int, char **);
|
||||||
void init_style();
|
void init_style();
|
||||||
double init_one(int, int);
|
double init_one(int, int);
|
||||||
|
void write_restart(FILE *);
|
||||||
|
void read_restart(FILE *);
|
||||||
|
void write_restart_settings(FILE *);
|
||||||
|
void read_restart_settings(FILE *);
|
||||||
double memory_usage();
|
double memory_usage();
|
||||||
|
|
||||||
int pack_comm(int, int *, double *, int, int *);
|
int pack_comm(int, int *, double *, int, int *);
|
||||||
|
|||||||
@ -307,7 +307,8 @@ void ReadRestart::command(int narg, char **arg)
|
|||||||
if (logfile) fprintf(logfile," " BIGINT_FORMAT " atoms\n",natoms);
|
if (logfile) fprintf(logfile," " BIGINT_FORMAT " atoms\n",natoms);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (natoms != atom->natoms) error->all(FLERR,"Did not assign all atoms correctly");
|
if (natoms != atom->natoms)
|
||||||
|
error->all(FLERR,"Did not assign all atoms correctly");
|
||||||
|
|
||||||
if (me == 0) {
|
if (me == 0) {
|
||||||
if (atom->nbonds) {
|
if (atom->nbonds) {
|
||||||
@ -501,7 +502,8 @@ void ReadRestart::header()
|
|||||||
int dimension = read_int();
|
int dimension = read_int();
|
||||||
domain->dimension = dimension;
|
domain->dimension = dimension;
|
||||||
if (domain->dimension == 2 && domain->zperiodic == 0)
|
if (domain->dimension == 2 && domain->zperiodic == 0)
|
||||||
error->all(FLERR,"Cannot run 2d simulation with nonperiodic Z dimension");
|
error->all(FLERR,
|
||||||
|
"Cannot run 2d simulation with nonperiodic Z dimension");
|
||||||
|
|
||||||
// read nprocs from restart file, warn if different
|
// read nprocs from restart file, warn if different
|
||||||
|
|
||||||
@ -531,14 +533,16 @@ void ReadRestart::header()
|
|||||||
int newton_pair_file = read_int();
|
int newton_pair_file = read_int();
|
||||||
if (force->newton_pair != 1) {
|
if (force->newton_pair != 1) {
|
||||||
if (newton_pair_file != force->newton_pair && me == 0)
|
if (newton_pair_file != force->newton_pair && me == 0)
|
||||||
error->warning(FLERR,"Restart file used different newton pair setting, "
|
error->warning(FLERR,
|
||||||
|
"Restart file used different newton pair setting, "
|
||||||
"using input script value");
|
"using input script value");
|
||||||
}
|
}
|
||||||
} else if (flag == NEWTON_BOND) {
|
} else if (flag == NEWTON_BOND) {
|
||||||
int newton_bond_file = read_int();
|
int newton_bond_file = read_int();
|
||||||
if (force->newton_bond != 1) {
|
if (force->newton_bond != 1) {
|
||||||
if (newton_bond_file != force->newton_bond && me == 0)
|
if (newton_bond_file != force->newton_bond && me == 0)
|
||||||
error->warning(FLERR,"Restart file used different newton bond setting, "
|
error->warning(FLERR,
|
||||||
|
"Restart file used different newton bond setting, "
|
||||||
"using restart file value");
|
"using restart file value");
|
||||||
}
|
}
|
||||||
force->newton_bond = newton_bond_file;
|
force->newton_bond = newton_bond_file;
|
||||||
@ -707,7 +711,8 @@ void ReadRestart::type_arrays()
|
|||||||
atom->set_mass(mass);
|
atom->set_mass(mass);
|
||||||
delete [] mass;
|
delete [] mass;
|
||||||
|
|
||||||
} else error->all(FLERR,"Invalid flag in type arrays section of restart file");
|
} else error->all(FLERR,
|
||||||
|
"Invalid flag in type arrays section of restart file");
|
||||||
|
|
||||||
flag = read_int();
|
flag = read_int();
|
||||||
}
|
}
|
||||||
@ -778,7 +783,8 @@ void ReadRestart::force_fields()
|
|||||||
delete [] style;
|
delete [] style;
|
||||||
force->improper->read_restart(fp);
|
force->improper->read_restart(fp);
|
||||||
|
|
||||||
} else error->all(FLERR,"Invalid flag in force field section of restart file");
|
} else error->all(FLERR,
|
||||||
|
"Invalid flag in force field section of restart file");
|
||||||
|
|
||||||
flag = read_int();
|
flag = read_int();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user