Stores host-side bonded coefficient rows and topology rows. More...
#include <CharmmParameters.h>
Public Member Functions | |
| BondedParamsAndLists (const std::vector< int > &pSize, const std::vector< std::vector< float > > &pVal, const std::vector< int > &lSize, const std::vector< std::vector< int > > &lVal) | |
| Constructs packed bonded data by copying all supplied vectors. | |
Public Attributes | |
| std::vector< int > | paramsSize |
| std::vector< std::vector< float > > | paramsVal |
| std::vector< int > | listsSize |
| std::vector< std::vector< int > > | listVal |
Stores host-side bonded coefficient rows and topology rows.
paramsSize and listsSize each contain six entries in this order: bond, Urey-Bradley, angle, proper dihedral, improper dihedral, and CMAP. paramsVal concatenates the coefficient rows for those categories:
[b0, kb] in [angstrom, kcal mol^-1 angstrom^-2];[s0, kub] in [angstrom, kcal mol^-1 angstrom^-2];[theta0_radians, kTheta] in [radian, kcal mol^-1 radian^-2];[signed_n, kChi, sin(delta), cos(delta)] in [dimensionless, kcal mol^-1, dimensionless, dimensionless], where nonterminal rows for a multi-term key use a negative multiplicity;[psi0_degrees, kPsi, 0, 1] in [degree, kcal mol^-1 radian^-2, dimensionless, dimensionless];listVal concatenates zero-based PSF atom-index rows. Bond and Urey-Bradley rows are [i, j, type, 13]; angle rows are [i, j, k, type, 13, 13]; torsion rows are [i, j, k, l, type, 13, 13, 13]. Type indices are local to each category. The shift sentinel 13 denotes the zero periodic image.
All storage is owned host memory. ForceManager later copies these rows to CUDA force objects.
|
inline |
Constructs packed bonded data by copying all supplied vectors.
| [in] | pSize | Six coefficient-row counts in bonded-category order. |
| [in] | pVal | Concatenated host coefficient rows. |
| [in] | lSize | Six topology-row counts in bonded-category order. |
| [in] | lVal | Concatenated host topology rows. |
| std::bad_alloc | If copying the host vectors requires an allocation that fails. |
| std::vector<int> BondedParamsAndLists::listsSize |
Stores the six topology-row counts in bonded-category order.
| std::vector<std::vector<int> > BondedParamsAndLists::listVal |
Stores the concatenated zero-based PSF topology rows.
| std::vector<int> BondedParamsAndLists::paramsSize |
Stores the six coefficient-row counts in bonded-category order.
| std::vector<std::vector<float> > BondedParamsAndLists::paramsVal |
Stores the concatenated host coefficient rows.