Gromacs  2024.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members | Public Member Functions | Public Attributes
pull_group_work_t Struct Reference

#include <gromacs/pulling/pull_internal.h>

+ Collaboration diagram for pull_group_work_t:

Description

Pull group data used during pulling.

Public Member Functions

 pull_group_work_t (const t_pull_group &params, gmx::LocalAtomSet atomSet, bool setPbcRefToPrevStepCOM, int maxNumThreads)
 Constructor. More...
 
int numThreads () const
 Returns the number of threads to use for local atom operations based on the local atom count.
 

Public Attributes

const t_pull_group params_
 The pull group parameters.
 
const int epgrppbc
 The type of pbc for this pull group, see enum above.
 
const int maxNumThreads_
 The maximum number of threads to use for operations on x and f.
 
bool needToCalcCom
 Do we need to calculate the COM? (Not for group 0 or if only used as cylinder group)
 
std::vector< realglobalWeights
 Weights per atom set by the user and/or mass/friction coefficients, if empty all weights are equal.
 
gmx::LocalAtomSet atomSet_
 Global to local atom set mapper.
 
std::vector< reallocalWeights
 Weights for the local atoms.
 
std::unique_ptr
< gmx::LocalAtomSet
pbcAtomSet
 Keeps index of the pbc reference atom. More...
 
real mwscale
 mass*weight scaling factor 1/sum w m
 
real wscale
 scaling factor for the weights: sum w m/sum w w m
 
real invtm
 inverse total mass of the group: 1/wscale sum w m
 
std::vector< gmx::BasicVector
< double > > 
mdw
 mass*gradient(weight) for atoms
 
std::vector< double > dv
 distance to the other group(s) along vec
 
dvec x
 COM before update.
 
dvec xp
 COM after update before constraining.
 
dvec x_prev_step
 center of mass of the previous step
 

Constructor & Destructor Documentation

pull_group_work_t::pull_group_work_t ( const t_pull_group &  params,
gmx::LocalAtomSet  atomSet,
bool  setPbcRefToPrevStepCOM,
int  maxNumThreads 
)

Constructor.

Parameters
[in]paramsThe group parameters set by the user
[in]atomSetThe global to local atom set manager
[in]setPbcRefToPrevStepCOMDoes this pull group use the COM from the previous step as reference position?
[in]maxNumThreadsUse either this number of threads of 1 for operations on x and f

Member Data Documentation

std::unique_ptr<gmx::LocalAtomSet> pull_group_work_t::pbcAtomSet

Keeps index of the pbc reference atom.

The stored LocalAtomSet consists of exactly one atom when pbc reference atom is required. When no pbc refence atom is used, this pointer shall be null.


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