coc
- mdtools.structure.coc(ag, pbc=False, cmp='group', make_whole=False, debug=False)[source]
Calculate the center of charge of (compounds of) an MDAnalysis
AtomGroup
.- Parameters:
ag (
MDAnalysis.core.groups.AtomGroup
) – The MDAnalysisAtomGroup
for which to calculate the center of charge.pbc (
bool
, optional) – Seemdtools.structure.center()
.cmp (
{'group', 'segments', 'residues', 'molecules', 'fragments', 'atoms'}
, optional) – Seemdtools.structure.center()
.make_whole (
bool
, optional) – Seemdtools.structure.center()
.debug (
bool
, optional) – IfTrue
, run in debug mode.
- Returns:
center (
numpy.ndarray
) – Center of charge position of each compound in ag. If cmp was set to'group'
, the output will be a single position vector of shape(3,)
. Else, the output will be a 2d array of shape(n, 3)
wheren
is the number of compounds in ag.- Raises:
RuntimeWarning : – If debug is
True
and the center of charge of any compound isnan
.
See also
MDAnalysis.core.groups.AtomGroup.center()
Weighted center of (compounds of) the group
MDAnalysis.core.groups.AtomGroup.center_of_geometry()
Center of geometry of (compounds of) the group
MDAnalysis.core.groups.AtomGroup.center_of_mass()
Center of mass of (compounds of) the group
mdtools.structure.center()
Different types of centers of (compounds of) an MDAnalysis
AtomGroup
mdtools.structure.wcenter()
Weighted center of (compounds of) an MDAnalysis
AtomGroup
mdtools.structure.wcenter_pos()
Calculate the weighted center of a position array
mdtools.structure.cog()
Center of geometry of (compounds of) an MDAnalysis
AtomGroup
mdtools.structure.com()
Center of mass of (compounds of) an MDAnalysis
AtomGroup
Notes
This function uses
mdtools.structure.wcenter()
which in turn relies on thecenter()
method of the inputAtomGroup
to calculate the center of charge.Important
If the charges of a compound sum up to zero, the coordinates of that compound’s center of charge will be
nan
! If debug is set toTrue
, a warning will be raised if any compound’s center of charge isnan
.