Commit 998eb44e authored by sjplimp's avatar sjplimp Committed by GitHub
Browse files

Merge pull request #473 from akohlmey/compress-for-reaxc-fixes

compressed output via gzip for some ReaxFF fixes
parents 96d1de85 abeb1e09
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -36,6 +36,10 @@ please see the "fix reaxc/c/species"_fix_reaxc_species.html command.

The format of the output file should be self-explanatory.

If the filename ends with ".gz", the output file is written in gzipped
format.  A gzipped dump file will be about 3x smaller than the text
version, but will also take longer to write.

:line

[Restart, fix_modify, output, run start/stop, minimize info:]
@@ -85,6 +89,9 @@ USER-REAXC package. It is only enabled if LAMMPS was built with that
package.  See the "Making LAMMPS"_Section_start.html#start_3 section
for more info.

To write gzipped bond files, you must compile LAMMPS with the
-DLAMMPS_GZIP option.

[Related commands:]

"pair_style reax"_pair_reax.html, "pair_style
+7 −0
Original line number Diff line number Diff line
@@ -52,6 +52,10 @@ number of molecules of each species. In this context, "species" means
a unique molecule.  The chemical formula of each species is given in
the first line.

If the filename ends with ".gz", the output file is written in gzipped
format.  A gzipped dump file will be about 3x smaller than the text version,
but will also take longer to write.

Optional keyword {cutoff} can be assigned to change the minimum
bond-order values used in identifying chemical bonds between pairs of
atoms.  Bond-order cutoffs should be carefully chosen, as bond-order
@@ -164,6 +168,9 @@ USER-REAXC package. It is only enabled if LAMMPS was built with that
package.  See the "Making LAMMPS"_Section_start.html#start_3 section
for more info.

To write gzipped species files, you must compile LAMMPS with the
-DLAMMPS_GZIP option.

It should be possible to extend it to other reactive pair_styles (such as
"rebo"_pair_airebo.html, "airebo"_pair_airebo.html,
"comb"_pair_comb.html, and "bop"_pair_bop.html), but this has not yet been done.
+15 −1
Original line number Diff line number Diff line
@@ -49,7 +49,21 @@ FixReaxBonds::FixReaxBonds(LAMMPS *lmp, int narg, char **arg) :
  if (nevery < 1) error->all(FLERR,"Illegal fix reax/bonds command");

  if (me == 0) {
    fp = fopen(arg[4],"w");
    char *suffix = strrchr(arg[4],'.');
    if (suffix && strcmp(suffix,".gz") == 0) {
#ifdef LAMMPS_GZIP
      char gzip[128];
      sprintf(gzip,"gzip -6 > %s",arg[4]);
#ifdef _WIN32
      fp = _popen(gzip,"wb");
#else
      fp = popen(gzip,"w");
#endif
#else
      error->one(FLERR,"Cannot open gzipped file");
#endif
    } else fp = fopen(arg[4],"w");

    if (fp == NULL) {
      char str[128];
      sprintf(str,"Cannot open fix reax/bonds file %s",arg[4]);
+15 −1
Original line number Diff line number Diff line
@@ -58,7 +58,21 @@ FixReaxCBonds::FixReaxCBonds(LAMMPS *lmp, int narg, char **arg) :
    error->all(FLERR,"Illegal fix reax/c/bonds command");

  if (me == 0) {
    fp = fopen(arg[4],"w");
    char *suffix = strrchr(arg[4],'.');
    if (suffix && strcmp(suffix,".gz") == 0) {
#ifdef LAMMPS_GZIP
      char gzip[128];
      sprintf(gzip,"gzip -6 > %s",arg[4]);
#ifdef _WIN32
      fp = _popen(gzip,"wb");
#else
      fp = popen(gzip,"w");
#endif
#else
      error->one(FLERR,"Cannot open gzipped file");
#endif
    } else fp = fopen(arg[4],"w");

    if (fp == NULL) {
      char str[128];
      sprintf(str,"Cannot open fix reax/c/bonds file %s",arg[4]);
+15 −1
Original line number Diff line number Diff line
@@ -110,7 +110,21 @@ FixReaxCSpecies::FixReaxCSpecies(LAMMPS *lmp, int narg, char **arg) :
  strcpy(tmparg[2],arg[5]);

  if (me == 0) {
    fp = fopen(arg[6],"w");
    char *suffix = strrchr(arg[6],'.');
    if (suffix && strcmp(suffix,".gz") == 0) {
#ifdef LAMMPS_GZIP
      char gzip[128];
      sprintf(gzip,"gzip -6 > %s",arg[6]);
#ifdef _WIN32
      fp = _popen(gzip,"wb");
#else
      fp = popen(gzip,"w");
#endif
#else
      error->one(FLERR,"Cannot open gzipped file");
#endif
    } else fp = fopen(arg[6],"w");

    if (fp == NULL) {
      char str[128];
      sprintf(str,"Cannot open fix reax/c/species file %s",arg[6]);