git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@8582 f3b2605a-c512-4ea7-a41b-209d697bcdaa
This commit is contained in:
@ -36,7 +36,9 @@
|
|||||||
#define MAX_GROUP 32
|
#define MAX_GROUP 32
|
||||||
#define PI (4.0*atan(1.0))
|
#define PI (4.0*atan(1.0))
|
||||||
|
|
||||||
// these should match settings in src/lmptype.h
|
// these must match settings in src/lmptype.h
|
||||||
|
// depending on whether you built LAMMPS with
|
||||||
|
// -DLAMMPS_SMALLBIG (the default), -DLAMMPS_BIGBIG, or -DLAMMPS_SMALLSMALL
|
||||||
|
|
||||||
#include "stdint.h"
|
#include "stdint.h"
|
||||||
#define __STDC_FORMAT_MACROS
|
#define __STDC_FORMAT_MACROS
|
||||||
@ -46,6 +48,16 @@ typedef int tagint;
|
|||||||
typedef int64_t bigint;
|
typedef int64_t bigint;
|
||||||
#define BIGINT_FORMAT "%" PRId64
|
#define BIGINT_FORMAT "%" PRId64
|
||||||
|
|
||||||
|
#define IMGMASK 1023
|
||||||
|
#define IMGMAX 512
|
||||||
|
#define IMGBITS 10
|
||||||
|
#define IMG2BITS 20
|
||||||
|
|
||||||
|
//#define IMGMASK 2097151
|
||||||
|
//#define IMGMAX 1048576
|
||||||
|
//#define IMGBITS 21
|
||||||
|
//#define IMG2BITS 42
|
||||||
|
|
||||||
// same as write_restart.cpp
|
// same as write_restart.cpp
|
||||||
|
|
||||||
enum{VERSION,SMALLINT,TAGINT,BIGINT,
|
enum{VERSION,SMALLINT,TAGINT,BIGINT,
|
||||||
@ -887,7 +899,7 @@ int atom_angle(double *buf, Data &data, int iatoms)
|
|||||||
data.tag[iatoms] = static_cast<int> (buf[m++]);
|
data.tag[iatoms] = static_cast<int> (buf[m++]);
|
||||||
data.type[iatoms] = static_cast<int> (buf[m++]);
|
data.type[iatoms] = static_cast<int> (buf[m++]);
|
||||||
data.mask[iatoms] = static_cast<int> (buf[m++]);
|
data.mask[iatoms] = static_cast<int> (buf[m++]);
|
||||||
data.image[iatoms] = static_cast<int> (buf[m++]);
|
data.image[iatoms] = *((tagint *) &buf[m++]);
|
||||||
data.vx[iatoms] = buf[m++];
|
data.vx[iatoms] = buf[m++];
|
||||||
data.vy[iatoms] = buf[m++];
|
data.vy[iatoms] = buf[m++];
|
||||||
data.vz[iatoms] = buf[m++];
|
data.vz[iatoms] = buf[m++];
|
||||||
@ -933,7 +945,7 @@ int atom_atomic(double *buf, Data &data, int iatoms)
|
|||||||
data.tag[iatoms] = static_cast<int> (buf[m++]);
|
data.tag[iatoms] = static_cast<int> (buf[m++]);
|
||||||
data.type[iatoms] = static_cast<int> (buf[m++]);
|
data.type[iatoms] = static_cast<int> (buf[m++]);
|
||||||
data.mask[iatoms] = static_cast<int> (buf[m++]);
|
data.mask[iatoms] = static_cast<int> (buf[m++]);
|
||||||
data.image[iatoms] = static_cast<int> (buf[m++]);
|
data.image[iatoms] = *((tagint *) &buf[m++]);
|
||||||
data.vx[iatoms] = buf[m++];
|
data.vx[iatoms] = buf[m++];
|
||||||
data.vy[iatoms] = buf[m++];
|
data.vy[iatoms] = buf[m++];
|
||||||
data.vz[iatoms] = buf[m++];
|
data.vz[iatoms] = buf[m++];
|
||||||
@ -952,7 +964,7 @@ int atom_bond(double *buf, Data &data, int iatoms)
|
|||||||
data.tag[iatoms] = static_cast<int> (buf[m++]);
|
data.tag[iatoms] = static_cast<int> (buf[m++]);
|
||||||
data.type[iatoms] = static_cast<int> (buf[m++]);
|
data.type[iatoms] = static_cast<int> (buf[m++]);
|
||||||
data.mask[iatoms] = static_cast<int> (buf[m++]);
|
data.mask[iatoms] = static_cast<int> (buf[m++]);
|
||||||
data.image[iatoms] = static_cast<int> (buf[m++]);
|
data.image[iatoms] = *((tagint *) &buf[m++]);
|
||||||
data.vx[iatoms] = buf[m++];
|
data.vx[iatoms] = buf[m++];
|
||||||
data.vy[iatoms] = buf[m++];
|
data.vy[iatoms] = buf[m++];
|
||||||
data.vz[iatoms] = buf[m++];
|
data.vz[iatoms] = buf[m++];
|
||||||
@ -983,7 +995,7 @@ int atom_charge(double *buf, Data &data, int iatoms)
|
|||||||
data.tag[iatoms] = static_cast<int> (buf[m++]);
|
data.tag[iatoms] = static_cast<int> (buf[m++]);
|
||||||
data.type[iatoms] = static_cast<int> (buf[m++]);
|
data.type[iatoms] = static_cast<int> (buf[m++]);
|
||||||
data.mask[iatoms] = static_cast<int> (buf[m++]);
|
data.mask[iatoms] = static_cast<int> (buf[m++]);
|
||||||
data.image[iatoms] = static_cast<int> (buf[m++]);
|
data.image[iatoms] = *((tagint *) &buf[m++]);
|
||||||
data.vx[iatoms] = buf[m++];
|
data.vx[iatoms] = buf[m++];
|
||||||
data.vy[iatoms] = buf[m++];
|
data.vy[iatoms] = buf[m++];
|
||||||
data.vz[iatoms] = buf[m++];
|
data.vz[iatoms] = buf[m++];
|
||||||
@ -1002,7 +1014,7 @@ int atom_dipole(double *buf, Data &data, int iatoms)
|
|||||||
data.tag[iatoms] = static_cast<int> (buf[m++]);
|
data.tag[iatoms] = static_cast<int> (buf[m++]);
|
||||||
data.type[iatoms] = static_cast<int> (buf[m++]);
|
data.type[iatoms] = static_cast<int> (buf[m++]);
|
||||||
data.mask[iatoms] = static_cast<int> (buf[m++]);
|
data.mask[iatoms] = static_cast<int> (buf[m++]);
|
||||||
data.image[iatoms] = static_cast<int> (buf[m++]);
|
data.image[iatoms] = *((tagint *) &buf[m++]);
|
||||||
data.vx[iatoms] = buf[m++];
|
data.vx[iatoms] = buf[m++];
|
||||||
data.vy[iatoms] = buf[m++];
|
data.vy[iatoms] = buf[m++];
|
||||||
data.vz[iatoms] = buf[m++];
|
data.vz[iatoms] = buf[m++];
|
||||||
@ -1024,7 +1036,7 @@ int atom_ellipsoid(double *buf, Data &data, int iatoms)
|
|||||||
data.tag[iatoms] = static_cast<int> (buf[m++]);
|
data.tag[iatoms] = static_cast<int> (buf[m++]);
|
||||||
data.type[iatoms] = static_cast<int> (buf[m++]);
|
data.type[iatoms] = static_cast<int> (buf[m++]);
|
||||||
data.mask[iatoms] = static_cast<int> (buf[m++]);
|
data.mask[iatoms] = static_cast<int> (buf[m++]);
|
||||||
data.image[iatoms] = static_cast<int> (buf[m++]);
|
data.image[iatoms] = *((tagint *) &buf[m++]);
|
||||||
data.vx[iatoms] = buf[m++];
|
data.vx[iatoms] = buf[m++];
|
||||||
data.vy[iatoms] = buf[m++];
|
data.vy[iatoms] = buf[m++];
|
||||||
data.vz[iatoms] = buf[m++];
|
data.vz[iatoms] = buf[m++];
|
||||||
@ -1063,7 +1075,7 @@ int atom_full(double *buf, Data &data, int iatoms)
|
|||||||
data.tag[iatoms] = static_cast<int> (buf[m++]);
|
data.tag[iatoms] = static_cast<int> (buf[m++]);
|
||||||
data.type[iatoms] = static_cast<int> (buf[m++]);
|
data.type[iatoms] = static_cast<int> (buf[m++]);
|
||||||
data.mask[iatoms] = static_cast<int> (buf[m++]);
|
data.mask[iatoms] = static_cast<int> (buf[m++]);
|
||||||
data.image[iatoms] = static_cast<int> (buf[m++]);
|
data.image[iatoms] = *((tagint *) &buf[m++]);
|
||||||
data.vx[iatoms] = buf[m++];
|
data.vx[iatoms] = buf[m++];
|
||||||
data.vy[iatoms] = buf[m++];
|
data.vy[iatoms] = buf[m++];
|
||||||
data.vz[iatoms] = buf[m++];
|
data.vz[iatoms] = buf[m++];
|
||||||
@ -1137,13 +1149,13 @@ int atom_full(double *buf, Data &data, int iatoms)
|
|||||||
|
|
||||||
int atom_line(double *buf, Data &data, int iatoms)
|
int atom_line(double *buf, Data &data, int iatoms)
|
||||||
{
|
{
|
||||||
fprintf(stderr,"support for atom style line is not fully implemented\n");
|
fprintf(stderr,"Support for atom style line is not fully implemented\n");
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
int atom_meso(double *buf, Data &data, int iatoms)
|
int atom_meso(double *buf, Data &data, int iatoms)
|
||||||
{
|
{
|
||||||
fprintf(stderr,"support for atom style meso is not fully implemented\n");
|
fprintf(stderr,"Support for atom style meso is not fully implemented\n");
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1158,7 +1170,7 @@ int atom_molecular(double *buf, Data &data, int iatoms)
|
|||||||
data.tag[iatoms] = static_cast<int> (buf[m++]);
|
data.tag[iatoms] = static_cast<int> (buf[m++]);
|
||||||
data.type[iatoms] = static_cast<int> (buf[m++]);
|
data.type[iatoms] = static_cast<int> (buf[m++]);
|
||||||
data.mask[iatoms] = static_cast<int> (buf[m++]);
|
data.mask[iatoms] = static_cast<int> (buf[m++]);
|
||||||
data.image[iatoms] = static_cast<int> (buf[m++]);
|
data.image[iatoms] = *((tagint *) &buf[m++]);
|
||||||
data.vx[iatoms] = buf[m++];
|
data.vx[iatoms] = buf[m++];
|
||||||
data.vy[iatoms] = buf[m++];
|
data.vy[iatoms] = buf[m++];
|
||||||
data.vz[iatoms] = buf[m++];
|
data.vz[iatoms] = buf[m++];
|
||||||
@ -1238,7 +1250,7 @@ int atom_peri(double *buf, Data &data, int iatoms)
|
|||||||
data.tag[iatoms] = static_cast<int> (buf[m++]);
|
data.tag[iatoms] = static_cast<int> (buf[m++]);
|
||||||
data.type[iatoms] = static_cast<int> (buf[m++]);
|
data.type[iatoms] = static_cast<int> (buf[m++]);
|
||||||
data.mask[iatoms] = static_cast<int> (buf[m++]);
|
data.mask[iatoms] = static_cast<int> (buf[m++]);
|
||||||
data.image[iatoms] = static_cast<int> (buf[m++]);
|
data.image[iatoms] = *((tagint *) &buf[m++]);
|
||||||
data.vx[iatoms] = buf[m++];
|
data.vx[iatoms] = buf[m++];
|
||||||
data.vy[iatoms] = buf[m++];
|
data.vy[iatoms] = buf[m++];
|
||||||
data.vz[iatoms] = buf[m++];
|
data.vz[iatoms] = buf[m++];
|
||||||
@ -1262,7 +1274,7 @@ int atom_sphere(double *buf, Data &data, int iatoms)
|
|||||||
data.tag[iatoms] = static_cast<int> (buf[m++]);
|
data.tag[iatoms] = static_cast<int> (buf[m++]);
|
||||||
data.type[iatoms] = static_cast<int> (buf[m++]);
|
data.type[iatoms] = static_cast<int> (buf[m++]);
|
||||||
data.mask[iatoms] = static_cast<int> (buf[m++]);
|
data.mask[iatoms] = static_cast<int> (buf[m++]);
|
||||||
data.image[iatoms] = static_cast<int> (buf[m++]);
|
data.image[iatoms] = *((tagint *) &buf[m++]);
|
||||||
data.vx[iatoms] = buf[m++];
|
data.vx[iatoms] = buf[m++];
|
||||||
data.vy[iatoms] = buf[m++];
|
data.vy[iatoms] = buf[m++];
|
||||||
data.vz[iatoms] = buf[m++];
|
data.vz[iatoms] = buf[m++];
|
||||||
@ -1283,13 +1295,14 @@ int atom_sphere(double *buf, Data &data, int iatoms)
|
|||||||
|
|
||||||
int atom_tri(double *buf, Data &data, int iatoms)
|
int atom_tri(double *buf, Data &data, int iatoms)
|
||||||
{
|
{
|
||||||
fprintf(stderr,"support for atom style tri is not fully implemented\n");
|
fprintf(stderr,"Support for atom style tri is not fully implemented\n");
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
int atom_wavepacket(double *buf, Data &data, int iatoms)
|
int atom_wavepacket(double *buf, Data &data, int iatoms)
|
||||||
{
|
{
|
||||||
fprintf(stderr,"support for atom style wavepacket is not fully implemented\n");
|
fprintf(stderr,"Support for atom style wavepacket is not "
|
||||||
|
"fully implemented\n");
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3700,9 +3713,9 @@ void Data::write(FILE *fp, FILE *fp2, int write_coeffs, int write_vels)
|
|||||||
int ix,iy,iz;
|
int ix,iy,iz;
|
||||||
for (bigint i = 0; i < natoms; i++) {
|
for (bigint i = 0; i < natoms; i++) {
|
||||||
|
|
||||||
ix = (image[i] & 1023) - 512;
|
ix = (image[i] & IMGMASK) - IMGMAX;
|
||||||
iy = (image[i] >> 10 & 1023) - 512;
|
iy = (image[i] >> IMGBITS & IMGMASK) - IMGMAX;
|
||||||
iz = (image[i] >> 20) - 512;
|
iz = (image[i] >> IMG2BITS) - IMGMAX;
|
||||||
|
|
||||||
if (style_hybrid == 0) {
|
if (style_hybrid == 0) {
|
||||||
if (style_angle) write_atom_angle(fp,i,ix,iy,iz);
|
if (style_angle) write_atom_angle(fp,i,ix,iy,iz);
|
||||||
|
|||||||
Reference in New Issue
Block a user