NAMD
ComputeTclBC.h
Go to the documentation of this file.
1 
7 #ifndef COMPUTETCLBC_H
8 #define COMPUTETCLBC_H
9 
10 #ifdef NAMD_TCL
11 #include <tcl.h>
12 #endif
13 
14 #include "ComputeHomePatches.h"
15 #include "ReductionMgr.h"
16 #include "Tensor.h"
17 #ifndef WIN32
18 #include <strings.h>
19 #endif
20 
21 class ComputeMgr;
22 
24 
25 public:
27  virtual ~ComputeTclBC();
28  void doWork();
29 
30 private:
31  int wrapmode;
32  Lattice *lattice;
33 
34  ResizeArray<char> drops;
35  void cleardrops() {
36  memset((void*)drops.begin(), 0, drops.size()*sizeof(char));
37  }
38 
40  int i_atom, n_atom;
41  CompAtom *atoms;
42  FullAtom *fullatoms;
43  Force *forces;
44  BigReal energy;
45  SubmitReduction *reduction;
46 
47 #ifdef NAMD_TCL
48  Tcl_Interp *interp;
49  static int Tcl_print(ClientData, Tcl_Interp *, int, const char **);
50  static int Tcl_wrapmode(ClientData, Tcl_Interp *, int, const char **);
51  static int Tcl_cleardrops(ClientData, Tcl_Interp *, int, Tcl_Obj * const []);
52  static int Tcl_dropatom(ClientData, Tcl_Interp *, int, Tcl_Obj * const []);
53  static int Tcl_nextatom(ClientData, Tcl_Interp *, int, Tcl_Obj * const []);
54  static int Tcl_getcoord(ClientData, Tcl_Interp *, int, Tcl_Obj * const []);
55  static int Tcl_getcell(ClientData, Tcl_Interp *, int, Tcl_Obj * const []);
56  static int Tcl_getmass(ClientData, Tcl_Interp *, int, Tcl_Obj * const []);
57  static int Tcl_getcharge(ClientData, Tcl_Interp *, int, Tcl_Obj * const []);
58  static int Tcl_getid(ClientData, Tcl_Interp *, int, Tcl_Obj * const []);
59  static int Tcl_addforce(ClientData, Tcl_Interp *, int, Tcl_Obj * const []);
60  static int Tcl_addenergy(ClientData, Tcl_Interp *, int, Tcl_Obj * const []);
61 #endif
62 
63 };
64 
65 #endif
66 
67 
68 
69 
70 
71 
72 
int ComputeID
Definition: NamdTypes.h:183
Definition: Vector.h:64
virtual ~ComputeTclBC()
Definition: ComputeTclBC.C:90
void doWork()
Definition: ComputeTclBC.C:98
int size(void) const
Definition: ResizeArray.h:127
double BigReal
Definition: common.h:114
ComputeTclBC(ComputeID c)
Definition: ComputeTclBC.C:24
iterator begin(void)
Definition: ResizeArray.h:36