Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Extend to ParaView #47

Open
cindytsai opened this issue Feb 4, 2022 · 5 comments
Open

Extend to ParaView #47

cindytsai opened this issue Feb 4, 2022 · 5 comments
Labels
new-feature New feature. pri-future Priority: future project

Comments

@cindytsai
Copy link
Collaborator

Extend libyt to ParaView

If yt can connect to ParaView (link), then maybe libyt can bypass Catalyst which is a tool for simulation codes to do inline-analysis (in situ) in ParaView.

Although there are things worth notice in real-time volume rendering:

  • If we wish to do volume rendering in ParaView, we need Nvidia IndeX. But it only supports serial process. It has additional fees if run on multi-node system. (link)
  • Which means if libyt really wants to support ParaView real-time volume rendering, only one node can be in charge of this inline-analysis. And libyt is not designed for this kind of workflow yet.
@cindytsai cindytsai added new-feature New feature. pri-future Priority: future project labels Feb 4, 2022
@matthewturk
Copy link
Member

matthewturk commented Feb 4, 2022 via email

@hyschive
Copy link
Contributor

hyschive commented Feb 9, 2022

@matthewturk We notice this yt plugin for ParaView but it was more than ten years ago. Is it still a thing?

@matthewturk
Copy link
Member

matthewturk commented Feb 24, 2022 via email

@hyschive
Copy link
Contributor

@matthewturk Thanks for the comment!

@cindytsai
Copy link
Collaborator Author

After reading Catalyst's user guide, I think libyt has potential to serve as an interface between AMR grids simulation code and ParaView.

To support in-situ analysis in ParaView, developer needs to create an adapter that transforms simulation info into forms that Catalyst can process. It has the similar procedure like libyt, initialization, prepare data, do in-situ analysis, and finalization. And it supports MPI as well.

libyt Catalyst
Initialize yt_init CatalystInit
Prepare Data other APIs CatalystCoProcess
Finalize yt_finalize CatalystFinalize

The most important part is CatalystCoProcess. It needs to provide the grid and field data structures and other simulation information. This is already passed in to libyt! If we can properly wrap these data to VTK data objects, then libyt can support inline-rendering and other functionalities in ParaView with or without UI. (This is just a big picture. It still needs to be carefully checked.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
new-feature New feature. pri-future Priority: future project
Projects
None yet
Development

No branches or pull requests

3 participants