25 #define FILE_OUTPUT -1
27 #define EVAL_MEASURE -3
28 #define FORCE_OUTPUT -4
30 #define OUTPUT_SINGLE_FILE 1
31 #define OUTPUT_MAGIC_NUMBER 123456
32 #define OUTPUT_FILE_VERSION 1.00
53 void output_veldcdfile(
int,
int,
Vector *);
55 void output_forcedcdfile(
int,
int,
Vector *);
58 void output_restart_coordinates(
Vector *,
int,
int);
61 void output_restart_velocities(
int,
int,
Vector *);
64 void output_final_coordinates(
Vector *,
int,
int);
65 void output_final_velocities(
int,
int,
Vector *);
66 void output_forces(
int,
int,
Vector *);
69 void write_binary_file(
char *,
int,
Vector *);
72 struct replicaDcdFile {
75 replicaDcdFile() : fileid(0) { ; }
77 std::map<int,replicaDcdFile> replicaDcdFiles;
107 #ifdef MEM_OPT_VERSION
110 void output_veldcdfile_master(
int timestep,
int n);
111 void output_veldcdfile_slave(
int timestep,
int fID,
int tID,
Vector *vecs);
112 void output_restart_velocities_master(
int timestep,
int n);
113 void output_restart_velocities_slave(
int timestep,
int fID,
int tID,
Vector *vecs,
int64 offset);
114 void output_final_velocities_master(
int n);
115 void output_final_velocities_slave(
int fID,
int tID,
Vector *vecs,
int64 offset);
117 void output_forcedcdfile_master(
int timestep,
int n);
118 void output_forcedcdfile_slave(
int timestep,
int fID,
int tID,
Vector *vecs);
119 void output_forces_master(
int n);
120 void output_forces_slave(
int fID,
int tID,
Vector *vecs,
int64 offset);
122 void output_dcdfile_master(
int timestep,
int n,
const Lattice *lat);
123 void output_dcdfile_slave(
int timestep,
int fID,
int tID,
FloatVector *fvecs);
124 void output_restart_coordinates_master(
int timestep,
int n);
125 void output_restart_coordinates_slave(
int timestep,
int fID,
int tID,
Vector *vecs,
int64 offset);
126 void output_final_coordinates_master(
int n);
127 void output_final_coordinates_slave(
int fID,
int tID,
Vector *vecs,
int64 offset);
129 void write_binary_file_master(
char *fname,
int n);
130 void write_binary_file_slave(
char *fname,
int fID,
int tID,
Vector *vecs,
int64 offset);
132 #if !OUTPUT_SINGLE_FILE
138 float *dcdX, *dcdY, *dcdZ;
142 float *veldcdX, *veldcdY, *veldcdZ;
146 float *forcedcdX, *forcedcdY, *forcedcdZ;
151 ParOutput(
int oid=-1){
152 dcdFileID=veldcdFileID=-99999;
153 forcedcdFileID=-99999;
154 dcdFirst=veldcdFirst=
TRUE;
156 dcdX=dcdY=dcdZ=veldcdX=veldcdY=veldcdZ=NULL;
157 forcedcdX=forcedcdY=forcedcdZ=NULL;
162 void velocityMaster(
int timestep,
int n);
163 void velocitySlave(
int timestep,
int fID,
int tID,
Vector *vecs);
165 void forceMaster(
int timestep,
int n);
166 void forceSlave(
int timestep,
int fID,
int tID,
Vector *vecs);
168 void coordinateMaster(
int timestep,
int n,
Lattice &lat);
169 void coordinateSlave(
int timestep,
int fID,
int tID,
Vector *vecs,
FloatVector *fvecs);
static int velocityNeeded(int)
static int coordinateNeeded(int)
void setReplicaDcdIndex(int index)
void coordinate(int, int, Vector *, FloatVector *, Lattice &)
static int forceNeeded(int)
void recvReplicaDcdInit(ReplicaDcdInitMsg *msg)
void replicaDcdInit(int index, const char *filename)
void velocity(int, int, Vector *)
void recvReplicaDcdData(ReplicaDcdDataMsg *msg)
void energy(int, BigReal *)
void force(int, int, Vector *)