Unverified Commit 34ff7aa1 authored by Richard Berger's avatar Richard Berger
Browse files

Add convenience functions to PotentialFileReader

parent 9291d2a9
Loading
Loading
Loading
Loading
+54 −0
Original line number Diff line number Diff line
@@ -51,6 +51,10 @@ PotentialFileReader::~PotentialFileReader() {
  delete reader;
}

void PotentialFileReader::ignore_comments(bool value) {
  reader->ignore_comments = value;
}

void PotentialFileReader::skip_line() {
  try {
    reader->skip_line();
@@ -76,6 +80,56 @@ void PotentialFileReader::next_dvector(int n, double * list) {
  }
}

double PotentialFileReader::next_double() {
  try {
    char * line = reader->next_line(1);
    return ValueTokenizer(line).next_double();
  } catch (FileReaderException & e) {
    error->one(FLERR, e.what());
  }
  return 0.0;
}

int PotentialFileReader::next_int() {
  try {
    char * line = reader->next_line(1);
    return ValueTokenizer(line).next_int();
  } catch (FileReaderException & e) {
    error->one(FLERR, e.what());
  }
  return 0;
}

tagint PotentialFileReader::next_tagint() {
  try {
    char * line = reader->next_line(1);
    return ValueTokenizer(line).next_tagint();
  } catch (FileReaderException & e) {
    error->one(FLERR, e.what());
  }
  return 0;
}

bigint PotentialFileReader::next_bigint() {
  try {
    char * line = reader->next_line(1);
    return ValueTokenizer(line).next_bigint();
  } catch (FileReaderException & e) {
    error->one(FLERR, e.what());
  }
  return 0;
}

std::string PotentialFileReader::next_string() {
  try {
    char * line = reader->next_line(1);
    return ValueTokenizer(line).next_string();
  } catch (FileReaderException & e) {
    error->one(FLERR, e.what());
  }
  return "";
}

/* ----------------------------------------------------------------------
   open a potential file as specified by name
   if fails, search in dir specified by env variable LAMMPS_POTENTIALS
+9 −0
Original line number Diff line number Diff line
@@ -38,9 +38,18 @@ namespace LAMMPS_NS
    PotentialFileReader(class LAMMPS *lmp, const std::string &filename, const std::string &potential_name);
    virtual ~PotentialFileReader();

    void ignore_comments(bool value);

    void skip_line();
    char * next_line(int nparams = 0);
    void next_dvector(int n, double * list);

    // convenience functions
    double next_double();
    int    next_int();
    tagint next_tagint();
    bigint next_bigint();
    std::string next_string();
  };

} // namespace LAMMPS_NS