24 #include "ComputeMgr.decl.h"
28 #define MIN_DEBUG_LEVEL 1
36 int len = strlen(the_config_name);
37 configName =
new char[len+1];
38 strcpy(configName,the_config_name);
51 getAtomID(
const char *segid,
int resid,
const char *aname)
70 if ( atomid < 0 || atomid >= molecule->
numAtoms )
return -1.;
77 if ( atomid < 0 || atomid >= molecule->
numAtoms )
return -1;
87 for ( ; a_i != a_e; ++a_i, ++p_i ) {
88 if ( *a_i == atomid ) {
98 if ( atomid < 0 || atomid >= molecule->
numAtoms )
return -1;
108 void GlobalMasterEasy::initialize() {
110 DebugM(4,
"Initializing master\n");
118 for ( ; script; script = script->
next) {
119 if ( strstr(script->
data,
"\n") ) {
120 size_t add_len = strlen(script->
data);
121 size_t config_len = 0;
122 config_len = strlen(
config);
123 char *new_config =
new char[config_len + add_len + 2];
124 strcpy(new_config,
config);
125 strcat(new_config,script->
data);
126 strcat(new_config,
"\n");
130 FILE *infile = fopen(script->
data,
"r");
133 sprintf(errmsg,
"Error trying to read file %s!\n",script->
data);
136 fseek(infile,0,SEEK_END);
137 size_t add_len = ftell(infile);
138 size_t config_len = 0;
139 config_len = strlen(
config);
140 char *new_config =
new char[config_len + add_len + 3];
141 strcpy(new_config,
config);
144 new_config += config_len;
146 fread(new_config,
sizeof(
char),add_len,infile);
147 new_config += add_len;
148 new_config[0] =
'\n';
149 new_config[1] =
'\0';
156 void GlobalMasterEasy::calculate() {
176 CkPrintf(
"Default GlobalMasterEasy::easy_init() called.\n");
180 CkPrintf(
"Default GlobalMasterEasy::easy_calc() called.\n");
int get_atom_from_name(const char *segid, int resid, const char *aname) const
int get_residue_size(const char *segid, int resid) const
virtual ~GlobalMasterEasy()
ForceList & modifyAppliedForces()
AtomIDList & modifyRequestedAtoms()
int getPosition(int atomid, Position &position)
double getMass(int atomid)
const Elem * const_iterator
AtomIDList::const_iterator getAtomIdBegin()
int getAtomID(const char *segid, int resid, const char *aname)
int addForce(int atomid, Force force)
int get_atom_from_index_in_residue(const char *segid, int resid, int index) const
SubmitReduction * willSubmit(int setID, int size=-1)
static ReductionMgr * Object(void)
PositionList::const_iterator getAtomPositionBegin()
BigRealList::const_iterator getGroupMassEnd()
GlobalMasterEasy(const char *the_config_name)
int getNumAtoms(const char *segid, int resid)
int requestAtom(int atomid)
void setall(const Elem &elem)
AtomIDList & modifyForcedAtoms()
void NAMD_die(const char *err_msg)
BigRealList::const_iterator getGroupMassBegin()
ForceList & modifyGroupForces()
virtual void easy_init(const char *)
int add(const Elem &elem)
AtomIDList::const_iterator getAtomIdEnd()
StringList * find(const char *name) const
virtual void easy_calc(void)
Real atommass(int anum) const