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

Added Catalyst2 Support #4121

Closed

Conversation

andrewcombs
Copy link
Contributor

@andrewcombs andrewcombs commented Jul 25, 2023

Summary

Adds an implementation of Catalyst 2 that's very similar to the implementation of Ascent. It creates a new Catalyst flush format that handles the initialization, finalization, and execution of the pipeline. Because of its similarities to Ascent, a new flush format called FlushFormatInSitu was added that both Ascent and Catalyst inherit from (specifically for writing particles).

Additional Background

This is built in an additional pull request to AMReX which adds build support for Catalyst2.

Notes

Python functionality is very limited and in most cases simply does not work

Checklists

TODO:

  • Add a github workflow tests
  • Add examples
  • Adding documentation

std::string message = " Error: Failed to execute Catalyst!\n";
std::cerr << message << err << std::endl;
amrex::Print() << message;
// amrex::Abort(message);

Check notice

Code scanning / CodeQL

Commented-out code

This comment appears to contain commented-out code.
state["time"].set(time);

auto& meshChannel = node["catalyst/channels/mesh"];
// meshChannel["type"].set_string("amrmesh");

Check notice

Code scanning / CodeQL

Commented-out code

This comment appears to contain commented-out code.
@ax3l ax3l self-requested a review July 25, 2023 20:13
@ax3l ax3l self-assigned this Jul 25, 2023
@ax3l ax3l added the component: diagnostics all types of outputs label Jul 25, 2023
@andrewcombs andrewcombs force-pushed the catalyst2-support branch 3 times, most recently from 4662949 to bbb1953 Compare July 31, 2023 19:43
@andrewcombs
Copy link
Contributor Author

@ax3l It looks like the style checker isn't enjoying the catalyst pipelines (sample_catalyst_pipeline.py) being inside Examples. Is there somewhere else I should put them instead?

andrewcombs and others added 4 commits August 9, 2023 08:56
- Created a parent FlushFormat for Catalyst and Ascent

- Added Catalyst documentation
	- Fixed documentation mistake

- Added mesh (electrostatic sphere) and particle (ioniaztion) examples

- Fixed Catalyst particle striding error
@c-wetterer-nelson
Copy link
Contributor

Hey @ax3l it looks like we have some CI failures caused by our reliance on the AMReX PR. We are getting the CI build test going today for both AMReX and WarpX, so they should both be ready for review shortly. what is the current timeline for bumping AMReX in WarpX? Once we have the AMReX PR in, we should hopefully see passing build tests here.

@ax3l ax3l mentioned this pull request Jul 30, 2024
5 tasks
@ax3l
Copy link
Member

ax3l commented Jul 30, 2024

Wohoo, AMReX-Codes/amrex#4011 is in 🎉

@ChristosT, are you taking this over? :) Feel free to open a new PR here as well 🚀 ✨

@ax3l
Copy link
Member

ax3l commented Aug 12, 2024

Hi @c-wetterer-nelson @ChristosT, please let us know how to progress on this :)

@ChristosT
Copy link
Contributor

I will be completing this next week ;)

@ChristosT ChristosT mentioned this pull request Aug 20, 2024
@ChristosT
Copy link
Contributor

@ax3l see here #5155

@ax3l
Copy link
Member

ax3l commented Aug 20, 2024

Continued in #5155 🎉

@ax3l ax3l closed this Aug 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component: diagnostics all types of outputs
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants