Gromacs  2019-beta2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members | Public Attributes
gmx::Lincs Class Reference

Description

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 nc_alloc = 0
 The number we allocated memory for.
 
int ncc = 0
 The number of constraint connections.
 
int ncc_alloc = 0
 The number we allocated memory for.
 
real matlam = 0
 The FE lambda value used for filling blc and blmf.
 
int * con_index = nullptr
 mapping from topology to LINCS constraints.
 
realbllen0 = nullptr
 The reference distance in topology A.
 
realddist = nullptr
 The reference distance in top B - the r.d. in top A.
 
int * bla = nullptr
 The atom pairs involved in the constraints.
 
realblc = nullptr
 1/sqrt(invmass1 invmass2).
 
realblc1 = nullptr
 As blc, but with all masses 1.
 
int * blnr = nullptr
 Index into blbnb and blmf.
 
int * blbnb = nullptr
 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.
 
realblmf = nullptr
 Matrix of mass factors for constraint connections.
 
realblmf1 = nullptr
 As blmf, but with all masses 1.
 
realbllen = nullptr
 The reference bond length.
 
int * nlocat = nullptr
 The local atom count per constraint, can be NULL.
 
int ntask = 0
 The number of tasks used for LINCS work. More...
 
std::vector< Tasktask
 LINCS thread division.
 
gmx_bitmask_tatf = nullptr
 Atom flags for thread parallelization.
 
int atf_nalloc = 0
 Allocation size of atf.
 
bool bTaskDep = false
 Are the LINCS tasks interdependent?
 
bool bTaskDepTri = false
 Are there triangle constraints that cross task borders?
 
realmlambda = nullptr
 The Lagrange multipliers times -1.
 
std::array< real, 2 > rmsdData = {{0}}
 Storage for the constraint RMS relative deviation output.
 
rvec * tmpv = nullptr
 Arrays for temporary storage in the LINCS algorithm.
 
realtmpncc = nullptr
 
realtmp1 = nullptr
 
realtmp2 = nullptr
 
realtmp3 = nullptr
 
realtmp4 = nullptr
 

Member Data Documentation

int gmx::Lincs::ntask = 0

The number of tasks used for LINCS work.

Todo:
This is mostly used to loop over 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.

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