NAMD
imd.h
Go to the documentation of this file.
1 
2 #ifndef IMD_H__
3 #define IMD_H__
4 
5 #include <limits.h>
6 
7 #if ( INT_MAX == 2147483647 )
8 typedef int int32;
9 #else
10 typedef short int32;
11 #endif
12 
13 enum IMDType {
24 };
25 
26 typedef struct {
28  float T;
29  float Etot;
30  float Epot;
31  float Evdw;
32  float Eelec;
33  float Ebond;
34  float Eangle;
35  float Edihe;
36  float Eimpr;
37 } IMDEnergies;
38 
39 // Send simple messages - these consist of a header with no subsequent data
40 extern int imd_disconnect(void *);
41 extern int imd_pause(void *);
42 extern int imd_kill(void *);
43 extern int imd_handshake(void *);
44 extern int imd_trate(void *, int32);
45 
46 // Send data
47 extern int imd_send_mdcomm(void *, int32, const int32 *, const float *);
48 extern int imd_send_energies(void *, const IMDEnergies *);
49 extern int imd_send_fcoords(void *, int32, const float *);
50 
52 
53 // recv_handshake returns 0 if server and client have the same relative
54 // endianism; returns 1 if they have opposite endianism, and -1 if there
55 // was an error in the handshake process.
56 extern int imd_recv_handshake(void *);
57 
58 extern IMDType imd_recv_header(void *, int32 *);
59 extern int imd_recv_mdcomm(void *, int32, int32 *, float *);
60 extern int imd_recv_energies(void *, IMDEnergies *);
61 extern int imd_recv_fcoords(void *, int32, float *);
62 
63 #endif
64 
int imd_send_mdcomm(void *s, int32 n, const int32 *indices, const float *forces)
Definition: imd.C:148
short int32
Definition: dumpdcd.c:24
int imd_send_energies(void *s, const IMDEnergies *energies)
Definition: imd.C:159
float Eelec
Definition: imd.h:32
Definition: imd.h:17
Definition: imd.h:20
IMDType
Definition: imd.h:13
float Eimpr
Definition: imd.h:36
float Etot
Definition: imd.h:29
int imd_trate(void *s, int32 rate)
Definition: imd.C:140
int imd_pause(void *s)
Definition: imd.C:114
float Edihe
Definition: imd.h:35
int imd_send_fcoords(void *s, int32 n, const float *coords)
Definition: imd.C:169
float Eangle
Definition: imd.h:34
int imd_recv_fcoords(void *s, int32 n, float *coords)
Definition: imd.C:236
int imd_recv_mdcomm(void *s, int32 n, int32 *indices, float *forces)
Definition: imd.C:225
float T
Definition: imd.h:28
int imd_handshake(void *s)
Definition: imd.C:133
Definition: imd.h:22
int32 tstep
Definition: imd.h:27
float Epot
Definition: imd.h:30
float Evdw
Definition: imd.h:31
float Ebond
Definition: imd.h:33
int imd_disconnect(void *s)
Definition: imd.C:108
int imd_recv_handshake(void *s)
Receive header and data.
Definition: imd.C:191
int imd_kill(void *s)
Definition: imd.C:120
Definition: imd.h:21
int imd_recv_energies(void *s, IMDEnergies *energies)
Definition: imd.C:231
Definition: imd.h:19
IMDType imd_recv_header(void *s, int32 *length)
Definition: imd.C:214