STORMM Source Documentation
Loading...
Searching...
No Matches
stormm::synthesis::ValenceDelegator Class Reference

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 AtomGraphgetTopologyPointer () const
 Get a pointer to the topology that this delegator was built for.
 
const RestraintApparatusgetRestraintApparatusPointer () 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.
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ ValenceDelegator()

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.

Parameters
ag_inPointer to the topology containing valence terms to delegate among work units
ra_inPointer to the complete collection of restraints applicable to the system

Member Function Documentation

◆ checkPresence()

bool stormm::synthesis::ValenceDelegator::checkPresence ( int atom_index,
int vwu_index ) const

Check that an atom is present in a particular work unit.

Parameters
atom_indexThe topological index of the atom of interest
vwu_indexIndex of the ValenceWorkUnit in a list that this delegator is managing

◆ findForcePartners()

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.

Parameters
atom_idxTopological index of the atom of interest
caller_stackCumulative stack indicaing previous recursive calls. If this gets too long, it will trigger a runtime error.

◆ findMovementPartners()

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.

Parameters
atom_idxTopological index of the atom of interest
caller_stackCumulative stack indicaing previous recursive calls. If this gets too long, it will trigger a runtime error.

◆ getAngleAccumulatorWorkUnit()

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.

Parameters
angl_indexTopological index of the angle term of interest

◆ getAngleAffectors()

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.

Parameters
atom_indicesTopological indices of the atoms of interest

◆ getAngleRestraintAccumulatorWorkUnit()

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.

Parameters
rangl_indexIndex of the three-point angle restraint in the restraint apparatus

◆ getAngleRestraintAffectors()

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.

Parameters
atom_indicesTopological indices of the atoms of interest

◆ getAtomAssignmentCount()

int stormm::synthesis::ValenceDelegator::getAtomAssignmentCount ( int atom_index) const

Get the number of work units to which a particular atom is (currently) assigned.

Parameters
atom_indexThe atom of interest, as indexed in the original topology

◆ getBondAccumulatorWorkUnit()

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.

Parameters
bond_indexTopological index of the bond term of interest

◆ getBondAffectors()

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.

Parameters
atom_indicesTopological indices of the atoms of interest

◆ getCharmmImproperAccumulatorWorkUnit()

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.

Parameters
cimp_indexTopological index of the CHARMM improper term of interest

◆ getCharmmImproperAffectors()

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.

Parameters
atom_indicesTopological indices of the atoms of interest

◆ getCmapAccumulatorWorkUnit()

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.

Parameters
cmap_indexTopological index of the CMAP surface term of interest

◆ getCmapAffectors()

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.

Parameters
atom_indicesTopological indices of the atoms of interest

◆ getConstraintGroupAffectors()

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.

Parameters
atom_indicesTopological indices of the atoms of interest

◆ getDihedralAccumulatorWorkUnit()

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.

Parameters
dihe_indexTopological index of the cosine-based dihedral term of interest

◆ getDihedralAffectors()

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.

Parameters
atom_indicesTopological indices of the atoms of interest

◆ getDihedralRestraintAccumulatorWorkUnit()

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.

Parameters
rdihe_indexIndex of the four-point dihedral restraint in the restraint apparatus

◆ getDihedralRestraintAffectors()

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.

Parameters
atom_indicesTopological indices of the atoms of interest

◆ getDistanceRestraintAccumulatorWorkUnit()

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.

Parameters
rbond_indexIndex of the distance restraint in the restraint apparatus

◆ getDistanceRestraintAffectors()

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.

Parameters
atom_indicesTopological indices of the atoms of interest

◆ getInferred14AccumulatorWorkUnit()

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.

Parameters
infr14_indexTopological index of the inferred 1:4 interaction of interest

◆ getInferred14Affectors()

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.

Parameters
atom_indicesTopological indices of the atoms of interest

◆ getPositionalRestraintAccumulatorWorkUnit()

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.

