Picongpu: openPMD plugin missing particle attributes

Created on 15 Oct 2020  路  5Comments  路  Source: ComputationalRadiationPhysics/picongpu

The openPMD plugin is not writing particle attributes e.g. mass, charge, ... for particles.
The attribute particle pusher is pinned to the iteration instead of the particle species.

bug plugin

All 5 comments

I just ran the openPMD-validator and the issue appears to be worse than just a few attributes:

openPMD_check_h5 -i simData_000000.h5 

Found 1 iteration(s)
Iteration 0 : found 6 meshes
Iteration 0 : found 1 particle species
Error: Attribute timeOffset in `/data/0/particles/e/momentum` is not of type '<map object at 0x2aaac3cdb390>' (is 'float32')!
Error: Attribute timeOffset in `/data/0/particles/e/position` is not of type '<map object at 0x2aaac3cdb358>' (is 'float32')!
Error: Attribute timeOffset in `/data/0/particles/e/positionOffset` is not of type '<map object at 0x2aaac3cdb240>' (is 'float32')!
Error: Attribute timeOffset in `/data/0/particles/e/weighting` is not of type '<map object at 0x2aaac3cdb2b0>' (is 'float32')!
Result: 4 Errors and 0 Warnings.

Even for version 0.4.2 using the libSplash output, we missed the charge attribute for ions:

openPMD_check_h5 -i simData_0.h5 

Found 1 iteration(s)
Iteration 0 : found 29 meshes
Iteration 0 : found 9 particle species
Error: Key charge (required) does NOT exist in `/data/0/particles/H`!
Error: Key charge (required) does NOT exist in `/data/0/particles/HeI`!
Error: Key charge (required) does NOT exist in `/data/0/particles/n`!
Result: 3 Errors and 0 Warnings.

This is not related to the issue, but to openPMD plugin. It seems that scalar particle attributes are output using openPMD scalar mesh attribute tag. Maybe it is internally the same, but I guess this may need to be fixed, or at least looked at.

I just saw the draft PR and it could re-use the old code logic if more ED-PIC extension parts are needed. It's quite compact:

The particle species attributes are declared in speciesAttributes.unitless.

With additional conversions for openPMD namings in picongpu/traits/PICToOpenPMD.tpp.

Notes:

This can be closed with #3389 being merged.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

saipavankalyan picture saipavankalyan  路  3Comments

ax3l picture ax3l  路  4Comments

ax3l picture ax3l  路  4Comments

ax3l picture ax3l  路  4Comments

hightower8083 picture hightower8083  路  4Comments