Species objects

Warning

This section is currently in development.

pydantic model picmistandard.PICMI_Species[source]

Sets up the species to be simulated. The species charge and mass can be specified by setting the particle type or by setting them directly. If the particle type is specified, the charge or mass can be set to override the value from the type.

The particle advance method options:

  • ‘Boris’: Standard “leap-frog” Boris advance

  • ‘Vay’:

  • ‘Higuera-Cary’:

  • ‘Li’:

  • ‘free-streaming’: Advance with no fields

  • ‘LLRK4’: Landau-Lifschitz radiation reaction formula with RK-4)

Parameters

parameter charge: float | None = None

Particle charge, if not specified, it will be determined from type [C]

parameter charge_state: float | None = None

Charge state of the species (applies only to atoms) [1]

parameter density_scale: float | None = None

A scale factor on the density given by the initial_distribution.

parameter initial_distribution: PICMI_AnyDistribution | list[PICMI_AnyDistribution] | None = None

The initial distribution loaded at t=0. A list of distributions may be given to superimpose several distributions on the same species.

parameter interactions: list[PICMI_AnyInteraction] [Optional]

List of interactions for this species

parameter mass: float | None = None

Particle mass, if not specified, it will be determined from type [kg]

parameter method: str | None = None

The particle advance method to use. Code-specific method can be specified using ‘other:<method>’. The default is code dependent. Must be one of ‘Boris’, ‘Vay’, ‘Higuera-Cary’, ‘Li’, ‘free-streaming’, ‘LLRK4’, or start with ‘other:’

parameter name: str | None = None

Name of the species. If not specified, it will be determined from the particle type.

parameter particle_shape: Literal['NGP', 'linear', 'quadratic', 'cubic'] | int | None = None

Particle shape used for deposition and gather. If not specified, the value from the Simulation object will be used. Other values maybe specified that are code dependent.

parameter particle_type: str | None = None

A string specifying an elementary particle, atom, or other, as defined in the openPMD 2 species type extension, openPMD-standard/EXT_SpeciesType.md

Attributes

methods_list: ClassVar[list[str]] = ['Boris', 'Vay', 'Higuera-Cary', 'Li', 'free-streaming', 'LLRK4']
pydantic model picmistandard.PICMI_MultiSpecies[source]

INCOMPLETE: proportions argument is not implemented Multiple species that are initialized with the same distribution. Each parameter can be list, giving a value for each species, or a single value which is given to all species. The species charge and mass can be specified by setting the particle type or by setting them directly. If the particle type is specified, the charge or mass can be set to override the value from the type.

The species are created at construction, so their parameters cannot be changed afterwards.

Parameters

parameter charge_states: float | list[float | None] | None = None

Charge states of the species (applies only to atoms)

parameter charges: float | list[float | None] | None = None

Particle charges, required when type is not specified, otherwise determined from type [C]

parameter initial_distribution: PICMI_AnyDistribution | list[PICMI_AnyDistribution] | None = None

Initial particle distribution, applied to all species

parameter masses: float | list[float | None] | None = None

Particle masses, required when type is not specified, otherwise determined from type [kg]

parameter names: str | list[str | None] | None = None

Names of the species

parameter particle_shape: Literal['NGP', 'linear', 'quadratic', 'cubic'] | int | None = None

Particle shape used for deposition and gather (‘NGP’, ‘linear’, ‘quadratic’, ‘cubic’). If not specified, the value from the Simulation object will be used. Other values maybe specified that are code dependent.

parameter particle_types: str | list[str | None] | None = None

A string specifying an elementary particle, atom, or other, as defined in the openPMD 2 species type extension, openPMD-standard/EXT_SpeciesType.md

parameter proportions: float | list[float | None] | None = None

Proportions of the initial distribution made up by each species

Methods

static get_input_item(var, i)[source]

The value for the i-th species of a parameter given for each species or for all

Attributes

Species_class: ClassVar[type[PICMI_Species] | None] = None

Properties

property nspecies

Number of species

property species_instances_dict

The species instances that have a name, by name

property species_instances_list

The species instances, in order