Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members

ScriptTcl Class Reference

#include <ScriptTcl.h>

List of all members.

Public Member Functions

 ScriptTcl ()
 ~ScriptTcl ()
void eval (char *script)
void load (char *scriptFile)
void run ()
void measure (Vector *)

Friends

class Controller
class GlobalMasterTcl


Constructor & Destructor Documentation

ScriptTcl::ScriptTcl  ) 
 

Definition at line 987 of file ScriptTcl.C.

References DebugM, molfile_dcdplugin_init(), molfile_dcdplugin_register(), register_cb(), scriptBarrierTag, and tcl_vector_math_init().

00987                      : scriptBarrier(scriptBarrierTag) {
00988   DebugM(3,"Constructing ScriptTcl\n");
00989 #ifdef NAMD_TCL
00990   interp = 0;
00991   callbackname = 0;
00992 #endif
00993   state = new NamdState;
00994   barrierStep = 0;
00995 
00996   molfile_dcdplugin_init();
00997   molfile_dcdplugin_register(NULL, register_cb);
00998 
00999   initWasCalled = 0;
01000   runWasCalled = 0;
01001 
01002 #ifdef NAMD_TCL
01003   config = new ConfigList;
01004 
01005   // Create interpreter
01006   interp = Tcl_CreateInterp();
01007   tcl_vector_math_init(interp);
01008   Tcl_CreateCommand(interp, "exit", Tcl_exit,
01009     (ClientData) this, (Tcl_CmdDeleteProc *) NULL);
01010   Tcl_CreateCommand(interp, "abort", Tcl_abort,
01011     (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
01012   Tcl_CreateCommand(interp, "numPes", Tcl_numPes,
01013     (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
01014   Tcl_CreateCommand(interp, "numNodes", Tcl_numNodes,
01015     (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
01016   Tcl_CreateCommand(interp, "numPhysicalNodes", Tcl_numPhysicalNodes,
01017     (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
01018   Tcl_CreateCommand(interp, "numReplicas", Tcl_numReplicas,
01019     (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
01020   Tcl_CreateCommand(interp, "myReplica", Tcl_myReplica,
01021     (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
01022   Tcl_CreateCommand(interp, "replicaSendrecv", Tcl_replicaSendrecv,
01023     (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
01024   Tcl_CreateCommand(interp, "replicaSend", Tcl_replicaSend,
01025     (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
01026   Tcl_CreateCommand(interp, "replicaRecv", Tcl_replicaRecv,
01027     (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
01028   Tcl_CreateCommand(interp, "replicaBarrier", Tcl_replicaBarrier,
01029     (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
01030   Tcl_CreateCommand(interp, "print", Tcl_print,
01031     (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
01032   Tcl_CreateCommand(interp, "unknown", Tcl_config,
01033     (ClientData) this, (Tcl_CmdDeleteProc *) NULL);
01034   Tcl_CreateCommand(interp, "param", Tcl_config,
01035     (ClientData) this, (Tcl_CmdDeleteProc *) NULL);
01036   Tcl_CreateCommand(interp, "run", Tcl_run,
01037     (ClientData) this, (Tcl_CmdDeleteProc *) NULL);
01038   Tcl_CreateCommand(interp, "minimize", Tcl_minimize,
01039     (ClientData) this, (Tcl_CmdDeleteProc *) NULL);
01040   Tcl_CreateCommand(interp, "move", Tcl_move,
01041     (ClientData) this, (Tcl_CmdDeleteProc *) NULL);
01042   Tcl_CreateCommand(interp, "moveallby", Tcl_moveallby,
01043     (ClientData) this, (Tcl_CmdDeleteProc *) NULL);
01044   Tcl_CreateCommand(interp, "output", Tcl_output,
01045     (ClientData) this, (Tcl_CmdDeleteProc *) NULL);
01046   Tcl_CreateCommand(interp, "measure", Tcl_measure,
01047     (ClientData) this, (Tcl_CmdDeleteProc *) NULL);
01048   Tcl_CreateCommand(interp, "checkpoint", Tcl_checkpoint,
01049     (ClientData) this, (Tcl_CmdDeleteProc *) NULL);
01050   Tcl_CreateCommand(interp, "revert", Tcl_revert,
01051     (ClientData) this, (Tcl_CmdDeleteProc *) NULL);
01052   Tcl_CreateCommand(interp, "reinitvels", Tcl_reinitvels,
01053     (ClientData) this, (Tcl_CmdDeleteProc *) NULL);
01054   Tcl_CreateCommand(interp, "rescalevels", Tcl_rescalevels,
01055     (ClientData) this, (Tcl_CmdDeleteProc *) NULL);
01056   Tcl_CreateCommand(interp, "reinitatoms", Tcl_reinitatoms,
01057     (ClientData) this, (Tcl_CmdDeleteProc *) NULL);
01058   Tcl_CreateCommand(interp, "callback", Tcl_callback,
01059     (ClientData) this, (Tcl_CmdDeleteProc *) NULL);
01060   Tcl_CreateCommand(interp, "coorfile", Tcl_coorfile,
01061     (ClientData) this, (Tcl_CmdDeleteProc *) NULL);
01062   Tcl_CreateCommand(interp, "dumpbench", Tcl_dumpbench,
01063     (ClientData) this, (Tcl_CmdDeleteProc *) NULL);
01064   Tcl_CreateObjCommand(interp, "consForceConfig", Tcl_consForceConfig, 
01065     (ClientData) this, (Tcl_CmdDeleteProc *) NULL);
01066   Tcl_CreateCommand(interp, "reloadCharges", Tcl_reloadCharges,
01067     (ClientData) this, (Tcl_CmdDeleteProc *) NULL);
01068   // BEGIN gf
01069   Tcl_CreateCommand(interp, "reloadGridforceGrid", Tcl_reloadGridforceGrid,
01070     (ClientData) this, (Tcl_CmdDeleteProc *) NULL);
01071   // END gf
01072 #endif
01073 
01074 }

ScriptTcl::~ScriptTcl  ) 
 

Definition at line 1130 of file ScriptTcl.C.

References DebugM, and molfile_dcdplugin_fini().

01130                       {
01131   DebugM(3,"Destructing ScriptTcl\n");
01132 #ifdef NAMD_TCL
01133   if ( interp ) Tcl_DeleteInterp(interp);
01134   delete [] callbackname;
01135 #endif
01136 
01137   molfile_dcdplugin_fini();
01138 }


Member Function Documentation

void ScriptTcl::eval char *  script  ) 
 

Definition at line 1076 of file ScriptTcl.C.

References NAMD_bug(), and NAMD_die().

Referenced by after_backend_init().

01076                                  {
01077 
01078 #ifdef NAMD_TCL
01079   int code = Tcl_Eval(interp,script);
01080   const char *result = Tcl_GetStringResult(interp);
01081   if (*result != 0) CkPrintf("TCL: %s\n",result);
01082   if (code != TCL_OK) {
01083     const char *errorInfo = Tcl_GetVar(interp,"errorInfo",0);
01084     NAMD_die(errorInfo);
01085   }
01086 #else
01087   NAMD_bug("ScriptTcl::eval called without Tcl.");
01088 #endif
01089 
01090 }

void ScriptTcl::load char *  scriptFile  ) 
 

Definition at line 1092 of file ScriptTcl.C.

References NAMD_bug(), and NAMD_die().

Referenced by after_backend_init().

01092                                      {
01093 
01094 #ifdef NAMD_TCL
01095   int code = Tcl_EvalFile(interp,scriptFile);
01096   const char *result = Tcl_GetStringResult(interp);
01097   if (*result != 0) CkPrintf("TCL: %s\n",result);
01098   if (code != TCL_OK) {
01099     const char *errorInfo = Tcl_GetVar(interp,"errorInfo",0);
01100     NAMD_die(errorInfo);
01101   }
01102 #else
01103   NAMD_bug("ScriptTcl::load called without Tcl.");
01104 #endif
01105 
01106 }

void ScriptTcl::measure Vector  ) 
 

Definition at line 632 of file ScriptTcl.C.

References Node::coords, Measure::createCommands(), Measure::deleteCommands(), and Node::Object().

Referenced by Output::coordinate().

00632                                  {
00633   Measure::createCommands(interp);
00634   Node::Object()->coords = c;
00635   measure_result = Tcl_Eval(interp,measure_command);
00636   Node::Object()->coords = 0;
00637   Measure::deleteCommands(interp);
00638 }

void ScriptTcl::run  ) 
 

Definition at line 1109 of file ScriptTcl.C.

References SimParameters::minimizeCGOn, NAMD_die(), Node::Object(), SCRIPT_END, SCRIPT_MINIMIZE, SCRIPT_RUN, Node::simParameters, and simParams.

Referenced by after_backend_init().

01109                     {
01110 #else
01111 void ScriptTcl::run(char *scriptFile) {
01112 
01113   if ( NULL == scriptFile || NULL == (config = new ConfigList(scriptFile)) ) {
01114     NAMD_die("Simulation config file is empty.");
01115   }
01116 #endif
01117 
01118   if (runWasCalled == 0) {
01119     initcheck();
01120     SimParameters *simParams = Node::Object()->simParameters;
01121     if ( simParams->minimizeCGOn ) runController(SCRIPT_MINIMIZE);
01122     else runController(SCRIPT_RUN);
01123     runWasCalled = 1;
01124   }
01125 
01126   runController(SCRIPT_END);
01127 
01128 }


Friends And Related Function Documentation

friend class Controller [friend]
 

Definition at line 54 of file ScriptTcl.h.

friend class GlobalMasterTcl [friend]
 

Definition at line 55 of file ScriptTcl.h.


The documentation for this class was generated from the following files:
Generated on Sun Feb 12 04:08:04 2012 for NAMD by  doxygen 1.3.9.1