Gromacs
2024.4
|
Data for LINCS algorithm.
Public Attributes | |
int | ncg = 0 |
The global number of constraints. | |
int | ncg_flex = 0 |
The global number of flexible constraints. | |
int | ncg_triangle = 0 |
The global number of constraints in triangles. | |
int | nIter = 0 |
The number of iterations. | |
int | nOrder = 0 |
The order of the matrix expansion. | |
int | max_connect = 0 |
The maximum number of constraints connected to a single atom. | |
int | nc_real = 0 |
The number of real constraints. | |
int | nc = 0 |
The number of constraints including padding for SIMD. | |
int | ncc = 0 |
The number of constraint connections. | |
real | matlam = 0 |
The FE lambda value used for filling blc and blmf. | |
std::vector< int > | con_index |
mapping from topology to LINCS constraints. | |
std::vector< real, AlignedAllocator< real > > | bllen0 |
The reference distance in topology A. | |
std::vector< real, AlignedAllocator< real > > | ddist |
The reference distance in top B - the r.d. in top A. | |
std::vector< AtomPair > | atoms |
The atom pairs involved in the constraints. | |
std::vector< real, AlignedAllocator< real > > | blc |
1/sqrt(invmass1 invmass2). | |
std::vector< real, AlignedAllocator< real > > | blc1 |
As blc, but with all masses 1. | |
std::vector< int > | blnr |
Index into blbnb and blmf. | |
std::vector< int > | blbnb |
List of constraint connections. | |
int | ntriangle = 0 |
The local number of constraints in triangles. | |
int | ncc_triangle = 0 |
The number of constraint connections in triangles. | |
bool | bCommIter = false |
Communicate before each LINCS interation. | |
std::vector< real > | blmf |
Matrix of mass factors for constraint connections. | |
std::vector< real > | blmf1 |
As blmf, but with all masses 1. | |
std::vector< real, AlignedAllocator< real > > | bllen |
The reference bond length. | |
std::vector< int > | nlocat |
The local atom count per constraint, can be NULL. | |
int | ntask = 0 |
The number of tasks used for LINCS work. More... | |
std::vector< Task > | task |
LINCS thread division. | |
std::vector< gmx_bitmask_t > | atf |
Atom flags for thread parallelization. | |
bool | bTaskDep = false |
Are the LINCS tasks interdependent? | |
bool | bTaskDepTri = false |
Are there triangle constraints that cross task borders? | |
bool | haveSecondUpdateTask = false |
Whether any task has constraints in the second update list. | |
std::vector< real, AlignedAllocator< real > > | mlambda |
The Lagrange multipliers times -1. | |
std::optional < ObservablesReducerBuilder::CallbackToRequireReduction > | callbackToRequireReduction |
Callback used after constraining to require reduction of values later used to compute the constraint RMS relative deviation, so the latter can be output. | |
ArrayRef< double > | rmsdReductionBuffer |
View used for reducing the components of the global relative RMS constraint deviation. More... | |
std::optional< double > | constraintRmsDeviation |
The value of the constraint RMS deviation after it has been computed. More... | |
PaddedVector< gmx::RVec > | tmpv |
Arrays for temporary storage in the LINCS algorithm. | |
std::vector< real > | tmpncc |
std::vector< real, AlignedAllocator< real > > | tmp1 |
std::vector< real, AlignedAllocator< real > > | tmp2 |
std::vector< real, AlignedAllocator< real > > | tmp3 |
std::vector< real, AlignedAllocator< real > > | tmp4 |
std::optional<double> gmx::Lincs::constraintRmsDeviation |
The value of the constraint RMS deviation after it has been computed.
When DD is active, filled by the ObservablesReducer, otherwise filled directly here.
int gmx::Lincs::ntask = 0 |
The number of tasks used for LINCS work.
task
, which would be nicer to do with range-based for loops, but the thread index is used for constructing bit masks and organizing the virial output buffer, so other things need to change, first. ArrayRef<double> gmx::Lincs::rmsdReductionBuffer |
View used for reducing the components of the global relative RMS constraint deviation.
Can be written any time, but that is only useful when followed by a call of the callbackToRequireReduction. Useful to read only from the callback that the ObservablesReducer will later make after reduction.