15 inline void dump_param(FILE *file, 
const char *name, 
int value) {
    16   fprintf(file,
"%s %d\n",name,value);
    19 inline void dump_param(FILE *file, 
const char *name, 
double value) {
    20   fprintf(file,
"%s %g\n",name,value);
    24   fprintf(file,
"%s %f %f %f\n",name,value.
x,value.
y,value.
z);
    31   fprintf(file,
"SIMPARAMETERS_BEGIN\n");
    35 #define SIMPARAM(T,N,V) dump_param(file,#N,simParams->N)    39   fprintf(file,
"SIMPARAMETERS_END\n");
    41   fprintf(file,
"LJTABLE_BEGIN\n");
    46   fprintf(file,
"%d\n",table_dim);
    50   for ( i=0; i < table_dim; ++i) {
    51     for ( j=i; j < table_dim; ++j)
    54       fprintf(file,
"%g %g %g %g\n",curij->
A,curij->
B,
    55                                 (curij+1)->A,(curij+1)->B);
    59   fprintf(file,
"LJTABLE_END\n");
    61   fprintf(file,
"MOLECULE_BEGIN\n");
    69     #ifdef MEM_OPT_VERSION    70     Index exclIdx = mol->getAtomExclSigId(i);
    76     int min = i+excl->
min;
    77     int max = i+excl->
max;
    88     fprintf(file,
"%d %d %d",vdw,min,max);
    90       int s = max - min + 1;
    91       const char *f = excl->
flags;
    92       for ( 
int k=0; k<s; ++k ) {
    94         fprintf(file,
" %d",fk);
   100   fprintf(file,
"MOLECULE_END\n");
   103   fprintf(file, 
"BONDS_BEGIN\n");
   105 #ifdef MEM_OPT_VERSION   107       int sigId = node->
molecule->getAtomSigId(i);
   110           fprintf(file, 
"%d: ===\n", i);
   113       fprintf(file, 
"%d:", i);
   123           fprintf(file, 
"%d: ===\n", i);
   126       fprintf(file, 
"%d:", i);
   134   fprintf(file, 
"BONDS_END\n");
   136   fprintf(file, 
"ANGLES_BEGIN\n");
   138 #ifdef MEM_OPT_VERSION   140       int sigId = node->
molecule->getAtomSigId(i);
   143           fprintf(file, 
"%d: ===\n", i);
   146       fprintf(file, 
"%d:", i);
   148           int offset0 = (sig->
angleSigs[j]).offset[0];
   149           int offset1 = (sig->
angleSigs[j]).offset[1];
   158           fprintf(file, 
"%d: ===\n", i);
   161       fprintf(file, 
"%d:", i);
   164           int offset0 = t->
atom2 - i;
   165           int offset1 = t->
atom3 - i;
   166           fprintf(file, 
" (%d, %d | %d)", offset0, offset1, t->
angle_type);
   171   fprintf(file, 
"ANGLES_END\n");
   173   fprintf(file, 
"DIHEDRALS_BEGIN\n");
   175 #ifdef MEM_OPT_VERSION   177       int sigId = node->
molecule->getAtomSigId(i);
   180           fprintf(file, 
"%d: ===\n", i);
   183       fprintf(file, 
"%d:", i);
   196           fprintf(file, 
"%d: ===\n", i);
   199       fprintf(file, 
"%d:", i);
   202           int offset0 = t->
atom2 - i;
   203           int offset1 = t->
atom3 - i;
   204           int offset2 = t->
atom4 - i;
   205           fprintf(file, 
" (%d, %d, %d | %d)", offset0, offset1, offset2, t->
dihedral_type);
   210   fprintf(file, 
"DIHEDRALS_END\n");
   212   fprintf(file, 
"IMPROPERS_BEGIN\n");
   214 #ifdef MEM_OPT_VERSION   216       int sigId = node->
molecule->getAtomSigId(i);
   219           fprintf(file, 
"%d: ===\n", i);
   222       fprintf(file, 
"%d:", i);
   235           fprintf(file, 
"%d: ===\n", i);
   238       fprintf(file, 
"%d:", i);
   241           int offset0 = t->
atom2 - i;
   242           int offset1 = t->
atom3 - i;
   243           int offset2 = t->
atom4 - i;
   244           fprintf(file, 
" (%d, %d, %d | %d)", offset0, offset1, offset2, t->
improper_type);
   249   fprintf(file, 
"IMPROPERS_END\n");
   252   fprintf(file,
"PATCHLIST_BEGIN\n");
   256   fprintf(file,
"%d\n",numPatches);
   258   for ( i=0; i<numPatches; ++i) {
   260     fprintf(file,
"PATCH_BEGIN\n");
   262     fprintf(file,
"%d\n",numAtoms);
   264     for ( j=0; j<numAtoms; ++j) {
   267       int id,hgs,ngia,af,gf,part;
   278       fprintf(file,
"%f %f %f %f %d %d %d %d %d %d\n",
   279         x,y,z,q,
id,hgs,ngia,af,gf,part);
   281     fprintf(file,
"PATCH_END\n");
   284   fprintf(file,
"PATCHLIST_END\n");
   286   fprintf(file,
"COMPUTEPAIR_BEGIN\n");
   290   int numPairComputes = 0;
   291   for ( i=0; i<numComputes; ++i) {
   293          && computeMap->
partition(i) == 0 ) ++numPairComputes;
   295   fprintf(file,
"%d\n",numPairComputes);
   296   for ( i=0; i<numComputes; ++i) {
   299       int pid1 = computeMap->
pid(i,0);
   300       int trans1 = computeMap->
trans(i,0);
   301       int pid2 = computeMap->
pid(i,1);
   302       int trans2 = computeMap->
trans(i,1);
   303       fprintf(file,
"%d %d %d %d\n",pid1,trans1,pid2,trans2);
   307   fprintf(file,
"COMPUTEPAIR_END\n");
 
int32 * get_dihedrals_for_atom(int anum)
 
static PatchMap * Object()
 
TupleSignature * improperSigs
 
SimParameters * simParameters
 
TupleSignature * dihedralSigs
 
const TableEntry * get_table() const
 
HomePatch * homePatch(PatchID pid)
 
Dihedral * get_dihedral(int dnum) const
 
const ExclusionCheck * get_excl_check_for_atom(int anum) const
 
Molecule stores the structural information for the system. 
 
int32 * get_angles_for_atom(int anum)
 
Angle * get_angle(int anum) const
 
FullAtomList & getAtomList()
 
int numPatches(void) const
 
int32 * get_impropers_for_atom(int anum)
 
ComputeType type(ComputeID cid)
 
Index atomvdwtype(int anum) const
 
int get_table_dim() const
 
int32 * get_bonds_for_atom(int anum)
 
TupleSignature * bondSigs
 
int partition(ComputeID cid)
 
static ComputeMap * Object()
 
static const LJTable * ljTable
 
int dumpbench(FILE *file)
 
int pid(ComputeID cid, int i)
 
Bond * get_bond(int bnum) const
 
int trans(ComputeID cid, int i)
 
TupleSignature * angleSigs
 
void dump_param(FILE *file, const char *name, int value)
 
Improper * get_improper(int inum) const