Added Catalyst2 Support#4121
Conversation
| 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
| state["time"].set(time); | ||
|
|
||
| auto& meshChannel = node["catalyst/channels/mesh"]; | ||
| // meshChannel["type"].set_string("amrmesh"); |
Check notice
Code scanning / CodeQL
Commented-out code
4662949 to
bbb1953
Compare
|
@ax3l It looks like the style checker isn't enjoying the catalyst pipelines ( |
- 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
0811c15 to
3a0bd73
Compare
|
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. |
|
Wohoo, AMReX-Codes/amrex#4011 is in 🎉 @ChristosT, are you taking this over? :) Feel free to open a new PR here as well 🚀 ✨ |
|
Hi @c-wetterer-nelson @ChristosT, please let us know how to progress on this :) |
|
I will be completing this next week ;) |
|
Continued in #5155 🎉 |
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: