Skip to content

Conversation

@mvictoras
Copy link

This PR integrates Ascent in situ visualization into the PenningTrap example in IPPL. It enables real-time visualization of particle data during simulation without requiring post-processing, significantly improving analysis workflows.

Make sure to configure IPPL with Ascent support:

cmake -DENABLE_ASCENT=ON -DASCENT_DIR=/path/to/ascent ..

@aaadelmann
Copy link
Member

Victor thanks for the PR. If you did not have done already, could I ask you to pull the master into #350? Thanks!!

@aaadelmann aaadelmann requested review from aaadelmann and srikrrish May 7, 2025 18:14
Copy link
Member

@aaadelmann aaadelmann left a comment

Choose a reason for hiding this comment

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

Please add information how to obtain the correct version of Acent and Catalist. In the best case can you add FetchContent to the CMakeList.txt

A short HowTo run the visualisation of PenningTrap would be very helpful.

@srikrrish
Copy link
Member

srikrrish commented May 19, 2025

Thanks a lot @mvictoras for making this interface and the PR. Does it already include the Catalyst stuffs from @jhgoebbert ? It definitely includes some but I am not sure if it includes all of it. I am not sure what is the best strategy here. May be we update this branch/PR with @jhgoebbert 's branch from his fork as well as the current Ippl master and just merge only this? @jhgoebbert please feel free to comment on it. I think it is better to merge as soon as possible and then improve upon it (e.g. with respect to organization etc.) rather than the individual floating branches in every one's own fork. What do you guys think?

node["topologies/" + particlesName + "_center_topo/type"].set_string("points");
node["topologies/" + particlesName + "_center_topo/coordset"].set_string(particlesName + "_center_coords");

std::vector<double> dummy_field = { 1.0f };
Copy link
Member

Choose a reason for hiding this comment

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

What's the purpose of this dummy field?

void Execute_Field(Field* field, const std::string& fieldName,
Kokkos::View<typename Field::view_type::data_type, Kokkos::LayoutLeft, Kokkos::HostSpace>& host_view_layout_left,
conduit::Node& node) {
static_assert(Field::dim == 3, "AscentAdaptor only supports 3D");
Copy link
Member

Choose a reason for hiding this comment

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

Please put this assert also in the Execute_Particle.

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.

4 participants