AngelFP / Wake-T

A fast tracking code for plasma accelerators
https://wake-t.readthedocs.io
GNU General Public License v3.0
34 stars 14 forks source link

Relation to other BLAST codes #138

Open berceanu opened 1 year ago

berceanu commented 1 year ago

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

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