algorithms.openpmd Module

paraview.algorithms.openpmd.createModifiedCallback(anobject)[source]
paraview.algorithms.openpmd.mesh_needs_transpose(mesh)[source]

VTK meshes are in order FortranArray[x,y,z]. openPMD supports labeling nD arrays.

class paraview.algorithms.openpmd.openPMDReader[source]

Bases: vtkmodules.util.vtkAlgorithm.VTKPythonAlgorithmBase

A reader that reads openPMD format.

openPMD is a meta-data format implemented in ADIOS1/2, HDF5, JSON and other hierarchical data formats. References: - https://github.com/openPMD - https://www.openPMD.org

This class implements … TODO … VTKPythonAlgorithmBase

In detail, we implement openPMD reading via the openPMD-api Python bindings. References: - https://openpmd-api.readthedocs.io - https://github.com/openPMD/openPMD-api

FillOutputPortInformation(port, info)[source]

Tells the pipeline which kind of data this source produces

Declares two DATA_TYPE_NAME outputs: - vtkPartitionedDataSet: openPMD meshes - vtkPartitionedDataSetCollection: openPMD particle species

port: Int

Output indices: 0 for meshes, 1 for particle species

info: vtkInformation

Gets updated to set two output types (DATA_TYPE_NAME).

GetDataArraySelection()[source]

Which selected mesh arrays can be loaded.

See vtkDataArraySelection for API.

GetParticleArraySelection()[source]

Which selected particle arrays can be loaded.

See vtkDataArraySelection for API.

GetSpeciesSelection()[source]

Which selected particle species can be loaded.

GetTimestepValues()[source]

Which physical time step values (as float) are available?

Required by the UI: populates available time steps.

RequestData(request, inInfoVec, outInfoVec)[source]

Overwritten by subclass to execute the algorithm.

RequestInformation(request, inInfoVec, outInfoVec)[source]

This is where we produce meta-data for the data pipeline.

The meta-data we produce: - time information - mesh names - species names - particle array names per species

request:

Not used.

inInfoVec:

Not used.

outInfoVec: list of vtkInformation

One per output port because they can have different meta-data. We populate this object.

SetFileName(name)[source]

Specify filename for the file to read.

Path to “.pmd” one-line text file that holds the file name pattern for _series open opening pattern. Reference on syntax in the file: - https://github.com/openPMD/openPMD-standard/blob/1.1.0/STANDARD.md#hierarchy-of-the-data-file - https://github.com/openPMD/openPMD-standard/blob/1.1.0/STANDARD.md#iterations-and-time-series - https://openpmd-api.readthedocs.io/en/latest/_static/doxyhtml/classopen_p_m_d_1_1_series.html