Gromacs: src/gromacs/pbcutil/pbc.cpp File Reference

Implements routines in pbc.h.

Utility functions for handling periodic boundary conditions. Mainly used in analysis tools.


#define  BOX_MARGIN   1.0010   Margin factor for error message.  
#define  BOX_MARGIN_CORRECT   1.0005   Margin correction if the box is too skewed.  
enum   {
  epbcdxRECTANGULAR = 1,
epbcdxTRICLINIC,
epbcdx2D_RECT,
epbcdx2D_TRIC,

  epbcdx1D_RECT,
epbcdx1D_TRIC,
epbcdxSCREW_RECT,
epbcdxSCREW_TRIC,

  epbcdxNOPBC,
epbcdxUNSUPPORTED

}  
int  numPbcDimensions (PbcType pbcType)   Returns the number of dimensions that use pbc. More…   void  dump_pbc (FILE *fp, t_pbc *pbc)   Dump the contents of the pbc structure to the file. More…   const char *  check_box (PbcType pbcType, const matrix box)   Check the box for consistency. More…   void  matrix_convert (matrix box, const rvec vec, const rvec angleInDegrees)   Creates box matrix from edge lengths and angles. More…   real  max_cutoff2 (PbcType pbcType, const matrix box)   Compute the maximum cutoff for the box. More…   PbcType  guessPbcType (const matrix box)   Guess PBC type. More…  
static int  correct_box_elem (FILE *fplog, int step, tensor box, int v, int d)   Check if the box still obeys the restrictions, if not, correct it.   gmx_bool  correct_box (FILE *fplog, int step, tensor box)   Corrects the box if necessary. More…  
static void  low_set_pbc (t_pbc *pbc, PbcType pbcType, const ivec dd_pbc, const matrix box)   Do the real arithmetic for filling the pbc struct.   void  set_pbc (t_pbc *pbc, PbcType pbcType, const matrix box)   Initiate the periodic boundary condition algorithms. More…   t_pbcset_pbc_dd (t_pbc *pbc, PbcType pbcType, const ivec domdecCells, gmx_bool bSingleDir, const matrix box)   Initiate the periodic boundary condition algorithms. More…   void  pbc_dx (const t_pbc *pbc, const rvec x1, const rvec x2, rvec dx)   Compute distance with PBC. More…   int  pbc_dx_aiuc (const t_pbc *pbc, const rvec x1, const rvec x2, rvec dx)   Compute distance vector for simple PBC types. More…   void  pbc_dx_d (const t_pbc *pbc, const dvec x1, const dvec x2, dvec dx)   Compute distance vector in double precision. More…   void  calc_shifts (const matrix box, gmx::ArrayRef< gmx::RVec > shift_vec)   Computes shift vectors. More…   void  calc_box_center (int ecenter, const matrix box, rvec box_center)   Calculates the center of the box. More…   void  calc_triclinic_images (const matrix box, rvec img[])   Calculates the NTRICIMG box images. More…   void  calc_compact_unitcell_vertices (int ecenter, const matrix box, rvec vert[])   Calculates the NCUCVERT vertices of a compact unitcell. More…   int *  compact_unitcell_edges ()   Compute unitcell edges. More…   void  put_atoms_in_box (PbcType pbcType, const matrix box, gmx::ArrayRef< gmx::RVec > x)   Put atoms inside the simulations box. More…   void  put_atoms_in_box_omp (PbcType pbcType, const matrix box, gmx::ArrayRef< gmx::RVec > x, gmx_unused int nth)   Parallellizes put_atoms_in_box() More…   void  put_atoms_in_triclinic_unitcell (int ecenter, const matrix box, gmx::ArrayRef< gmx::RVec > x)   Put atoms inside triclinic box. More…   void  put_atoms_in_compact_unitcell (PbcType pbcType, int ecenter, const matrix box, gmx::ArrayRef< gmx::RVec > x)   Put atoms inside the unitcell. More…   static void  low_do_pbc_mtop (FILE *fplog, PbcType pbcType, const matrix box, const gmx_mtop_t *mtop, rvec x[], gmx_bool bFirst)   Make molecules whole by shifting positions. More…   void  do_pbc_first_mtop (FILE *fplog, PbcType pbcType, const matrix box, const gmx_mtop_t *mtop, rvec x[])   Make all molecules whole by shifting positions. More…   void  do_pbc_mtop (PbcType pbcType, const matrix box, const gmx_mtop_t *mtop, rvec x[])   Make molecules consisting of multiple charge groups whole by shifting positions. More…  

Read more here: Source link