irfpy.util.vdf

Represents velocity distribution function.

Implementation of the velocity distribution function. A similar functionality (differential flux, count rate) is implemented in irfpy.util.energyspectrum module. irfpy.util.fluxtools provides the conversion in between.

Code author: Yoshifumi Futaana

VelocityDistributionGrid(vdf, velocity_grid, ...)

Represents the velocity distribution function on grids in polar frame

maxwellVelocityDistributionGrid(n, vb, vth, ...)

Create VelocityDistributionGrid object with Maxwell distribution.

class irfpy.util.vdf.VelocityDistributionGrid(vdf, velocity_grid, theta_grid, phi_grid, velocity_grid_size='log', theta_grid_size='linear', phi_grid_size='linear', mass=1.67262178e-27)[source]

Bases: RegularGridVolumeContainer

Represents the velocity distribution function on grids in polar frame

This object represents the velocity distribution function on grids in the polar frame (velocity-theta-phi). Therefore, it is useful to represents a data from electrostatic analyzer.

This can be converted to the object of irfpy.energyspectrum.DifferentialFluxGrid and irfpy.energyspectrum.CountRateGrid using functionality in irfpy.fluxtools.

Initilizer of velocity distribution function..

Parameters:
  • vdf – Velocity distribution function. Unit should be MKSA (s^3/m^6). Should be a shape of (ne, nt, np).

  • velocity_grid – Velocity grid in MKSA (m/s). Ascending order.

  • theta_grid – Theta (polar angle) angle array in radians. Ascending order. 0 to pi.

  • phi_grid – Phi (azimuth) angle array in radians. Ascending order.

  • mass – Mass in kg.

  • velocity_grid_size – Specify the velocity grid size. Use ‘linear’, ‘log’, or np.array with the same shape as velocity_grid.

UNIT = 's^3 / m^6'

Unit of the VDF

irfpy.util.vdf.maxwellVelocityDistributionGrid(n, vb, vth, vlist, tlist, plist)[source]

Create VelocityDistributionGrid object with Maxwell distribution.

Parameters:
Returns:

VelocityDistributionGrid object