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

Relation to other BLAST codes #138

Open
berceanu opened this issue Oct 14, 2023 · 1 comment
Open

Relation to other BLAST codes #138

berceanu opened this issue Oct 14, 2023 · 1 comment

Comments

@berceanu
Copy link

Inspecting the list of BLAST codes, I see some have various degrees of overlap with Wake-T functionality. More specifically,

  • HiPACE++ can model both beam driven and laser-driven plasma acceleration stages quasi-statically
  • ImpactX can do particle tracking, including space charge and various beam elements

What does Wake-T fit into the BLAST code universe? For instance, is its relation to ImpactX similar to the relation between fbpic and WarpX?

@AngelFP
Copy link
Owner

AngelFP commented Nov 8, 2023

Hi @berceanu ,
That's a good question. There is indeed some overlap between the codes, but each of them has its own focus.

HiPACE++ is a full 3D quasi-static code made mainly for HPC (GPU acceleration, massively parallel, etc), while the purpose of Wake-T is to allow for inexpensive (seconds to minutes) simulations of plasma acceleration even on a laptop by using reduced models (among them, a 2D r-z quasi-static model).

The idea of Wake-T is also to provide an API that is more similar to conventional tracking codes, and which includes typical beamline elements like magnets, drifts, etc. This makes it very useful for multi-stage modeling. The main focus is however on the plasma modeling, with only limited support for the more "conventional" elements. On the other hand ImpactX is mainly focused on the conventional side, including GPU acceleration and MPI. I'm not sure if there is currently support for plasma elements (maybe @ax3l can comment on that).

What's also nice is that all of these codes can talk to each other thanks to openPMD, so it is possible to easily combine them for start-to-end modeling.

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

No branches or pull requests

2 participants