finalized dump command support for general triclinic
This commit is contained in:
@ -60,6 +60,7 @@ int main(int narg, char **arg)
|
||||
bigint ntimestep, natoms;
|
||||
int size_one, nchunk, triclinic;
|
||||
double xlo, xhi, ylo, yhi, zlo, zhi, xy, xz, yz;
|
||||
double ax, ay, az, bx, by, bz, cx, cy, cz, abcx, abcy, abcz;
|
||||
int boundary[3][2];
|
||||
char boundstr[9];
|
||||
|
||||
@ -133,17 +134,39 @@ int main(int narg, char **arg)
|
||||
fread(&natoms, sizeof(bigint), 1, fp);
|
||||
fread(&triclinic, sizeof(int), 1, fp);
|
||||
fread(&boundary[0][0], 6 * sizeof(int), 1, fp);
|
||||
fread(&xlo, sizeof(double), 1, fp);
|
||||
fread(&xhi, sizeof(double), 1, fp);
|
||||
fread(&ylo, sizeof(double), 1, fp);
|
||||
fread(&yhi, sizeof(double), 1, fp);
|
||||
fread(&zlo, sizeof(double), 1, fp);
|
||||
fread(&zhi, sizeof(double), 1, fp);
|
||||
if (triclinic) {
|
||||
|
||||
if (triclinic == 0) {
|
||||
fread(&xlo, sizeof(double), 1, fp);
|
||||
fread(&xhi, sizeof(double), 1, fp);
|
||||
fread(&ylo, sizeof(double), 1, fp);
|
||||
fread(&yhi, sizeof(double), 1, fp);
|
||||
fread(&zlo, sizeof(double), 1, fp);
|
||||
fread(&zhi, sizeof(double), 1, fp);
|
||||
} else if (triclinic == 1) {
|
||||
fread(&xlo, sizeof(double), 1, fp);
|
||||
fread(&xhi, sizeof(double), 1, fp);
|
||||
fread(&ylo, sizeof(double), 1, fp);
|
||||
fread(&yhi, sizeof(double), 1, fp);
|
||||
fread(&zlo, sizeof(double), 1, fp);
|
||||
fread(&zhi, sizeof(double), 1, fp);
|
||||
fread(&xy, sizeof(double), 1, fp);
|
||||
fread(&xz, sizeof(double), 1, fp);
|
||||
fread(&yz, sizeof(double), 1, fp);
|
||||
} else if (triclinic == 2) {
|
||||
fread(&ax, sizeof(double), 1, fp);
|
||||
fread(&ay, sizeof(double), 1, fp);
|
||||
fread(&az, sizeof(double), 1, fp);
|
||||
fread(&bx, sizeof(double), 1, fp);
|
||||
fread(&by, sizeof(double), 1, fp);
|
||||
fread(&bz, sizeof(double), 1, fp);
|
||||
fread(&cx, sizeof(double), 1, fp);
|
||||
fread(&cy, sizeof(double), 1, fp);
|
||||
fread(&cz, sizeof(double), 1, fp);
|
||||
fread(&abcx, sizeof(double), 1, fp);
|
||||
fread(&abcy, sizeof(double), 1, fp);
|
||||
fread(&abcz, sizeof(double), 1, fp);
|
||||
}
|
||||
|
||||
fread(&size_one, sizeof(int), 1, fp);
|
||||
|
||||
if (magic_string && revision > 0x0001) {
|
||||
@ -201,16 +224,21 @@ int main(int narg, char **arg)
|
||||
}
|
||||
boundstr[8] = '\0';
|
||||
|
||||
if (!triclinic) {
|
||||
if (triclinic == 0) {
|
||||
fprintf(fptxt, "ITEM: BOX BOUNDS %s\n", boundstr);
|
||||
fprintf(fptxt, "%-1.16e %-1.16e\n", xlo, xhi);
|
||||
fprintf(fptxt, "%-1.16e %-1.16e\n", ylo, yhi);
|
||||
fprintf(fptxt, "%-1.16e %-1.16e\n", zlo, zhi);
|
||||
} else {
|
||||
} else if (triclinic == 1) {
|
||||
fprintf(fptxt, "ITEM: BOX BOUNDS xy xz yz %s\n", boundstr);
|
||||
fprintf(fptxt, "%-1.16e %-1.16e %-1.16e\n", xlo, xhi, xy);
|
||||
fprintf(fptxt, "%-1.16e %-1.16e %-1.16e\n", ylo, yhi, xz);
|
||||
fprintf(fptxt, "%-1.16e %-1.16e %-1.16e\n", zlo, zhi, yz);
|
||||
} else if (triclinic == 2) {
|
||||
fprintf(fptxt, "ITEM: BOX BOUNDS abc origin %s\n", boundstr);
|
||||
fprintf(fptxt, "%-1.16e %-1.16e %-1.16e %-1.16e\n", ax, ay, az, abcx);
|
||||
fprintf(fptxt, "%-1.16e %-1.16e %-1.16e %-1.16e\n", bx, by, bz, abcy);
|
||||
fprintf(fptxt, "%-1.16e %-1.16e %-1.16e %-1.16e\n", cx, cy, cz, abcz);
|
||||
}
|
||||
|
||||
if (columns)
|
||||
|
||||
Reference in New Issue
Block a user