VelocityDistribution¶
- class VelocityDistribution(md_trajectory, start_time=None, end_time=None, maximum_velocity=None, resolution=None, atom_selection=None, time_resolution=None, info_panel=None)¶
- Class for calculating the velocity distribution of an MD simulation. - Parameters:
- md_trajectory ( - MDTrajectory|- AtomicConfiguration) – The MDTrajectory or configuration to calculate the velocity distribution.
- start_time (PhysicalQuantity of type time) – The start time. Default: - 0.0 * fs
- end_time (PhysicalQuantity of type time) – The end time. Default: The last time frame 
- maximum_velocity (PhysicalQuantity of type length/time) – Upper limit of considered velocities. Default: the maximum velocity of the trajectory 
- resolution (PhysicalQuantity of type length/time.) – The bin size, which determines the resolution of the histogram. Default: - 0.001 * Angstrom / fs
- atom_selection ( - PeriodicTableElement| str | list of ints) – Only include contributions from this selection. The atoms can be selected by element i.e.- PeriodicTableElement, tag or a list of atomic indices. Default: All atoms.
- time_resolution (PhysicalQuantity of type time) – The time interval between snapshots in the MD trajectory that are included in the analysis. 
- info_panel (InfoPanel (Plot2D)) – Info panel to show the calculation progress. Default: No info panel 
 
 - data()¶
- Return the velocity distribution histogram. 
 - velocities()¶
- Return the velocity values associated with the histogram. 
 
Usage Examples¶
Load an MDTrajectory and calculate the VelocityDistribution:
md_trajectory = nlread('alumina_trajectory.nc')[-1]
v_distribution = VelocityDistribution(md_trajectory)
# Get the bin_centers and the histogram of the velocity distribution.
velocities = v_distribution.velocities().inUnitsOf(Ang/fs)
histogram  = v_distribution.data()
# Plot the data using pylab.
import pylab
pylab.bar(velocities, histogram, label='Velocity distribution', width=0.001)
pylab.xlabel('v (Ang/fs)')
pylab.ylabel('Histogram')
pylab.legend()
pylab.show()
Notes¶
By default, all elements are taken into account.
The  atom_selection parameter accepts an element, a tag name, or a list of indices to select atoms for the velocity distribution. This can be useful, e.g. in the presence of constraints as constrained atoms should be excluded in this analysis.