Open berceanu opened 1 year ago
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.
Inspecting the list of
BLAST
codes, I see some have various degrees of overlap withWake-T
functionality. More specifically,HiPACE++
can model both beam driven and laser-driven plasma acceleration stages quasi-staticallyImpactX
can do particle tracking, including space charge and various beam elementsWhat does
Wake-T
fit into theBLAST
code universe? For instance, is its relation toImpactX
similar to the relation betweenfbpic
andWarpX
?