Skip to main content

A Python package to easily read input + output data from dHybridR.

Project description

dhybridrpy

PyPI version Documentation Status

dhybridrpy allows you to easily load and plot data from dHybridR simulations. It provides programmatic access to simulation input and output data and the ability to quickly visualize that data.

Features

  • Efficiently access simulation input data and output data like timesteps, fields (e.g., magnetic field), phases (e.g., distribution functions), and particle tracks.
  • Quickly plot 1D, 2D, and 3D output data.
  • Compute FFT power spectra and 1D spatial averages.
  • Follow individual particle trajectories across a simulation.
  • Lazily load large datasets using dask.
  • Perform arithmetic operations on data objects directly.

Installation

The latest package version can be installed via pip:

pip install dhybridrpy

Usage

Basic usage of the package:

from dhybridrpy import DHybridrpy

# Enter your input file and output folder paths here
input_file = "examples/data/inputs/input"
output_folder = "examples/data/Output"

dpy = DHybridrpy(input_file=input_file, output_folder=output_folder)

# Print simulation timesteps
print(dpy.timesteps())

# Access an input variable
print(f"Timestep = {dpy.inputs['time']['dt']}")

# Access data at a specific timestep
ts = 1
Bx = dpy.timestep(ts).fields.Bx()
print(Bx.data)

# Plot data
import matplotlib.pyplot as plt
Bx.plot()
plt.show()

Further examples can be found in the examples folder and in the online documentation.

CLI Tool: dplot

dplot is a command-line tool for visualizing dHybridR simulation fields and phases across all timesteps, saving PNG images and optionally creating MP4 videos. It is included when you install dhybridrpy.

Discover available data

dplot -i path/to/input

Plot specific fields

dplot -i path/to/input --fields Bx --fields By

Plot phase-space distributions

dplot -i path/to/input --phases p1x1 --species 3

Plot all fields with video output

dplot -i path/to/input --all-fields --video

Key options: --video, --fps, --colormap, --dpi, --vmin/--vmax, --type, --plots-dir, -j (parallel processes), -v (verbose). Large datasets are automatically downsampled to 1080p. See the dplot documentation for full details.

Documentation

Full documentation is available at dhybridrpy.readthedocs.io.

License

Project licensed under the GNU Affero General Public License v3.0. See the LICENSE file for details.

Authors

  • Bricker Ostler
  • Miha Cernetic

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dhybridrpy-1.10.tar.gz (34.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dhybridrpy-1.10-py3-none-any.whl (35.7 kB view details)

Uploaded Python 3

File details

Details for the file dhybridrpy-1.10.tar.gz.

File metadata

  • Download URL: dhybridrpy-1.10.tar.gz
  • Upload date:
  • Size: 34.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for dhybridrpy-1.10.tar.gz
Algorithm Hash digest
SHA256 7bfbbbc9601ce3a176a9089e5594e51dc24b6bad64ffee5c43c965bfc062ee05
MD5 62ab7a7d3cb199d7dc8bf92d4c59a98e
BLAKE2b-256 427754b1c2133ee6f8ba372676b1c11b1dfcb2d3727a9bc707a6a873bc3f63f9

See more details on using hashes here.

File details

Details for the file dhybridrpy-1.10-py3-none-any.whl.

File metadata

  • Download URL: dhybridrpy-1.10-py3-none-any.whl
  • Upload date:
  • Size: 35.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for dhybridrpy-1.10-py3-none-any.whl
Algorithm Hash digest
SHA256 d84f1d231622791f869cbe30e3e691d3b7dd25131fdfe800e2df281ca8d64dc0
MD5 74c4167888e16bfba123e96b97f25b85
BLAKE2b-256 703b55f8d33f2776041ee56718f84d7572aed2e5388114eb1b5287ebe760e6a5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page