Skip to content

Releases: yt-project/libyt

v0.1.0

29 Aug 21:00
1ec106a
Compare
Choose a tag to compare

This is the very first release of libyt!

It is an in situ analysis tool that allows researchers to analyze and visualize data using yt or other Python packages in MPI parallel computing during simulation runtime.

Features

In Situ Analysis

  • Support in situ analysis using Python in MPI parallel computing. It also supports serial computing.
  • Support binding AMR grid structured simulation (like GAMER and Enzo) to yt and do analysis with it. This includes:
    • binding AMR grid hierarchy
    • binding simulation field/particle data
    • binding user-defined C function to Python and enabling back-communication from Python to simulation
  • Generally, it supports all yt functions that does data IO in every process.
  • Easy conversion from post-processing script to inline script. For example, this save a projection plot:
    import yt_libyt                   # import libyt's yt frontend
    import yt                         # import yt
    #yt.enable_parallelism()          # make yt works in parallel computing (require mpi4py)
    
    def yt_inline():
        ds = yt_libyt.libytDataset()  # <--> yt.load("Data")
        proj = yt.ProjectionPlot(ds, "x", ("gas", "density"))
        if yt.is_root():
            proj.save()

Entry Points to Interact with Simulations

  • Support interactive Python prompt and reloading Python script features so that user can use it to interact with the simulation data in the memory using Python without the need to store it on a hard disk first.
  • Support using Jupyter Notebook/JupyterLab to interact with the simulation data in the memory using Python without the need to store it on a hard disk first.

Related Repos

Docs