Commit 0eef5eba authored by Axel Kohlmeyer's avatar Axel Kohlmeyer
Browse files

add support for using utils::sfgets() to pair style adp

parent c42b2698
Loading
Loading
Loading
Loading
+14 −13
Original line number Original line Diff line number Diff line
@@ -28,6 +28,7 @@
#include "neigh_list.h"
#include "neigh_list.h"
#include "memory.h"
#include "memory.h"
#include "error.h"
#include "error.h"
#include "utils.h"


using namespace LAMMPS_NS;
using namespace LAMMPS_NS;


@@ -561,10 +562,10 @@ void PairADP::read_file(char *filename)


  int n;
  int n;
  if (me == 0) {
  if (me == 0) {
    fgets(line,MAXLINE,fp);
    utils::sfgets(FLERR,line,MAXLINE,fp,filename,error);
    fgets(line,MAXLINE,fp);
    utils::sfgets(FLERR,line,MAXLINE,fp,filename,error);
    fgets(line,MAXLINE,fp);
    utils::sfgets(FLERR,line,MAXLINE,fp,filename,error);
    fgets(line,MAXLINE,fp);
    utils::sfgets(FLERR,line,MAXLINE,fp,filename,error);
    n = strlen(line) + 1;
    n = strlen(line) + 1;
  }
  }
  MPI_Bcast(&n,1,MPI_INT,0,world);
  MPI_Bcast(&n,1,MPI_INT,0,world);
@@ -589,7 +590,7 @@ void PairADP::read_file(char *filename)
  delete [] words;
  delete [] words;


  if (me == 0) {
  if (me == 0) {
    fgets(line,MAXLINE,fp);
    utils::sfgets(FLERR,line,MAXLINE,fp,filename,error);
    sscanf(line,"%d %lg %d %lg %lg",
    sscanf(line,"%d %lg %d %lg %lg",
           &file->nrho,&file->drho,&file->nr,&file->dr,&file->cut);
           &file->nrho,&file->drho,&file->nr,&file->dr,&file->cut);
  }
  }
@@ -613,32 +614,32 @@ void PairADP::read_file(char *filename)
  int i,j,tmp;
  int i,j,tmp;
  for (i = 0; i < file->nelements; i++) {
  for (i = 0; i < file->nelements; i++) {
    if (me == 0) {
    if (me == 0) {
      fgets(line,MAXLINE,fp);
      utils::sfgets(FLERR,line,MAXLINE,fp,filename,error);
      sscanf(line,"%d %lg",&tmp,&file->mass[i]);
      sscanf(line,"%d %lg",&tmp,&file->mass[i]);
    }
    }
    MPI_Bcast(&file->mass[i],1,MPI_DOUBLE,0,world);
    MPI_Bcast(&file->mass[i],1,MPI_DOUBLE,0,world);


    if (me == 0) grab(fp,file->nrho,&file->frho[i][1]);
    if (me == 0) grab(fp,filename,file->nrho,&file->frho[i][1]);
    MPI_Bcast(&file->frho[i][1],file->nrho,MPI_DOUBLE,0,world);
    MPI_Bcast(&file->frho[i][1],file->nrho,MPI_DOUBLE,0,world);
    if (me == 0) grab(fp,file->nr,&file->rhor[i][1]);
    if (me == 0) grab(fp,filename,file->nr,&file->rhor[i][1]);
    MPI_Bcast(&file->rhor[i][1],file->nr,MPI_DOUBLE,0,world);
    MPI_Bcast(&file->rhor[i][1],file->nr,MPI_DOUBLE,0,world);
  }
  }


  for (i = 0; i < file->nelements; i++)
  for (i = 0; i < file->nelements; i++)
    for (j = 0; j <= i; j++) {
    for (j = 0; j <= i; j++) {
      if (me == 0) grab(fp,file->nr,&file->z2r[i][j][1]);
      if (me == 0) grab(fp,filename,file->nr,&file->z2r[i][j][1]);
      MPI_Bcast(&file->z2r[i][j][1],file->nr,MPI_DOUBLE,0,world);
      MPI_Bcast(&file->z2r[i][j][1],file->nr,MPI_DOUBLE,0,world);
    }
    }


  for (i = 0; i < file->nelements; i++)
  for (i = 0; i < file->nelements; i++)
    for (j = 0; j <= i; j++) {
    for (j = 0; j <= i; j++) {
      if (me == 0) grab(fp,file->nr,&file->u2r[i][j][1]);
      if (me == 0) grab(fp,filename,file->nr,&file->u2r[i][j][1]);
      MPI_Bcast(&file->u2r[i][j][1],file->nr,MPI_DOUBLE,0,world);
      MPI_Bcast(&file->u2r[i][j][1],file->nr,MPI_DOUBLE,0,world);
    }
    }


  for (i = 0; i < file->nelements; i++)
  for (i = 0; i < file->nelements; i++)
    for (j = 0; j <= i; j++) {
    for (j = 0; j <= i; j++) {
      if (me == 0) grab(fp,file->nr,&file->w2r[i][j][1]);
      if (me == 0) grab(fp,filename,file->nr,&file->w2r[i][j][1]);
      MPI_Bcast(&file->w2r[i][j][1],file->nr,MPI_DOUBLE,0,world);
      MPI_Bcast(&file->w2r[i][j][1],file->nr,MPI_DOUBLE,0,world);
    }
    }


@@ -918,14 +919,14 @@ void PairADP::interpolate(int n, double delta, double *f, double **spline)
   only called by proc 0
   only called by proc 0
------------------------------------------------------------------------- */
------------------------------------------------------------------------- */


void PairADP::grab(FILE *fp, int n, double *list)
void PairADP::grab(FILE *fp, char *filename, int n, double *list)
{
{
  char *ptr;
  char *ptr;
  char line[MAXLINE];
  char line[MAXLINE];


  int i = 0;
  int i = 0;
  while (i < n) {
  while (i < n) {
    fgets(line,MAXLINE,fp);
    utils::sfgets(FLERR,line,MAXLINE,fp,filename,error);
    ptr = strtok(line," \t\n\r\f");
    ptr = strtok(line," \t\n\r\f");
    list[i++] = atof(ptr);
    list[i++] = atof(ptr);
    while ((ptr = strtok(NULL," \t\n\r\f"))) list[i++] = atof(ptr);
    while ((ptr = strtok(NULL," \t\n\r\f"))) list[i++] = atof(ptr);
+1 −1
Original line number Original line Diff line number Diff line
@@ -82,7 +82,7 @@ class PairADP : public Pair {
  void allocate();
  void allocate();
  void array2spline();
  void array2spline();
  void interpolate(int, double, double *, double **);
  void interpolate(int, double, double *, double **);
  void grab(FILE *, int, double *);
  void grab(FILE *, char *, int, double *);


  void read_file(char *);
  void read_file(char *);
  void file2array();
  void file2array();