cminject.particles package

A collection of subclasses of cminject.base.Particle, containing (at least)

  • a simple spherical particle model, with a radius and density determining mass

  • an extension of this model, with particles having temperature and other properties relevant to heat exchange

Submodules

cminject.particles.spherical module

A collection of subclasses of cminject.base.Particle, modeling spherical particles.

class cminject.particles.spherical.SphericalParticle(*args, radius: float, rho: float, **kwargs)

Bases: cminject.base.Particle

A simple spherical particle that has a radius and a density (rho).

constant_properties
detector_hits: Dict[str, List[‘ParticleDetectorHit’]]
identifier: int
lost: bool
mass
phase_space_position: np.array
time: float
trajectory: List[np.array]
class cminject.particles.spherical.ThermallyConductiveSphericalParticle(*args, temperature: float, thermal_conductivity: float, specific_heat: float, **kwargs)

Bases: cminject.particles.spherical.SphericalParticle

Lacking a better name (so far), this class extends on the SphericalParticle with thermal conductivity and specific heat, which is required by e.g. the photophoretic force and for thermal calculations.

constant_properties
detector_hits: Dict[str, List[‘ParticleDetectorHit’]]
identifier: int
lost: bool
phase_space_position: np.array
time: float
tracked_properties
trajectory: List[np.array]

cminject.particles.status module

Mutually exclusive states that the particle can be in wrt. integration steps to take, like

  • lost (stop simulating)

  • ok (definitely keep simulating)

  • outside (potentially keep simulating)

  • between (propagate through extrapolation, field-free)