An object to manage the combination of Lennard-Jones parameters from two topologies. This can be used to insert "NBFix" pair-specific (off-rule) parameters where neither topology by itself might contain the requisite information. It can also be used to build parameter tables for a union of the two underlying topologies and produce arrays indices into that table for a new topology.
More...
|
int | getSetCount () const |
| Get the number of Lennard-Jones parameter matrix sets.
|
|
VdwCombiningRule | getDefaultCombiningRule () const |
| Get the default combining rule for mixing parameters of different topologies.
|
|
VdwCombiningRule | getPrimaryTopologyRule () const |
| Get the combining rule effective in the primary topology.
|
|
VdwCombiningRule | getSecondaryTopologyRule (int index) const |
| Get the combining rule effective in one of the secondary topologies.
|
|
int2 | getMatrixSize (int index) const |
| Get the number of atom types in the primary topology.
|
|
const std::vector< double > & | getACoefficients (int index) const |
| Get the matrix of Lennard-Jones A coefficients between the primary topology and another topology. The primary atom types control rows of the matrix, while the other topology's atom types control columns. The matrix has column format, like others in STORMM.
|
|
const std::vector< double > & | getBCoefficients (int index) const |
| Get the matrix of Lennard-Jones B coefficients between the primary topology and another topology. The primary atom types control rows of the matrix, while the other topology's atom types control columns. The matrix has column format, like others in STORMM.
|
|
std::vector< int > | computeConsensusParameters () const |
|
int | getAtomTypeUnionSize () |
| Compute the number of unique atom types across all topologies other than the primary. This is done by finding unique fingerprints among the columns of the A and B coefficient matrices for each combination parameter set.
|
|
|
| ComboGraphLJModel (const AtomGraph *primary_ag_in, const AtomGraph *ag_secondary_in=nullptr, VdwCombiningRule default_rule_in=VdwCombiningRule::LORENTZ_BERTHELOT, const std::vector< PairLJInteraction > &edits={}) |
| The constructor accepts two topologies or two Lennard-Jones parameter sets. Edits to the Lennard-Jones parameters can be provided to the constructor or entered later.
|
|
| ComboGraphLJModel (const AtomGraph &primary_ag_in, const AtomGraph &ag_secondary_in, VdwCombiningRule default_rule_in=VdwCombiningRule::LORENTZ_BERTHELOT, const std::vector< PairLJInteraction > &edits={}) |
|
| ComboGraphLJModel (const AtomGraph &primary_ag_in, const AtomGraphSynthesis &poly_ag_secondary, VdwCombiningRule default_rule_in=VdwCombiningRule::LORENTZ_BERTHELOT, const std::vector< PairLJInteraction > &edits={}) |
|
| ComboGraphLJModel (const AtomGraph *primary_ag_in, const std::vector< double > &lj_a_in, const std::vector< double > &lj_b_in, const std::vector< char4 > &lj_type_names={}, VdwCombiningRule default_rule_in=VdwCombiningRule::LORENTZ_BERTHELOT, const std::vector< PairLJInteraction > &edits={}) |
|
| ComboGraphLJModel (const AtomGraph &primary_ag_in, const std::vector< double > &lj_a_in, const std::vector< double > &lj_b_in, const std::vector< char4 > &lj_type_names={}, VdwCombiningRule default_rule_in=VdwCombiningRule::LORENTZ_BERTHELOT, const std::vector< PairLJInteraction > &edits={}) |
|
|
template<typename T> |
void | addCombination (const T *lja_in, const T *ljb_in, int lj_type_count, const char4 *lj_type_names=nullptr, const std::vector< PairLJInteraction > &edits={}) |
| Add an interaction matrix to the list of combinations.
|
|
template<typename T> |
void | addCombination (const std::vector< T > &lja_in, const std::vector< T > &ljb_in, const std::vector< char4 > &lj_type_names={}, const std::vector< PairLJInteraction > &edits={}) |
|
void | addCombination (const AtomGraph *ag_secondary, const std::vector< PairLJInteraction > &edits={}) |
|
void | addCombination (const AtomGraph &ag_secondary, const std::vector< PairLJInteraction > &edits={}) |
|
An object to manage the combination of Lennard-Jones parameters from two topologies. This can be used to insert "NBFix" pair-specific (off-rule) parameters where neither topology by itself might contain the requisite information. It can also be used to build parameter tables for a union of the two underlying topologies and produce arrays indices into that table for a new topology.