picongpu.pypicongpu.output.macro_particle_count

This file is part of PIConGPU. Copyright 2021-2024 PIConGPU contributors Authors: Masoud Afshari License: GPLv3+

Classes

MacroParticleCount

general interface for all plugins

Module Contents

class picongpu.pypicongpu.output.macro_particle_count.MacroParticleCount

Bases: picongpu.pypicongpu.output.plugin.Plugin

Inheritance diagram of picongpu.pypicongpu.output.macro_particle_count.MacroParticleCount

general interface for all plugins

species
period
classmethod __init_subclass__()
get_rendering_context()

retrieve a generic context containing type information specifying a subclass

Problem: Every self-registered subclass has its respective schema, and it is difficult in JSON (particularly in a mustache-compatible way) to get the type of the schema.

Solution: The normal rendering of self-registered subclasses via get_rendering_context() provides only their parameters, i.e. there is no meta information on types etc.

If a generic context is requested one can use the schema for parent class, for which this method returns the correct content. It includes metainformation and the data on the schema itself.

E.g.:

{
    "type": {
        "phasespace": true,
        "auto": false,
        ...
    },
    "data": DATA
}

where DATA is the serialization as returned by get_rendering_context().

__hash__()

custom hash function for indexing in dicts

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 violation

  • RuntimeError – on schema not found