Skip to content

Catalyst In Situ Analysis - #599

Merged
biddisco merged 19 commits into
IPPL-framework:masterfrom
klappi-s:catalyst-viz-v2.0.0
Sep 15, 2026
Merged

biddisco merged 19 commits into
IPPL-framework:masterfrom
klappi-s:catalyst-viz-v2.0.0

Conversation

@klappi-s

@klappi-s klappi-s commented Sep 4, 2026

Copy link
Copy Markdown
Collaborator

resolve #598
aand maybe #590

This PR...

  • ... adds libcatalyst as an external cmake dependency (fetchcontent)
  • ... enables In Situ visualization with ParaView Catalyst
  • ... enables Parameter Steering with ParaView Catalyst
  • ... instruments the demos/alpine/PenningTrap code with in situ viz capabilities
  • ... instruments the demos/alpine/FEL code with in situ viz capabilities
  • ... removes the current FEL visualization

@klappi-s

klappi-s commented Sep 9, 2026

Copy link
Copy Markdown
Collaborator Author

now resolves #590 completely by replacing third party json (nlohmann/json) parser with catalyst_conduit based json parser (which we have already due to the catalyst dependency).

Will supersede (resolves #210 PR) prio catalyst insitu code which then can be closed.

Further PR #350 (ascent based insitu; if further pursued) should replicate this PR approach for general insitu.
This might actually be a fairly easy AI Agent job, since ascent and catalyst are so similar, and we have a working example for ascent.

@klappi-s
klappi-s marked this pull request as ready for review September 9, 2026 16:04
@klappi-s

klappi-s commented Sep 9, 2026

Copy link
Copy Markdown
Collaborator Author

cscs-ci run cscs-ci-gh200, cscs-ci-mi300, cscs-ci-openmp

@klappi-s

Copy link
Copy Markdown
Collaborator Author

cscs-ci run cscs-ci-openmp

Comment thread demos/fel/config.json Outdated
@aaadelmann
aaadelmann self-requested a review September 10, 2026 18:55
On Linux x86_64 Conduit implements conduit_int64 as signed long, so the
Catalyst Conduit C++ wrapper exposes no set_external(long long*) overload.
Add ippl::detail::conduitCompatiblePtr in ParticleAttrib.hpp that
reinterpret-casts long long* / unsigned long long* to the matching Conduit
bitwidth pointer when necessary, guarded by static_asserts on size and
alignment. Use it for scalar attributes and vector components in
signConduitBlueprintNode. This fixes the ParticleUpdate build error caused
by ParticleAttrib<long long>.
@biddisco

Copy link
Copy Markdown
Collaborator

I tried building on my machine and had a compilation error - I have a made a PR onto this branch in @klappi-s 's repo - I can't make the PR directly into this branch it seems.

VIZ: map long long particle attributes to Conduit bitwidth types
@klappi-s

Copy link
Copy Markdown
Collaborator Author

thanks @biddisco I accepted the PR in my fork

@biddisco biddisco left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This basically works, there are some issues with the caching that need to be addressed, but these can be done in a separate PR since we need this basic infrastructure merged in order to make progress.
I will submit a follow UP PR with fixes and additional functionality

@biddisco
biddisco added this pull request to the merge queue Sep 15, 2026
Merged via the queue into IPPL-framework:master with commit 1b81994 Sep 15, 2026
6 checks passed
@klappi-s klappi-s mentioned this pull request Sep 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

In Situ Analysis with Catalyst

3 participants