Parameters
rposn_indexIndex of the positional restraint in the restraint apparatus

◆ getPositionalRestraintAffectors()

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.

Parameters
atom_indicesTopological indices of the atoms of interest

◆ getSettleGroupAffectors()

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.

Parameters
atom_indicesTopological indices of the atoms of interest

◆ getUpdateDependencies()

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.

Parameters
atom_indexTopological index of the atom in question

◆ getUpdateWorkUnit()

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.

Parameters
atom_indexTopological index of the atom of interest

◆ getUreyBradleyAccumulatorWorkUnit()

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.

Parameters
ubrd_indexTopological index of the Urey-Bradley term of interest

◆ getUreyBradleyAffectors()

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.

Parameters
atom_indicesTopological indices of the atoms of interest

◆ getVirtualSiteAffectors()

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.

Parameters
atom_indicesTopological indices of the atoms of interest

◆ markAtomAddition()

void stormm::synthesis::ValenceDelegator::markAtomAddition ( int vwu_index,
int atom_index )

Mark the addition of an atom to a specific ValenceWorkUnit.

Parameters
vwu_indexIndex of the ValenceWorkUnit receiving the new atom
atom_indexIndex of the atom to add, referencing the original topology

◆ setAngleAccumulatorWorkUnit()

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.

Parameters
angl_indexThe topological index of the harmonic angle term of interest
vwu_indexIndex of the ValenceWorkUnit in a list that this delegator is managing

◆ setAngleRestraintAccumulatorWorkUnit()

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.

Parameters
rangl_indexThe restraint apparatus index of the restraint of interest
vwu_indexIndex of the ValenceWorkUnit in a list that this delegator is managing

◆ setBondAccumulatorWorkUnit()

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.

Parameters
bond_indexThe topological index of the bond term of interest
vwu_indexIndex of the ValenceWorkUnit in a list that this delegator is managing

◆ setCharmmImproperAccumulatorWorkUnit()

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.

Parameters
cimp_indexThe topological index of the CHARMM improper dihedral term of interest
vwu_indexIndex of the ValenceWorkUnit in a list that this delegator is managing

◆ setCmapAccumulatorWorkUnit()

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.

Parameters
cmap_indexThe topological index of the CMAP term of interest
vwu_indexIndex of the ValenceWorkUnit in a list that this delegator is managing

◆ setDihedralAccumulatorWorkUnit()

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.

Parameters
dihe_indexThe topological index of the dihedral term of interest
vwu_indexIndex of the ValenceWorkUnit in a list that this delegator is managing

◆ setDihedralRestraintAccumulatorWorkUnit()

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.

Parameters
rdihe_indexThe restraint apparatus index of the restraint of interest
vwu_indexIndex of the ValenceWorkUnit in a list that this delegator is managing

◆ setDistanceRestraintAccumulatorWorkUnit()

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.

Parameters
rbond_indexThe restraint apparatus index of the restraint of interest
vwu_indexIndex of the ValenceWorkUnit in a list that this delegator is managing

◆ setInferred14AccumulatorWorkUnit()

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.

Parameters
infr14_indexThe topological index of the CMAP term of interest
vwu_indexIndex of the ValenceWorkUnit in a list that this delegator is managing

◆ setPositionalRestraintAccumulatorWorkUnit()

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.

Parameters
rposn_indexThe restraint apparatus index of the restraint of interest
vwu_indexIndex of the ValenceWorkUnit in a list that this delegator is managing

◆ setUpdateWorkUnit()

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.

Parameters
atom_indexThe topological index of the atom of interest
vwu_indexIndex of the ValenceWorkUnit in a list that this delegator is managing

◆ setUreyBradleyAccumulatorWorkUnit()

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.

Parameters
ubrd_indexThe topological index of the Urey-Bradley term of interest
vwu_indexIndex of the ValenceWorkUnit in a list that this delegator is managing

The documentation for this class was generated from the following files: