Radial Distribution Functions — pmda.rdf
¶
This module contains parallel versions of analysis tasks in
MDAnalysis.analysis.rdf
.
See also
Classes¶
-
class
pmda.rdf.
InterRDF
(g1, g2, nbins=75, range=0.0, 15.0, exclusion_block=None)[source]¶ Intermolecular pair distribution function
-
bins
¶ The distance \(r\) at which the distribution function \(g(r)\) is determined; these are calculated as the centers of the bins that were used for histogramming.
- Type
array
-
rdf
¶ The value of the pair distribution function \(g(r)\) at \(r\).
- Type
array
- Parameters
g1 (AtomGroup) – First AtomGroup
g2 (AtomGroup) – Second AtomGroup
nbins (int (optional)) – Number of bins in the histogram [75]
range (tuple or list (optional)) – The size of the RDF [0.0, 15.0]
exclusion_block (tuple (optional)) – A tuple representing the tile to exclude from the distance array. [None]
Example
First create the
InterRDF
object, by supplying two AtomGroups then use therun()
methodrdf = InterRDF(ag1, ag2) rdf.run()
Results are available through the
bins
andrdf
attributes:plt.plot(rdf.bins, rdf.rdf)
The exclusion_block keyword allows the masking of pairs from within the same molecule. For example, if there are 7 of each atom in each molecule, the exclusion mask (7, 7) can be used.
See also
New in version 0.2.0.
- Parameters
Universe (
Universe
) – aMDAnalysis.core.groups.Universe
(the atomgroups must belong to this Universe)atomgroups (tuple of
AtomGroup
) – atomgroups that are iterated in parallel
-
_results
¶ The raw data from each process are stored as a list of lists, with each sublist containing the return values from
pmda.parallel.ParallelAnalysisBase._single_frame()
.- Type
-
property
cdf
¶ Calculate the cumulative distribution functions (CDF). Note that this is the actual count within a given radius, i.e., \(N(r)\).
- Returns
cdf – a numpy array with the same structure as
rdf
- Return type
numpy array
New in version 0.3.0.
-
readonly_attributes
()¶ Set the attributes of this class to be read only
Useful to avoid the class being modified when passing it around.
To be used as a context manager:
with analysis.readonly_attributes(): some_function(analysis)
-
run
(start=None, stop=None, step=None, n_jobs=1, n_blocks=None)¶ Perform the calculation
- Parameters
start (int, optional) – start frame of analysis
stop (int, optional) – stop frame of analysis
step (int, optional) – number of frames to skip between each analysed frame
n_jobs (int, optional) – number of jobs to start, if -1 use number of logical cpu cores. This argument will be ignored when the distributed scheduler is used
n_blocks (int, optional) – number of blocks to divide trajectory into. If
None
set equal to n_jobs or number of available workers in scheduler.
-