NAMD
ScriptTcl.h
Go to the documentation of this file.
1 
7 /*
8  Modifies SimParameters settings during run.
9 */
10 
11 #ifndef SCRIPTTCL_H
12 #define SCRIPTTCL_H
13 
14 #ifdef NAMD_TCL
15 #include <tcl.h>
16 #endif
17 
18 class ConfigList;
19 class NamdState;
20 class Vector;
21 
22 class ScriptTcl {
23 public:
24  ScriptTcl();
25  ~ScriptTcl();
26  void eval(char *script);
27  void load(char *scriptFile);
28 #ifdef NAMD_TCL
29  void run();
30  static int tclsh(int, char **);
31  void tclmain(int, char **);
32 #else
33  void run(char *scriptFile);
34 #endif
35  void measure(Vector *);
36 private:
37  char *scriptFile;
38  ConfigList *config;
39  NamdState *state;
40  void suspend(void);
41  int runWasCalled;
42  int initWasCalled;
43  void barrier();
44  void initcheck();
45  void reinitAtoms(const char *basename=0);
47  SimpleBroadcastObjectWrapper *scriptBarrierWrapper;
48  int barrierStep;
49  void runController(int task);
50  void setParameter(const char* param, const char* value);
51  void setParameter(const char* param, int value);
52  friend class DataExchanger;
53  int eval(const char *script, const char **resultPtr);
54 #ifdef NAMD_TCL
55  friend class Controller;
56  friend class GlobalMasterTcl;
57  friend class colvarproxy_namd;
58  Tcl_Interp *interp;
59  static int Tcl_python(ClientData, Tcl_Interp *, int, const char **);
60  static int Tcl_startup(ClientData, Tcl_Interp *, int, const char **);
61  static int Tcl_exit(ClientData, Tcl_Interp *, int, const char **);
62  static int Tcl_abort(ClientData, Tcl_Interp *, int, const char **);
63  static int Tcl_numPes(ClientData, Tcl_Interp *, int, const char **);
64  static int Tcl_numNodes(ClientData, Tcl_Interp *, int, const char **);
65  static int Tcl_numPhysicalNodes(ClientData, Tcl_Interp *, int, const char **);
66  static int Tcl_numReplicas(ClientData, Tcl_Interp *, int, const char **);
67  static int Tcl_myReplica(ClientData, Tcl_Interp *, int, const char **);
68  static int Tcl_replicaEval(ClientData, Tcl_Interp *, int, const char **);
69  static int Tcl_replicaYield(ClientData, Tcl_Interp *, int, const char **);
70  static int Tcl_replicaSendrecv(ClientData, Tcl_Interp *, int, const char **);
71  static int Tcl_replicaSend(ClientData, Tcl_Interp *, int, const char **);
72  static int Tcl_replicaRecv(ClientData, Tcl_Interp *, int, const char **);
73  static int Tcl_replicaBarrier(ClientData, Tcl_Interp *, int, const char **);
74  static int Tcl_replicaAtomSendrecv(ClientData, Tcl_Interp *, int, const char **);
75  static int Tcl_replicaAtomSend(ClientData, Tcl_Interp *, int, const char **);
76  static int Tcl_replicaAtomRecv(ClientData, Tcl_Interp *, int, const char **);
77  static int Tcl_stdout(ClientData, Tcl_Interp *, int, const char **);
78  static int Tcl_print(ClientData, Tcl_Interp *, int, const char **);
79  static int Tcl_config(ClientData, Tcl_Interp *, int, const char **);
80  static int Tcl_isset_config(ClientData, Tcl_Interp *, int, const char **);
81  static int Tcl_istrue_config(ClientData, Tcl_Interp *, int, const char **);
82  static int Tcl_param(ClientData, Tcl_Interp *, int, const char **);
83  static int Tcl_isset_param(ClientData, Tcl_Interp *, int, const char **);
84  static int Tcl_istrue_param(ClientData, Tcl_Interp *, int, const char **);
85  static int Tcl_reinitvels(ClientData, Tcl_Interp *, int, const char **);
86  static int Tcl_rescalevels(ClientData, Tcl_Interp *, int, const char **);
87  static int Tcl_run(ClientData, Tcl_Interp *, int, const char **);
88  static int Tcl_minimize(ClientData, Tcl_Interp *, int, const char **);
89  static int Tcl_move(ClientData, Tcl_Interp *, int, const char **);
90  static int Tcl_moveallby(ClientData, Tcl_Interp *, int, const char **);
91  static int Tcl_output(ClientData, Tcl_Interp *, int, const char **);
92  static int Tcl_measure(ClientData, Tcl_Interp *, int, const char **);
93  static int Tcl_colvarbias(ClientData, Tcl_Interp *, int, const char **);
94  static int Tcl_colvarvalue(ClientData, Tcl_Interp *, int, const char **);
95  static int Tcl_colvars(ClientData, Tcl_Interp *, int, Tcl_Obj *const objv[]);
96  static int Tcl_colvarfreq(ClientData, Tcl_Interp *, int, const char **);
97  static int Tcl_checkpoint(ClientData, Tcl_Interp *, int, const char **);
98  static int Tcl_revert(ClientData, Tcl_Interp *, int, const char **);
99  static int Tcl_checkpointReplica(ClientData, Tcl_Interp *, int, const char **);
100  static int Tcl_replicaDcdFile(ClientData, Tcl_Interp *, int, const char **);
101  static int Tcl_replicaDcdSelectFile(ClientData, Tcl_Interp *, int, const char **);
102  static int Tcl_callback(ClientData, Tcl_Interp *, int, const char **);
103  static int Tcl_reinitatoms(ClientData, Tcl_Interp *, int, const char **);
104  static int Tcl_coorfile(ClientData, Tcl_Interp *, int, const char **);
105  static int Tcl_dumpbench(ClientData, Tcl_Interp *, int, const char **);
106  static int Tcl_consForceConfig(ClientData, Tcl_Interp *, int, Tcl_Obj *const objv[]);
107  static int Tcl_reloadCharges(ClientData, Tcl_Interp *, int, const char **);
108  static int Tcl_reloadGridforceGrid(ClientData, Tcl_Interp *, int, const char **); // BEGIN, END gf
109  static int Tcl_updateGridScale(ClientData, Tcl_Interp *, int, const char **); // BEGIN, END gf
110  static int Tcl_reloadStructure(ClientData, Tcl_Interp *, int, const char **);
111  static int Tcl_gpuGlobalCreateClient(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj* const objv[]);
112  static int Tcl_gpuGlobalRemoveClient(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj* const objv[]);
113  static int Tcl_gpuGlobalUpdateClient(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj* const objv[]);
114  char *callbackname;
115  void doCallback(const char *labels, const char *data);
116  int doCallback() { return ! ! callbackname; }
117  const char *measure_command;
118  int measure_result;
119 #endif
120 };
121 
122 #endif
123 
void load(char *scriptFile)
Definition: ScriptTcl.C:2419
Communication between colvars and NAMD (implementation of colvarproxy)
Definition: Vector.h:72
void run()
Definition: ScriptTcl.C:2436
void tclmain(int, char **)
Definition: ScriptTcl.C:2402
void eval(char *script)
Definition: ScriptTcl.C:2362
static int tclsh(int, char **)
Definition: ScriptTcl.C:2380
void measure(Vector *)
Definition: ScriptTcl.C:1400