24 #include "ComputeMgr.decl.h" 29 #define MIN_DEBUG_LEVEL 1 37 int len = strlen(the_config_name);
38 configName =
new char[len+1];
39 strcpy(configName,the_config_name);
49 getAtomID(
const char *segid,
int resid,
const char *aname)
68 if ( atomid < 0 || atomid >= molecule->
numAtoms )
return -1.;
75 if ( atomid < 0 || atomid >= molecule->
numAtoms )
return -1;
85 for ( ; a_i != a_e; ++a_i, ++p_i ) {
86 if ( *a_i == atomid ) {
96 if ( atomid < 0 || atomid >= molecule->
numAtoms )
return -1;
106 void GlobalMasterEasy::initialize() {
108 DebugM(4,
"Initializing master\n");
116 for ( ; script; script = script->
next) {
117 if ( strstr(script->
data,
"\n") ) {
118 size_t add_len = strlen(script->
data);
119 size_t config_len = 0;
120 config_len = strlen(
config);
121 char *new_config =
new char[config_len + add_len + 2];
122 strcpy(new_config,
config);
123 strcat(new_config,script->
data);
124 strcat(new_config,
"\n");
128 FILE *infile = fopen(script->
data,
"r");
131 sprintf(errmsg,
"Error trying to read file %s!\n",script->
data);
134 fseek(infile,0,SEEK_END);
135 size_t add_len = ftell(infile);
136 size_t config_len = 0;
137 config_len = strlen(
config);
138 char *new_config =
new char[config_len + add_len + 3];
139 strcpy(new_config,
config);
142 new_config += config_len;
144 fread(new_config,
sizeof(
char),add_len,infile);
145 new_config += add_len;
146 new_config[0] =
'\n';
147 new_config[1] =
'\0';
154 void GlobalMasterEasy::calculate() {
173 CkPrintf(
"Default GlobalMasterEasy::easy_init() called.\n");
177 CkPrintf(
"Default GlobalMasterEasy::easy_calc() called.\n");
virtual ~GlobalMasterEasy()
ForceList & modifyAppliedForces()
AtomIDList & modifyRequestedAtoms()
int getPosition(int atomid, Position &position)
double getMass(int atomid)
int get_residue_size(const char *segid, int resid) const
AtomIDList::const_iterator getAtomIdBegin()
int getAtomID(const char *segid, int resid, const char *aname)
int addForce(int atomid, Force force)
int add(const Elem &elem)
PositionList::const_iterator getAtomPositionBegin()
BigRealList::const_iterator getGroupMassEnd()
void setall(const Elem &elem)
GlobalMasterEasy(const char *the_config_name)
int getNumAtoms(const char *segid, int resid)
int get_atom_from_name(const char *segid, int resid, const char *aname) const
const AtomID * const_iterator
int requestAtom(int atomid)
AtomIDList & modifyForcedAtoms()
void NAMD_die(const char *err_msg)
BigRealList::const_iterator getGroupMassBegin()
ForceList & modifyGroupForces()
Real atommass(int anum) const
virtual void easy_init(const char *)
AtomIDList::const_iterator getAtomIdEnd()
int get_atom_from_index_in_residue(const char *segid, int resid, int index) const
void addReductionEnergy(int reductionTag, BigReal energy)
virtual void easy_calc(void)
StringList * find(const char *name) const