Unverified Commit 64664d0b authored by Axel Kohlmeyer's avatar Axel Kohlmeyer Committed by GitHub
Browse files

Merge pull request #2122 from rbberger/refactor-table-reading

Refactor table reading
parents a57a8a87 2ed86525
Loading
Loading
Loading
Loading
+6 −11
Original line number Original line Diff line number Diff line
@@ -374,15 +374,12 @@ void PairEAMAlloyGPU::read_file(char *filename)
    PotentialFileReader reader(lmp, filename, "EAM");
    PotentialFileReader reader(lmp, filename, "EAM");


    try {
    try {
      char * line = nullptr;

      reader.skip_line();
      reader.skip_line();
      reader.skip_line();
      reader.skip_line();
      reader.skip_line();
      reader.skip_line();


      // extract element names from nelements line
      // extract element names from nelements line
      line = reader.next_line(1);
      ValueTokenizer values = reader.next_values(1);
      ValueTokenizer values(line);
      file->nelements = values.next_int();
      file->nelements = values.next_int();


      if (values.count() != file->nelements + 1)
      if (values.count() != file->nelements + 1)
@@ -398,8 +395,7 @@ void PairEAMAlloyGPU::read_file(char *filename)


      //
      //


      line = reader.next_line(5);
      values = reader.next_values(5);
      values = ValueTokenizer(line);
      file->nrho = values.next_int();
      file->nrho = values.next_int();
      file->drho = values.next_double();
      file->drho = values.next_double();
      file->nr   = values.next_int();
      file->nr   = values.next_int();
@@ -415,18 +411,17 @@ void PairEAMAlloyGPU::read_file(char *filename)
      memory->create(file->z2r, file->nelements, file->nelements, file->nr + 1, "pair:z2r");
      memory->create(file->z2r, file->nelements, file->nelements, file->nr + 1, "pair:z2r");


      for (int i = 0; i < file->nelements; i++) {
      for (int i = 0; i < file->nelements; i++) {
        line = reader.next_line(2);
        values = reader.next_values(2);
        values = ValueTokenizer(line);
        values.next_int(); // ignore
        values.next_int(); // ignore
        file->mass[i] = values.next_double();
        file->mass[i] = values.next_double();


        reader.next_dvector(file->nrho, &file->frho[i][1]);
        reader.next_dvector(&file->frho[i][1], file->nrho);
        reader.next_dvector(file->nr, &file->rhor[i][1]);
        reader.next_dvector(&file->rhor[i][1], file->nr);
      }
      }


      for (int i = 0; i < file->nelements; i++) {
      for (int i = 0; i < file->nelements; i++) {
        for (int j = 0; j <= i; j++) {
        for (int j = 0; j <= i; j++) {
          reader.next_dvector(file->nr, &file->z2r[i][j][1]);
          reader.next_dvector(&file->z2r[i][j][1], file->nr);
        }
        }
      }
      }
    } catch (TokenizerException & e) {
    } catch (TokenizerException & e) {
+6 −11
Original line number Original line Diff line number Diff line
@@ -374,15 +374,12 @@ void PairEAMFSGPU::read_file(char *filename)
    PotentialFileReader reader(lmp, filename, "EAM");
    PotentialFileReader reader(lmp, filename, "EAM");


    try {
    try {
      char * line = nullptr;

      reader.skip_line();
      reader.skip_line();
      reader.skip_line();
      reader.skip_line();
      reader.skip_line();
      reader.skip_line();


      // extract element names from nelements line
      // extract element names from nelements line
      line = reader.next_line(1);
      ValueTokenizer values = reader.next_values(1);
      ValueTokenizer values(line);
      file->nelements = values.next_int();
      file->nelements = values.next_int();


      if (values.count() != file->nelements + 1)
      if (values.count() != file->nelements + 1)
@@ -398,8 +395,7 @@ void PairEAMFSGPU::read_file(char *filename)


      //
      //


      line = reader.next_line(5);
      values = reader.next_values(5);
      values = ValueTokenizer(line);
      file->nrho = values.next_int();
      file->nrho = values.next_int();
      file->drho = values.next_double();
      file->drho = values.next_double();
      file->nr   = values.next_int();
      file->nr   = values.next_int();
@@ -415,21 +411,20 @@ void PairEAMFSGPU::read_file(char *filename)
      memory->create(file->z2r, file->nelements, file->nelements, file->nr + 1, "pair:z2r");
      memory->create(file->z2r, file->nelements, file->nelements, file->nr + 1, "pair:z2r");


      for (int i = 0; i < file->nelements; i++) {
      for (int i = 0; i < file->nelements; i++) {
        line = reader.next_line(2);
        values = reader.next_values(2);
        values = ValueTokenizer(line);
        values.next_int(); // ignore
        values.next_int(); // ignore
        file->mass[i] = values.next_double();
        file->mass[i] = values.next_double();


        reader.next_dvector(file->nrho, &file->frho[i][1]);
        reader.next_dvector(&file->frho[i][1], file->nrho);


        for (int j = 0; j < file->nelements; j++) {
        for (int j = 0; j < file->nelements; j++) {
          reader.next_dvector(file->nr, &file->rhor[i][j][1]);
          reader.next_dvector(&file->rhor[i][j][1], file->nr);
        }
        }
      }
      }


      for (int i = 0; i < file->nelements; i++) {
      for (int i = 0; i < file->nelements; i++) {
        for (int j = 0; j <= i; j++) {
        for (int j = 0; j <= i; j++) {
          reader.next_dvector(file->nr, &file->z2r[i][j][1]);
          reader.next_dvector(&file->z2r[i][j][1], file->nr);
        }
        }
      }
      }
    } catch (TokenizerException & e) {
    } catch (TokenizerException & e) {
+6 −11
Original line number Original line Diff line number Diff line
@@ -988,15 +988,12 @@ void PairEAMAlloyKokkos<DeviceType>::read_file(char *filename)
    PotentialFileReader reader(lmp, filename, "EAM");
    PotentialFileReader reader(lmp, filename, "EAM");


    try {
    try {
      char * line = nullptr;

      reader.skip_line();
      reader.skip_line();
      reader.skip_line();
      reader.skip_line();
      reader.skip_line();
      reader.skip_line();


      // extract element names from nelements line
      // extract element names from nelements line
      line = reader.next_line(1);
      ValueTokenizer values = reader.next_values(1);
      ValueTokenizer values(line);
      file->nelements = values.next_int();
      file->nelements = values.next_int();


      if (values.count() != file->nelements + 1)
      if (values.count() != file->nelements + 1)
@@ -1012,8 +1009,7 @@ void PairEAMAlloyKokkos<DeviceType>::read_file(char *filename)


      //
      //


      line = reader.next_line(5);
      values = reader.next_values(5);
      values = ValueTokenizer(line);
      file->nrho = values.next_int();
      file->nrho = values.next_int();
      file->drho = values.next_double();
      file->drho = values.next_double();
      file->nr   = values.next_int();
      file->nr   = values.next_int();
@@ -1029,18 +1025,17 @@ void PairEAMAlloyKokkos<DeviceType>::read_file(char *filename)
      memory->create(file->z2r, file->nelements, file->nelements, file->nr + 1, "pair:z2r");
      memory->create(file->z2r, file->nelements, file->nelements, file->nr + 1, "pair:z2r");


      for (int i = 0; i < file->nelements; i++) {
      for (int i = 0; i < file->nelements; i++) {
        line = reader.next_line(2);
        values = reader.next_values(2);
        values = ValueTokenizer(line);
        values.next_int(); // ignore
        values.next_int(); // ignore
        file->mass[i] = values.next_double();
        file->mass[i] = values.next_double();


        reader.next_dvector(file->nrho, &file->frho[i][1]);
        reader.next_dvector(&file->frho[i][1], file->nrho);
        reader.next_dvector(file->nr, &file->rhor[i][1]);
        reader.next_dvector(&file->rhor[i][1], file->nr);
      }
      }


      for (int i = 0; i < file->nelements; i++) {
      for (int i = 0; i < file->nelements; i++) {
        for (int j = 0; j <= i; j++) {
        for (int j = 0; j <= i; j++) {
          reader.next_dvector(file->nr, &file->z2r[i][j][1]);
          reader.next_dvector(&file->z2r[i][j][1], file->nr);
        }
        }
      }
      }
    } catch (TokenizerException & e) {
    } catch (TokenizerException & e) {
+6 −11
Original line number Original line Diff line number Diff line
@@ -988,15 +988,12 @@ void PairEAMFSKokkos<DeviceType>::read_file(char *filename)
    PotentialFileReader reader(lmp, filename, "EAM");
    PotentialFileReader reader(lmp, filename, "EAM");


    try {
    try {
      char * line = nullptr;

      reader.skip_line();
      reader.skip_line();
      reader.skip_line();
      reader.skip_line();
      reader.skip_line();
      reader.skip_line();


      // extract element names from nelements line
      // extract element names from nelements line
      line = reader.next_line(1);
      ValueTokenizer values = reader.next_values(1);
      ValueTokenizer values(line);
      file->nelements = values.next_int();
      file->nelements = values.next_int();


      if (values.count() != file->nelements + 1)
      if (values.count() != file->nelements + 1)
@@ -1012,8 +1009,7 @@ void PairEAMFSKokkos<DeviceType>::read_file(char *filename)


      //
      //


      line = reader.next_line(5);
      values = reader.next_values(5);
      values = ValueTokenizer(line);
      file->nrho = values.next_int();
      file->nrho = values.next_int();
      file->drho = values.next_double();
      file->drho = values.next_double();
      file->nr   = values.next_int();
      file->nr   = values.next_int();
@@ -1029,21 +1025,20 @@ void PairEAMFSKokkos<DeviceType>::read_file(char *filename)
      memory->create(file->z2r, file->nelements, file->nelements, file->nr + 1, "pair:z2r");
      memory->create(file->z2r, file->nelements, file->nelements, file->nr + 1, "pair:z2r");


      for (int i = 0; i < file->nelements; i++) {
      for (int i = 0; i < file->nelements; i++) {
        line = reader.next_line(2);
        values = reader.next_values(2);
        values = ValueTokenizer(line);
        values.next_int(); // ignore
        values.next_int(); // ignore
        file->mass[i] = values.next_double();
        file->mass[i] = values.next_double();


        reader.next_dvector(file->nrho, &file->frho[i][1]);
        reader.next_dvector(&file->frho[i][1], file->nrho);


        for (int j = 0; j < file->nelements; j++) {
        for (int j = 0; j < file->nelements; j++) {
          reader.next_dvector(file->nr, &file->rhor[i][j][1]);
          reader.next_dvector(&file->rhor[i][j][1], file->nr);
        }
        }
      }
      }


      for (int i = 0; i < file->nelements; i++) {
      for (int i = 0; i < file->nelements; i++) {
        for (int j = 0; j <= i; j++) {
        for (int j = 0; j <= i; j++) {
          reader.next_dvector(file->nr, &file->z2r[i][j][1]);
          reader.next_dvector(&file->z2r[i][j][1], file->nr);
        }
        }
      }
      }
    } catch (TokenizerException & e) {
    } catch (TokenizerException & e) {
+8 −13
Original line number Original line Diff line number Diff line
@@ -546,15 +546,12 @@ void PairADP::read_file(char *filename)
    PotentialFileReader reader(lmp, filename, "ADP");
    PotentialFileReader reader(lmp, filename, "ADP");


    try {
    try {
      char * line = nullptr;

      reader.skip_line();
      reader.skip_line();
      reader.skip_line();
      reader.skip_line();
      reader.skip_line();
      reader.skip_line();


      // extract element names from nelements line
      // extract element names from nelements line
      line = reader.next_line(1);
      ValueTokenizer values = reader.next_values(1);
      ValueTokenizer values(line);
      file->nelements = values.next_int();
      file->nelements = values.next_int();


      if (values.count() != file->nelements + 1)
      if (values.count() != file->nelements + 1)
@@ -570,8 +567,7 @@ void PairADP::read_file(char *filename)


      //
      //


      line = reader.next_line(5);
      values = reader.next_values(5);
      values = ValueTokenizer(line);
      file->nrho = values.next_int();
      file->nrho = values.next_int();
      file->drho = values.next_double();
      file->drho = values.next_double();
      file->nr   = values.next_int();
      file->nr   = values.next_int();
@@ -589,30 +585,29 @@ void PairADP::read_file(char *filename)
      memory->create(file->w2r, file->nelements, file->nelements, file->nr + 1, "pair:w2r");
      memory->create(file->w2r, file->nelements, file->nelements, file->nr + 1, "pair:w2r");


      for (int i = 0; i < file->nelements; i++) {
      for (int i = 0; i < file->nelements; i++) {
        line = reader.next_line(2);
        values = reader.next_values(2);
        values = ValueTokenizer(line);
        values.next_int(); // ignore
        values.next_int(); // ignore
        file->mass[i] = values.next_double();
        file->mass[i] = values.next_double();


        reader.next_dvector(file->nrho, &file->frho[i][1]);
        reader.next_dvector(&file->frho[i][1], file->nrho);
        reader.next_dvector(file->nr, &file->rhor[i][1]);
        reader.next_dvector(&file->rhor[i][1], file->nr);
      }
      }


      for (int i = 0; i < file->nelements; i++) {
      for (int i = 0; i < file->nelements; i++) {
        for (int j = 0; j <= i; j++) {
        for (int j = 0; j <= i; j++) {
          reader.next_dvector(file->nr, &file->z2r[i][j][1]);
          reader.next_dvector(&file->z2r[i][j][1], file->nr);
        }
        }
      }
      }


      for (int i = 0; i < file->nelements; i++) {
      for (int i = 0; i < file->nelements; i++) {
        for (int j = 0; j <= i; j++) {
        for (int j = 0; j <= i; j++) {
          reader.next_dvector(file->nr, &file->u2r[i][j][1]);
          reader.next_dvector(&file->u2r[i][j][1], file->nr);
        }
        }
      }
      }


      for (int i = 0; i < file->nelements; i++) {
      for (int i = 0; i < file->nelements; i++) {
        for (int j = 0; j <= i; j++) {
        for (int j = 0; j <= i; j++) {
          reader.next_dvector(file->nr, &file->w2r[i][j][1]);
          reader.next_dvector(&file->w2r[i][j][1], file->nr);
        }
        }
      }
      }
    } catch (TokenizerException & e) {
    } catch (TokenizerException & e) {
Loading