DimensionlessParticle

class plasmapy.particles.particle_class.DimensionlessParticle(*, mass: Real | None = None, charge: Real | None = None, symbol: str | None = None)[source]

Bases: AbstractParticle

A class to represent dimensionless custom particles.

This class may be used, for example, to represent a particle in a dimensionless particle-in-cell simulation.

Parameters:
  • mass (positive real number, keyword-only, default: nan) – The mass of the dimensionless particle.

  • charge (real number, keyword-only, default: nan) – The electric charge of the dimensionless particle.

  • symbol (str, keyword-only, optional) – The symbol to be assigned to the dimensionless particle.

Notes

DimensionlessParticle instances are not considered particle-like because dimensionless particles cannot uniquely identify a physical particle without normalization information.

Examples

>>> from plasmapy.particles import DimensionlessParticle
>>> particle = DimensionlessParticle(mass=1.0, charge=-1.0, symbol="ξ")
>>> particle.mass
1.0
>>> particle.charge
-1.0
>>> particle.symbol
'ξ'

Attributes Summary

charge

The dimensionless charge of the DimensionlessParticle.

json_dict

A json friendly dictionary representation of the DimensionlessParticle.

mass

The dimensionless mass of the DimensionlessParticle.

symbol

The symbol assigned to the DimensionlessParticle.

Methods Summary

json_dump(fp, **kwargs)

Write the particle's json_dict to the fp file object using json.dump.

json_dumps(**kwargs)

Serialize the particle's json_dict into a JSON formatted str using json.dumps.

Attributes Documentation

charge

The dimensionless charge of the DimensionlessParticle.

json_dict

A json friendly dictionary representation of the DimensionlessParticle.

See json_dict for more details.

Examples

>>> from plasmapy.particles import DimensionlessParticle
>>> dimensionless_particle = DimensionlessParticle(mass=1.0, charge=-1.0)
>>> dimensionless_particle.json_dict
{'plasmapy_particle': {'type': 'DimensionlessParticle',
    'module': 'plasmapy.particles.particle_class',
    'date_created': '...',
    '__init__': {'args': (), 'kwargs': {'mass': 1.0, 'charge': -1.0,
    'symbol': 'DimensionlessParticle(mass=1.0, charge=-1.0)'}}}}
>>> import pytest
>>> dimensionless_particle = DimensionlessParticle(mass=1.0)
>>> dimensionless_particle.json_dict
{'plasmapy_particle': {'type': 'DimensionlessParticle',
    'module': 'plasmapy.particles.particle_class',
    'date_created': '...',
    '__init__': {'args': (), 'kwargs': {'mass': 1.0, 'charge': nan,
    'symbol': 'DimensionlessParticle(mass=1.0, charge=nan)'}}}}
mass

The dimensionless mass of the DimensionlessParticle.

symbol

The symbol assigned to the DimensionlessParticle.

If no symbol was defined, then return the value given by repr.

Methods Documentation

json_dump(fp, **kwargs)

Write the particle’s json_dict to the fp file object using json.dump.

Parameters:
json_dumps(**kwargs) str

Serialize the particle’s json_dict into a JSON formatted str using json.dumps.

Parameters:

**kwargs – Any keyword accepted by json.dumps.

Returns:

JSON formatted str.

Return type:

str