Gromacs
2025.0-dev-20241011-013a99c
|
#include <array>
#include <memory>
#include <vector>
#include "gromacs/math/vectypes.h"
#include "gromacs/topology/idef.h"
#include "gromacs/topology/ifunc.h"
#include "gromacs/utility/real.h"
Declares the VirtualSitesHandler class and vsite standalone functions.
Classes | |
class | gmx::ArrayRef< typename > |
STL-like interface to a C array of T (or part of a std container of T). More... | |
class | gmx::VirtualSitesHandler |
Class that handles construction of vsites and spreading of vsite forces. More... | |
Typedefs | |
typedef std::array < std::vector< int > , c_ftypeVsiteEnd-c_ftypeVsiteStart > | gmx::VsitePbc |
Type for storing PBC atom information for all vsite types in the system. | |
Enumerations | |
enum | gmx::VSiteOperation { gmx::VSiteOperation::Positions, gmx::VSiteOperation::Velocities, gmx::VSiteOperation::PositionsAndVelocities, gmx::VSiteOperation::Count } |
Whether we calculate vsite positions, velocities, or both. More... | |
enum | gmx::VirtualSiteVirialHandling : int { gmx::VirtualSiteVirialHandling::None, gmx::VirtualSiteVirialHandling::Pbc, gmx::VirtualSiteVirialHandling::NonLinear } |
Tells how to handle virial contributions due to virtual sites. More... | |
Functions | |
void | gmx::constructVirtualSites (ArrayRef< RVec > x, ArrayRef< const t_iparams > ip, ArrayRef< const InteractionList > ilist) |
Create positions of vsite atoms based for the local system. More... | |
void | gmx::constructVirtualSitesGlobal (const gmx_mtop_t &mtop, ArrayRef< RVec > x) |
Create positions of vsite atoms for the whole system assuming all molecules are wholex. More... | |
int | gmx::countNonlinearVsites (const gmx_mtop_t &mtop) |
Return the number of non-linear virtual site constructions in the system. | |
int | gmx::countInterUpdategroupVsites (const gmx_mtop_t &mtop, ArrayRef< const RangePartitioning > updateGroupingsPerMoleculeType) |
Return the number of virtual sites that cross update groups. More... | |
std::unique_ptr < VirtualSitesHandler > | gmx::makeVirtualSitesHandler (const gmx_mtop_t &mtop, const t_commrec *cr, PbcType pbcType, ArrayRef< const RangePartitioning > updateGroupingPerMoleculeType) |
Create the virtual site handler. More... | |
Variables | |
static constexpr int | gmx::c_ftypeVsiteStart = F_VSITE1 |
The start value of the vsite indices in the ftype enum. More... | |
static constexpr int | gmx::c_ftypeVsiteEnd = F_VSITEN + 1 |
The start and end value of the vsite indices in the ftype enum. | |