STORMM Source Documentation
|
Object to track how different valence terms in a topology are delegated. Valence work units may evaluate a valence term without being responsible for moving both atoms, or even for moving any of the atoms at all. Each valence term is only fully delegated once valence work units that evaluate it are responsible for moving all atoms that the valence term contains. In order for a work unit to move any atom, it must evaluate all valence terms that include that atom. More...
#include <valence_workunit.h>
Public Member Functions | |
ValenceDelegator (const AtomGraph *ag_in, const RestraintApparatus *ra_in=nullptr) | |
The object is constructed based on a single topology and oversees the construction of an array of valence work units. | |
int | getAtomAssignmentCount (int atom_index) const |
Get the number of work units to which a particular atom is (currently) assigned. | |
int | getFirstUnassignedAtom () const |
Get the index of the first unassigned atom in the topology. | |
std::vector< int > | getBondAffectors (const std::vector< int > &atom_indices) const |
Get a list of bonds affecting a given list of atoms. The result is returned (pruned for unique items) as a series of term indices referencing the original topology. | |
std::vector< int > | getAngleAffectors (const std::vector< int > &atom_indices) const |
Get a list of harmonic angle terms affecting a given list of atoms. The result is returned (pruned for unique items) as a series of term indices referencing the original topology. | |
std::vector< int > | getDihedralAffectors (const std::vector< int > &atom_indices) const |
Get a list of cosine-based dihedrals affecting a given list of atoms. The result is returned (pruned for unique items) as a series of term indices referencing the original topology. | |
std::vector< int > | getUreyBradleyAffectors (const std::vector< int > &atom_indices) const |
Get a list of Urey-Bradley harmonic angles affecting a given list of atoms. The result is returned (pruned for unique items) as a series of term indices referencing the original topology. | |
std::vector< int > | getCharmmImproperAffectors (const std::vector< int > &atom_indices) const |
Get a list of CHARMM improper dihedral terms affecting a given list of atoms. The result is returned (pruned for unique items) as a series of term indices referencing the original topology. | |
std::vector< int > | getCmapAffectors (const std::vector< int > &atom_indices) const |
Get a list of CMAP terms affecting a given list of atoms. The result is returned (pruned for unique items) as a series of term indices referencing the original topology. | |
std::vector< int > | getInferred14Affectors (const std::vector< int > &atom_indices) const |
Get a list of inferred 1:4 attenuated non-bonded interactions affecting a given list of atoms. The result is returned (pruned for unique items) as a series of term indices referencing the original topology. | |
std::vector< int > | getPositionalRestraintAffectors (const std::vector< int > &atom_indices) const |
Get a list of positional restraints affecting a given list of atoms. The result is returned (pruned for unique items) as a series of term indices referencing the original topology. | |
std::vector< int > | getDistanceRestraintAffectors (const std::vector< int > &atom_indices) const |
Get a list of distance restraints affecting a given list of atoms. The result is returned (pruned for unique items) as a series of term indices referencing the original topology. | |
std::vector< int > | getAngleRestraintAffectors (const std::vector< int > &atom_indices) const |
Get a list of three-point angle restraints affecting a given list of atoms. The result is returned (pruned for unique items) as a series of term indices referencing the original topology. | |
std::vector< int > | getDihedralRestraintAffectors (const std::vector< int > &atom_indices) const |
Get a list of four-point dihedral angle restraints affecting a given list of atoms. The result is returned (pruned for unique items) as a series of term indices referencing the original topology. | |
std::vector< int > | getVirtualSiteAffectors (const std::vector< int > &atom_indices) const |
Get a list of virtual site frames affecting a given list of atoms. The result is returned (pruned for unique items) as a series of term indices referencing the original topology. | |
std::vector< int > | getSettleGroupAffectors (const std::vector< int > &atom_indices) const |
Get a list of SETTLE (fast, rigid water) constraint groups affecting a given list of atoms. The result is returned (pruned for unique items) as a series of term indices referencing the original topology. | |
std::vector< int > | getConstraintGroupAffectors (const std::vector< int > &atom_indices) const |
Get a list of hub-and-spoke constraint groups affecting a given list of atoms. The result is returned (pruned for unique items) as a series of term indices referencing the original topology. | |
std::vector< int > | findMovementPartners (int atom_idx, const std::vector< int > &caller_stack={}) const |
Find all partners of a given atom such that the work unit will be able to correctly move the atom. This implies all other participants in any constraint group that includes the atom, or (if the atom is a virtual site) all frame atoms and any constraint groups which they participate in. The returned list provides indices of atoms as they are found in the original topology. It is pruned to remove duplicates. | |
std::vector< int > | findForcePartners (int atom_idx, const std::vector< int > &caller_stack={}) const |
Find all partners of a given atom such that the work unit will be able to correctly evaluate the force need to move the atom. This implies other atoms that participate in any valence terms, inferred 1:4 interactions, or restraints involving the atom, as well as other atoms which participate in a virtual site frame with which the atom of interest is involved. If the atom of interest is one of the frame atoms to a virtual site, the relevant atoms also include any atoms involved in valence interactions (i.e. inferred non-bonded 1:4 interactions) with the virtual site itself. | |
std::vector< int > | getUpdateDependencies (const int atom_index) const |
Accumulate a list of all atoms which have bearing on the way that a particular atom shall move. This routine will loop over the ValenceDelgator's bounded arrays for valence terms, restraints, virtual sites, and various constraint groups to determine any other atoms that must move, and any atoms which can contribute forces. | |
int | getUpdateWorkUnit (int atom_index) const |
Get the work unit currently assigned to update an atom's position and velocity. The value of -1 signifies that no work unit has yet been assigned to handle the atom. | |
int | getBondAccumulatorWorkUnit (const int bond_index) const |
Get the work unit currently assigned to contribute a particular bond term's energy into the global accumulator. | |
int | getAngleAccumulatorWorkUnit (const int angl_index) const |
Get the work unit currently assigned to contribute a particular harmonic angle term's energy into the global accumulator. | |
int | getDihedralAccumulatorWorkUnit (const int dihe_index) const |
Get the work unit currently assigned to contribute a particular cosine-based dihedral term's energy into the global accumulator. | |
int | getUreyBradleyAccumulatorWorkUnit (const int ubrd_index) const |
Get the work unit currently assigned to contribute a particular Urey-Bradley term's energy into the global accumulator. | |
int | getCharmmImproperAccumulatorWorkUnit (const int cimp_index) const |
Get the work unit currently assigned to contribute a particular CHARMM improper dihedral term's energy into the global accumulator. | |
int | getCmapAccumulatorWorkUnit (const int cmap_index) const |
Get the work unit currently assigned to contribute a particular CMAP term's energy into the global accumulator. | |
int | getInferred14AccumulatorWorkUnit (const int infr14_index) const |
Get the work unit currently assigned to contribute a particular inferred 1:4 attenuated pair interaction energy into the global accumulator. | |
int | getPositionalRestraintAccumulatorWorkUnit (const int rposn_index) const |
Get the work unit currently assigned to contribute a particular positional restraint penalty energy into the global accumulator. | |
int | getDistanceRestraintAccumulatorWorkUnit (const int rbond_index) const |
Get the work unit currently assigned to contribute a particular distance restraint penalty energy into the global accumulator. | |
int | getAngleRestraintAccumulatorWorkUnit (const int rangl_index) const |
Get the work unit currently assigned to contribute a particular three-point angle restraint penalty energy into the global accumulator. | |
int | getDihedralRestraintAccumulatorWorkUnit (const int rdihe_index) const |
Get the work unit currently assigned to contribute a particular four-point dihedral restraint penalty energy into the global accumulator. | |
const AtomGraph * | getTopologyPointer () const |
Get a pointer to the topology that this delegator was built for. | |
const RestraintApparatus * | getRestraintApparatusPointer () const |
Get a pointer to the topology that this delegator was built for. | |
bool | checkPresence (int atom_index, int vwu_index) const |
Check that an atom is present in a particular work unit. | |
void | markAtomAddition (int vwu_index, int atom_index) |
Mark the addition of an atom to a specific ValenceWorkUnit. | |
bool | setUpdateWorkUnit (int atom_index, int vwu_index) |
Mark the updates (position, velocity) of a particular atom in the topology as the responsibility of a particular work unit in the list. Returns TRUE if the assignment is successful, or FALSE if the assignment has already been made to some work unit. | |
bool | setBondAccumulatorWorkUnit (int bond_index, int vwu_index) |
Mark the work unit that will accumulate the potential due to a specific bond interaction. Returns TRUE if the assignment is successful, FALSE if the assignment has already been made to some other work unit. | |
bool | setAngleAccumulatorWorkUnit (int angl_index, int vwu_index) |
Mark the work unit that will accumulate the potential due to a specific harmonic angle interaction. Returns TRUE if the assignment is successful, FALSE if the assignment has already been made to some other work unit. | |
bool | setDihedralAccumulatorWorkUnit (int dihe_index, int vwu_index) |
Mark the work unit that will accumulate the potential due to a specific cosine-based dihedral interaction. Returns TRUE if the assignment is successful, FALSE if the assignment has already been made to some other work unit. | |
bool | setUreyBradleyAccumulatorWorkUnit (int ubrd_index, int vwu_index) |
Mark the work unit that will accumulate the potential due to a specific Urey-Bradley interaction. Returns TRUE if the assignment is successful, FALSE if the assignment has already been made to some other work unit. | |
bool | setCharmmImproperAccumulatorWorkUnit (int cimp_index, int vwu_index) |
Mark the work unit that will accumulate the potential due to a specific CHARMM improper dihedral interaction. Returns TRUE if the assignment is successful, FALSE if the assignment has already been made to some other work unit. | |
bool | setCmapAccumulatorWorkUnit (int cmap_index, int vwu_index) |
Mark the work unit that will accumulate the potential due to a specific CMAP splined surface interaction. Returns TRUE if the assignment is successful, FALSE if the assignment has already been made to some other work unit. | |
bool | setInferred14AccumulatorWorkUnit (int infr14_index, int vwu_index) |
Mark the work unit that will accumulate the potential due to a specific inferred 1:4 non-bonded, attenuated interaction. Returns TRUE if the assignment is successful, FALSE if the assignment has already been made to some other work unit. | |
bool | setPositionalRestraintAccumulatorWorkUnit (int rposn_index, int vwu_index) |
Mark the work unit that will accumulate the potential due to a positional restraint. Returns TRUE if the assignment is successful, FALSE if the assignment has already been made to some other work unit. | |
bool | setDistanceRestraintAccumulatorWorkUnit (int rbond_index, int vwu_index) |
Mark the work unit that will accumulate the potential due to a distance restraint. Returns TRUE if the assignment is successful, FALSE if the assignment has already been made to some other work unit. | |
bool | setAngleRestraintAccumulatorWorkUnit (int rangl_index, int vwu_index) |
Mark the work unit that will accumulate the potential due to a three-point angle restraint. Returns TRUE if the assignment is successful, FALSE if the assignment has already been made to some other work unit. | |
bool | setDihedralRestraintAccumulatorWorkUnit (int rdihe_index, int vwu_index) |
Mark the work unit that will accumulate the potential due to a four-point dihedral restraint. Returns TRUE if the assignment is successful, FALSE if the assignment has already been made to some other work unit. | |
Object to track how different valence terms in a topology are delegated. Valence work units may evaluate a valence term without being responsible for moving both atoms, or even for moving any of the atoms at all. Each valence term is only fully delegated once valence work units that evaluate it are responsible for moving all atoms that the valence term contains. In order for a work unit to move any atom, it must evaluate all valence terms that include that atom.
stormm::synthesis::ValenceDelegator::ValenceDelegator | ( | const AtomGraph * | ag_in, |
const RestraintApparatus * | ra_in = nullptr ) |
The object is constructed based on a single topology and oversees the construction of an array of valence work units.
ag_in | Pointer to the topology containing valence terms to delegate among work units |
ra_in | Pointer to the complete collection of restraints applicable to the system |
bool stormm::synthesis::ValenceDelegator::checkPresence | ( | int | atom_index, |
int | vwu_index ) const |
Check that an atom is present in a particular work unit.
atom_index | The topological index of the atom of interest |
vwu_index | Index of the ValenceWorkUnit in a list that this delegator is managing |
std::vector< int > stormm::synthesis::ValenceDelegator::findForcePartners | ( | int | atom_idx, |
const std::vector< int > & | caller_stack = {} ) const |
Find all partners of a given atom such that the work unit will be able to correctly evaluate the force need to move the atom. This implies other atoms that participate in any valence terms, inferred 1:4 interactions, or restraints involving the atom, as well as other atoms which participate in a virtual site frame with which the atom of interest is involved. If the atom of interest is one of the frame atoms to a virtual site, the relevant atoms also include any atoms involved in valence interactions (i.e. inferred non-bonded 1:4 interactions) with the virtual site itself.
atom_idx | Topological index of the atom of interest |
caller_stack | Cumulative stack indicaing previous recursive calls. If this gets too long, it will trigger a runtime error. |
std::vector< int > stormm::synthesis::ValenceDelegator::findMovementPartners | ( | int | atom_idx, |
const std::vector< int > & | caller_stack = {} ) const |
Find all partners of a given atom such that the work unit will be able to correctly move the atom. This implies all other participants in any constraint group that includes the atom, or (if the atom is a virtual site) all frame atoms and any constraint groups which they participate in. The returned list provides indices of atoms as they are found in the original topology. It is pruned to remove duplicates.
atom_idx | Topological index of the atom of interest |
caller_stack | Cumulative stack indicaing previous recursive calls. If this gets too long, it will trigger a runtime error. |
int stormm::synthesis::ValenceDelegator::getAngleAccumulatorWorkUnit | ( | const int | angl_index | ) | const |
Get the work unit currently assigned to contribute a particular harmonic angle term's energy into the global accumulator.
angl_index | Topological index of the angle term of interest |
std::vector< int > stormm::synthesis::ValenceDelegator::getAngleAffectors | ( | const std::vector< int > & | atom_indices | ) | const |
Get a list of harmonic angle terms affecting a given list of atoms. The result is returned (pruned for unique items) as a series of term indices referencing the original topology.
atom_indices | Topological indices of the atoms of interest |
int stormm::synthesis::ValenceDelegator::getAngleRestraintAccumulatorWorkUnit | ( | const int | rangl_index | ) | const |
Get the work unit currently assigned to contribute a particular three-point angle restraint penalty energy into the global accumulator.
rangl_index | Index of the three-point angle restraint in the restraint apparatus |
std::vector< int > stormm::synthesis::ValenceDelegator::getAngleRestraintAffectors | ( | const std::vector< int > & | atom_indices | ) | const |
Get a list of three-point angle restraints affecting a given list of atoms. The result is returned (pruned for unique items) as a series of term indices referencing the original topology.
atom_indices | Topological indices of the atoms of interest |
int stormm::synthesis::ValenceDelegator::getAtomAssignmentCount | ( | int | atom_index | ) | const |
Get the number of work units to which a particular atom is (currently) assigned.
atom_index | The atom of interest, as indexed in the original topology |
int stormm::synthesis::ValenceDelegator::getBondAccumulatorWorkUnit | ( | const int | bond_index | ) | const |
Get the work unit currently assigned to contribute a particular bond term's energy into the global accumulator.
bond_index | Topological index of the bond term of interest |
std::vector< int > stormm::synthesis::ValenceDelegator::getBondAffectors | ( | const std::vector< int > & | atom_indices | ) | const |
Get a list of bonds affecting a given list of atoms. The result is returned (pruned for unique items) as a series of term indices referencing the original topology.
atom_indices | Topological indices of the atoms of interest |
int stormm::synthesis::ValenceDelegator::getCharmmImproperAccumulatorWorkUnit | ( | const int | cimp_index | ) | const |
Get the work unit currently assigned to contribute a particular CHARMM improper dihedral term's energy into the global accumulator.
cimp_index | Topological index of the CHARMM improper term of interest |
std::vector< int > stormm::synthesis::ValenceDelegator::getCharmmImproperAffectors | ( | const std::vector< int > & | atom_indices | ) | const |
Get a list of CHARMM improper dihedral terms affecting a given list of atoms. The result is returned (pruned for unique items) as a series of term indices referencing the original topology.
atom_indices | Topological indices of the atoms of interest |
int stormm::synthesis::ValenceDelegator::getCmapAccumulatorWorkUnit | ( | const int | cmap_index | ) | const |
Get the work unit currently assigned to contribute a particular CMAP term's energy into the global accumulator.
cmap_index | Topological index of the CMAP surface term of interest |
std::vector< int > stormm::synthesis::ValenceDelegator::getCmapAffectors | ( | const std::vector< int > & | atom_indices | ) | const |
Get a list of CMAP terms affecting a given list of atoms. The result is returned (pruned for unique items) as a series of term indices referencing the original topology.
atom_indices | Topological indices of the atoms of interest |
std::vector< int > stormm::synthesis::ValenceDelegator::getConstraintGroupAffectors | ( | const std::vector< int > & | atom_indices | ) | const |
Get a list of hub-and-spoke constraint groups affecting a given list of atoms. The result is returned (pruned for unique items) as a series of term indices referencing the original topology.
atom_indices | Topological indices of the atoms of interest |
int stormm::synthesis::ValenceDelegator::getDihedralAccumulatorWorkUnit | ( | const int | dihe_index | ) | const |
Get the work unit currently assigned to contribute a particular cosine-based dihedral term's energy into the global accumulator.
dihe_index | Topological index of the cosine-based dihedral term of interest |
std::vector< int > stormm::synthesis::ValenceDelegator::getDihedralAffectors | ( | const std::vector< int > & | atom_indices | ) | const |
Get a list of cosine-based dihedrals affecting a given list of atoms. The result is returned (pruned for unique items) as a series of term indices referencing the original topology.
atom_indices | Topological indices of the atoms of interest |
int stormm::synthesis::ValenceDelegator::getDihedralRestraintAccumulatorWorkUnit | ( | const int | rdihe_index | ) | const |
Get the work unit currently assigned to contribute a particular four-point dihedral restraint penalty energy into the global accumulator.
rdihe_index | Index of the four-point dihedral restraint in the restraint apparatus |
std::vector< int > stormm::synthesis::ValenceDelegator::getDihedralRestraintAffectors | ( | const std::vector< int > & | atom_indices | ) | const |
Get a list of four-point dihedral angle restraints affecting a given list of atoms. The result is returned (pruned for unique items) as a series of term indices referencing the original topology.
atom_indices | Topological indices of the atoms of interest |
int stormm::synthesis::ValenceDelegator::getDistanceRestraintAccumulatorWorkUnit | ( | const int | rbond_index | ) | const |
Get the work unit currently assigned to contribute a particular distance restraint penalty energy into the global accumulator.
rbond_index | Index of the distance restraint in the restraint apparatus |
std::vector< int > stormm::synthesis::ValenceDelegator::getDistanceRestraintAffectors | ( | const std::vector< int > & | atom_indices | ) | const |
Get a list of distance restraints affecting a given list of atoms. The result is returned (pruned for unique items) as a series of term indices referencing the original topology.
atom_indices | Topological indices of the atoms of interest |
int stormm::synthesis::ValenceDelegator::getInferred14AccumulatorWorkUnit | ( | const int | infr14_index | ) | const |
Get the work unit currently assigned to contribute a particular inferred 1:4 attenuated pair interaction energy into the global accumulator.
infr14_index | Topological index of the inferred 1:4 interaction of interest |
std::vector< int > stormm::synthesis::ValenceDelegator::getInferred14Affectors | ( | const std::vector< int > & | atom_indices | ) | const |
Get a list of inferred 1:4 attenuated non-bonded interactions affecting a given list of atoms. The result is returned (pruned for unique items) as a series of term indices referencing the original topology.
atom_indices | Topological indices of the atoms of interest |
int stormm::synthesis::ValenceDelegator::getPositionalRestraintAccumulatorWorkUnit | ( | const int | rposn_index | ) | const |
Get the work unit currently assigned to contribute a particular positional restraint penalty energy into the global accumulator.
rposn_index | Index of the positional restraint in the restraint apparatus |
std::vector< int > stormm::synthesis::ValenceDelegator::getPositionalRestraintAffectors | ( | const std::vector< int > & | atom_indices | ) | const |
Get a list of positional restraints affecting a given list of atoms. The result is returned (pruned for unique items) as a series of term indices referencing the original topology.
atom_indices | Topological indices of the atoms of interest |
std::vector< int > stormm::synthesis::ValenceDelegator::getSettleGroupAffectors | ( | const std::vector< int > & | atom_indices | ) | const |
Get a list of SETTLE (fast, rigid water) constraint groups affecting a given list of atoms. The result is returned (pruned for unique items) as a series of term indices referencing the original topology.
atom_indices | Topological indices of the atoms of interest |
std::vector< int > stormm::synthesis::ValenceDelegator::getUpdateDependencies | ( | const int | atom_index | ) | const |
Accumulate a list of all atoms which have bearing on the way that a particular atom shall move. This routine will loop over the ValenceDelgator's bounded arrays for valence terms, restraints, virtual sites, and various constraint groups to determine any other atoms that must move, and any atoms which can contribute forces.
atom_index | Topological index of the atom in question |
int stormm::synthesis::ValenceDelegator::getUpdateWorkUnit | ( | int | atom_index | ) | const |
Get the work unit currently assigned to update an atom's position and velocity. The value of -1 signifies that no work unit has yet been assigned to handle the atom.
atom_index | Topological index of the atom of interest |
int stormm::synthesis::ValenceDelegator::getUreyBradleyAccumulatorWorkUnit | ( | const int | ubrd_index | ) | const |
Get the work unit currently assigned to contribute a particular Urey-Bradley term's energy into the global accumulator.
ubrd_index | Topological index of the Urey-Bradley term of interest |
std::vector< int > stormm::synthesis::ValenceDelegator::getUreyBradleyAffectors | ( | const std::vector< int > & | atom_indices | ) | const |
Get a list of Urey-Bradley harmonic angles affecting a given list of atoms. The result is returned (pruned for unique items) as a series of term indices referencing the original topology.
atom_indices | Topological indices of the atoms of interest |
std::vector< int > stormm::synthesis::ValenceDelegator::getVirtualSiteAffectors | ( | const std::vector< int > & | atom_indices | ) | const |
Get a list of virtual site frames affecting a given list of atoms. The result is returned (pruned for unique items) as a series of term indices referencing the original topology.
atom_indices | Topological indices of the atoms of interest |
void stormm::synthesis::ValenceDelegator::markAtomAddition | ( | int | vwu_index, |
int | atom_index ) |
Mark the addition of an atom to a specific ValenceWorkUnit.
vwu_index | Index of the ValenceWorkUnit receiving the new atom |
atom_index | Index of the atom to add, referencing the original topology |
bool stormm::synthesis::ValenceDelegator::setAngleAccumulatorWorkUnit | ( | int | angl_index, |
int | vwu_index ) |
Mark the work unit that will accumulate the potential due to a specific harmonic angle interaction. Returns TRUE if the assignment is successful, FALSE if the assignment has already been made to some other work unit.
angl_index | The topological index of the harmonic angle term of interest |
vwu_index | Index of the ValenceWorkUnit in a list that this delegator is managing |
bool stormm::synthesis::ValenceDelegator::setAngleRestraintAccumulatorWorkUnit | ( | int | rangl_index, |
int | vwu_index ) |
Mark the work unit that will accumulate the potential due to a three-point angle restraint. Returns TRUE if the assignment is successful, FALSE if the assignment has already been made to some other work unit.
rangl_index | The restraint apparatus index of the restraint of interest |
vwu_index | Index of the ValenceWorkUnit in a list that this delegator is managing |
bool stormm::synthesis::ValenceDelegator::setBondAccumulatorWorkUnit | ( | int | bond_index, |
int | vwu_index ) |
Mark the work unit that will accumulate the potential due to a specific bond interaction. Returns TRUE if the assignment is successful, FALSE if the assignment has already been made to some other work unit.
bond_index | The topological index of the bond term of interest |
vwu_index | Index of the ValenceWorkUnit in a list that this delegator is managing |
bool stormm::synthesis::ValenceDelegator::setCharmmImproperAccumulatorWorkUnit | ( | int | cimp_index, |
int | vwu_index ) |
Mark the work unit that will accumulate the potential due to a specific CHARMM improper dihedral interaction. Returns TRUE if the assignment is successful, FALSE if the assignment has already been made to some other work unit.
cimp_index | The topological index of the CHARMM improper dihedral term of interest |
vwu_index | Index of the ValenceWorkUnit in a list that this delegator is managing |
bool stormm::synthesis::ValenceDelegator::setCmapAccumulatorWorkUnit | ( | int | cmap_index, |
int | vwu_index ) |
Mark the work unit that will accumulate the potential due to a specific CMAP splined surface interaction. Returns TRUE if the assignment is successful, FALSE if the assignment has already been made to some other work unit.
cmap_index | The topological index of the CMAP term of interest |
vwu_index | Index of the ValenceWorkUnit in a list that this delegator is managing |
bool stormm::synthesis::ValenceDelegator::setDihedralAccumulatorWorkUnit | ( | int | dihe_index, |
int | vwu_index ) |
Mark the work unit that will accumulate the potential due to a specific cosine-based dihedral interaction. Returns TRUE if the assignment is successful, FALSE if the assignment has already been made to some other work unit.
dihe_index | The topological index of the dihedral term of interest |
vwu_index | Index of the ValenceWorkUnit in a list that this delegator is managing |
bool stormm::synthesis::ValenceDelegator::setDihedralRestraintAccumulatorWorkUnit | ( | int | rdihe_index, |
int | vwu_index ) |
Mark the work unit that will accumulate the potential due to a four-point dihedral restraint. Returns TRUE if the assignment is successful, FALSE if the assignment has already been made to some other work unit.
rdihe_index | The restraint apparatus index of the restraint of interest |
vwu_index | Index of the ValenceWorkUnit in a list that this delegator is managing |
bool stormm::synthesis::ValenceDelegator::setDistanceRestraintAccumulatorWorkUnit | ( | int | rbond_index, |
int | vwu_index ) |
Mark the work unit that will accumulate the potential due to a distance restraint. Returns TRUE if the assignment is successful, FALSE if the assignment has already been made to some other work unit.
rbond_index | The restraint apparatus index of the restraint of interest |
vwu_index | Index of the ValenceWorkUnit in a list that this delegator is managing |
bool stormm::synthesis::ValenceDelegator::setInferred14AccumulatorWorkUnit | ( | int | infr14_index, |
int | vwu_index ) |
Mark the work unit that will accumulate the potential due to a specific inferred 1:4 non-bonded, attenuated interaction. Returns TRUE if the assignment is successful, FALSE if the assignment has already been made to some other work unit.
infr14_index | The topological index of the CMAP term of interest |
vwu_index | Index of the ValenceWorkUnit in a list that this delegator is managing |
bool stormm::synthesis::ValenceDelegator::setPositionalRestraintAccumulatorWorkUnit | ( | int | rposn_index, |
int | vwu_index ) |
Mark the work unit that will accumulate the potential due to a positional restraint. Returns TRUE if the assignment is successful, FALSE if the assignment has already been made to some other work unit.
rposn_index | The restraint apparatus index of the restraint of interest |
vwu_index | Index of the ValenceWorkUnit in a list that this delegator is managing |
bool stormm::synthesis::ValenceDelegator::setUpdateWorkUnit | ( | int | atom_index, |
int | vwu_index ) |
Mark the updates (position, velocity) of a particular atom in the topology as the responsibility of a particular work unit in the list. Returns TRUE if the assignment is successful, or FALSE if the assignment has already been made to some work unit.
atom_index | The topological index of the atom of interest |
vwu_index | Index of the ValenceWorkUnit in a list that this delegator is managing |
bool stormm::synthesis::ValenceDelegator::setUreyBradleyAccumulatorWorkUnit | ( | int | ubrd_index, |
int | vwu_index ) |
Mark the work unit that will accumulate the potential due to a specific Urey-Bradley interaction. Returns TRUE if the assignment is successful, FALSE if the assignment has already been made to some other work unit.
ubrd_index | The topological index of the Urey-Bradley term of interest |
vwu_index | Index of the ValenceWorkUnit in a list that this delegator is managing |