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

Open
wants to merge 4 commits into
base: development
Choose a base branch
from

Conversation

andrewcombs
Copy link

@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
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.

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.

None yet

3 participants