picongpu.pypicongpu.species.operation.setboundelectrons

This file is part of the PIConGPU. Copyright 2021-2023 PIConGPU contributors Authors: Hannes Troepgen, Brian Edward Marre License: GPLv3+

Module Contents

Classes

SetBoundElectrons

assigns and set the boundElectrons attribute

class picongpu.pypicongpu.species.operation.setboundelectrons.SetBoundElectrons

Bases: picongpu.pypicongpu.species.operation.operation.Operation

Inheritance diagram of picongpu.pypicongpu.species.operation.setboundelectrons.SetBoundElectrons

assigns and set the boundElectrons attribute

Standard attribute for pre-ionization.

species

species which will have boundElectrons set

bound_electrons

number of bound electrons to set

attributes_by_species

attributes (exclusively) initialized by this operation

check_preconditions() None

check own parameters and species this operator will be applied to

Must be implemented (overwritten) by the operator.

Throws if a precondition is not met, and passes silently if everything is okay.

If this operator relies on certain constants of classes to be set, (e.g. mass, charge) this must be checked here.

All parameters, including the species this Operator is to be applied to must be passed beforehand. Note: there is no unified way of passing parameters, please define your own. (Rationale: The structure of parameters is very heterogeneous.)

prebook_species_attributes() None

fills attributes_by_species

Must be implemented (overwritten) by the operator.

Generates the Attribute objects and pre-books them together with the species they are to be initialized for in self.attributes_by_species.

Will only be run after self.check_preconditions() has passed.

Note: Additional checks are not required, compatibility to other operations will be ensured from outside.

MUST NOT MODIFY THE SPECIES.

bake_species_attributes() None

applies content of attributes_by_species to species

For each species in attributes_by_species.keys() assigns the attributes to their respective species, precisely appends to the list Species.attributes

Expects check_preconditions() and prebook_species_attributes() to have passed previously (without error).

Additionally, performs the following sanity checks:

  • at least one attribute is assigned

  • the species does not already have an attribute of the same type

  • every attribute is assigned exclusively to one species

Intended usage:

  1. check for dependencies in used species

  2. fill self.attributes_by_species (with newly generated objects) must be performed by self.prebook_species_attributes()

  3. call self.bake_species_attributes() (this method) to set species.attributes accordingly

get_rendering_context() dict

get rendering context representation of this object

delegates work to _get_serialized and invokes checks performed by check_context_for_type(). :raise ValidationError: on schema violiation :raise RuntimeError: on schema not found :return: self as rendering context

static check_context_for_type(type_to_check: type, context: dict) None

check if the given context is valid for the given type

Raises on error, passes silently if okay.

Raises:
  • ValidationError – on schema violiation

  • RuntimeError – on schema not found