| version 1.1260 | version 1.1261 |
|---|
| |
| UniqueSet<Exclusion> fepExclusionSet; | UniqueSet<Exclusion> fepExclusionSet; |
| UniqueSetIter<Exclusion> exclIter(exclusionSet); | UniqueSetIter<Exclusion> exclIter(exclusionSet); |
| | |
| if ( simParams->alchFepOn || simParams->alchThermIntOn || simParams->lesOn ) { | if ( simParams->alchOn || simParams->lesOn ) { |
| for ( exclIter=exclIter.begin(); exclIter != exclIter.end(); exclIter++ ) | for ( exclIter=exclIter.begin(); exclIter != exclIter.end(); exclIter++ ) |
| { | { |
| int t1 = get_fep_type(exclIter->atom1); | int t1 = get_fep_type(exclIter->atom1); |
| |
| | |
| //fepb | //fepb |
| // send fep atom info | // send fep atom info |
| if (simParams->alchFepOn || simParams->alchThermIntOn || simParams->lesOn || simParams->pairInteractionOn) { | if (simParams->alchOn || simParams->lesOn || simParams->pairInteractionOn) { |
| msg->put(numFepInitial); | msg->put(numFepInitial); |
| msg->put(numFepFinal); | msg->put(numFepFinal); |
| msg->put(numAtoms*sizeof(char), (char*)fepAtomFlags); | msg->put(numAtoms*sizeof(char), (char*)fepAtomFlags); |
| |
| | |
| //fepb | //fepb |
| //receive fep atom info | //receive fep atom info |
| if (simParams->alchFepOn || simParams->lesOn || simParams->alchThermIntOn || simParams->pairInteractionOn) { | if (simParams->alchOn || simParams->lesOn || simParams->pairInteractionOn) { |
| delete [] fepAtomFlags; | delete [] fepAtomFlags; |
| fepAtomFlags = new unsigned char[numAtoms]; | fepAtomFlags = new unsigned char[numAtoms]; |
| | |
| |
| | |
| | |
| //Modifications for alchemical fep | //Modifications for alchemical fep |
| // | /* |
| // FUNCTION build_fep_flags | FUNCTION build_fep_flags |
| // | |
| // INPUTS: | |
| // alchfile - Value of alchfile read from config file | |
| // alchcol - Value of alch column, read from config file | |
| // initial_pdb - PDB object that contains the initial positions | |
| // cwd - current working directory | |
| // | |
| // This function builds the array of state values necessary | |
| // for FEP or TI. It takes the name of the PDB file and column in | |
| // the PDB file that contains the alch flag. It then builds | |
| // the array FepParams for use in the program. | |
| // | |
| // function doubles up for TI as well | |
| | |
| void Molecule::build_fep_flags(StringList *alchfile, | INPUTS: |
| StringList *alchcol, | alchfile - Value of alchfile read from config file |
| PDB *initial_pdb, | alchcol - Value of alch column, read from config file |
| char *cwd, const char *simmethod) | initial_pdb - PDB object that contains the initial positions |
| { | cwd - current working directory |
| | |
| | This function builds the array of state values necessary |
| | for FEP or TI. It takes the name of the PDB file and column in |
| | the PDB file that contains the alch flag. It then builds |
| | the array FepParams for use in the program. |
| | |
| | function doubles up for TI as well |
| | */ |
| | void Molecule::build_fep_flags(StringList *alchfile, StringList *alchcol, |
| | PDB *initial_pdb, char *cwd, |
| | const char *simmethod) { |
| PDB *bPDB; //Pointer to PDB object to use | PDB *bPDB; //Pointer to PDB object to use |
| int bcol = 5; //Column that the data is in | int bcol = 5; //Column that the data is in |
| Real bval = 0; //flag from PDB file | Real bval = 0; //flag from PDB file |
| int i; // loop counter | int i; // loop counter |
| char filename[129]; // filename | char filename[129]; // filename |
| | |
| | |
| // get the pdb object that contains the alch flags. | // get the pdb object that contains the alch flags. |
| // if the user gave another filename, use it, else | // if the user gave another filename, use it, else |
| // use the pdb file with the initial coordinates | // use the pdb file with the initial coordinates |
| |
| } | } |
| } | } |
| | |
| iout << iINFO << "To read " << simmethod << "data from file: " << filename << "\n" << endi; | iout << iINFO << "To read " << simmethod << "data from file: " << filename |
| iout << iINFO << "To read " << simmethod << "flag data from column: " << bcol << "\n" << endi; | << "\n" << endi; |
| | iout << iINFO << "To read " << simmethod << "flag data from column: " << bcol |
| | << "\n" << endi; |
| | |
| // Allocate the array to hold all the alch data | // Allocate the array to hold all the alch data |
| fepAtomFlags = new unsigned char[numAtoms]; | fepAtomFlags = new unsigned char[numAtoms]; |
| |
| } else { | } else { |
| fepAtomFlags[i] = 0; | fepAtomFlags[i] = 0; |
| } | } |
| } else if (simParams->alchFepOn || simParams->alchThermIntOn) { | } else if (simParams->alchOn) { |
| if (bval == 1.0) { | if (bval == 1.0) { |
| fepAtomFlags[i] = 1; | fepAtomFlags[i] = 1; |
| numFepFinal++; | numFepFinal++; |
| |
| if (alchfile != NULL) { | if (alchfile != NULL) { |
| delete bPDB; | delete bPDB; |
| } | } |
| | |
| } | } |
| // End of function build_fep_flags | // End of function build_fep_flags |
| | |