ECP-WarpX / WarpX

WarpX is an advanced electromagnetic & electrostatic Particle-In-Cell code.
https://ecp-warpx.github.io
Other
311 stars 196 forks source link

is there a binary collisional ionization feature? #3713

Open ZippoFight opened 1 year ago

ZippoFight commented 1 year ago

I am new to WarpX, and noticed ionization can be modelled by using a "background_mcc" type collision between electrons and background. I am wondering how to calculate the collisional ionization between electrons and atoms (or ions) that are not backgroud? For example between electrons and Ar1+ to produce Ar2+? Is it included in the "pairwisecoulomb" type of collision?

RemiLehe commented 1 year ago

Thanks for your question. Unfortunately, we currently do not have a module for collisional ionization that works with non-background species. (The "pairwisecoulomb" module only captures Coulomb collisions, but not ionization.) However, we are planning to add such a module in WarpX in the future.

ZippoFight commented 1 year ago

Thank you for your quick reply.

In this case, if I understand correctly, only one step of ionization can be calculated for background gas, for example from Ar (background) to Ar1+ (kinetic species). If we want to calculate the ionization from Ar1+ to Ar2+, it has to rely on the collisional ionization between two kinetic species (electrons and Ar1+). Am I right?

Another question: is elastic collision between kinetic particles included in Coulomb collsion process? Do you also have the plan to add collisions like binary excitation, binary elastic, binary charge exchange, recombination?

Thank you in advance.

ax3l commented 1 year ago

Let me comment on the second part.

Do you also have the plan to add collisions like binary excitation, binary elastic, binary charge exchange, recombination?

Excitations & recombinations are processes that are pretty costly both in memory and computing time PIC (and recombinations are also hard in terms of conservation of momentum & charge for EM PIC); this is a research topic that I followed for some time during my PhD and continue with a collaborator. We have no near-term plans or funding to implement this in WarpX yet. Definitely something we are interested in, has great applications in HEDLP & fusion physics and related fields, but will need significant development resources to implement (we already spend 1.5 PhD theses on this at my former lab; when finished, this roughly needs a developer for ~1-2 years to implement in WarpX).

If you like to contribute such an implementation or are aware of funding avenues, let us know :)

Elastic collisions & charge exchange on the other hand could be added relatively fast in the existing collisions framework and we plan to add them in the near term.

ZippoFight commented 1 year ago

Thank you for your reply. So collisional ionization, elastic collision and charge exchange can be added in the near future between non-backgroud collisions, right? Is there any time schedule for that?

ax3l commented 1 year ago

Yes, @roelof-groenewald et al. are interested on this. The timeline is not yet determined and depends on open proposals, but we can update you when we have more info.

RemiLehe commented 1 year ago

As a quick note here: one we start implementing collisional ionization, we may consider the following references for the calculation of cross-sections:

If others know of relevant references on the cross-sections, feel free to post them here.

roelof-groenewald commented 10 months ago

@ZippoFight elastic collisions and charge exchange between kinetic species are now available, see here. Collisional ionization has not been added yet, but will be in the future.

archermarx commented 6 months ago

I'm interested in trying to implement this. Could you give a sketch of what might be required?

roelof-groenewald commented 6 months ago

@archermarx you should connect with @RemiLehe since he is also looking to use binary ionization. We recently chatted about how that should be approached, and maybe he already started on it.

Wang-Zhongwei commented 1 month ago

Hi, I would also like to help. Any update on this? @archermarx @RemiLehe

RemiLehe commented 1 month ago

Thanks for your interest. There is a work-in-progress PR here: https://github.com/ECP-WarpX/WarpX/pull/5388 We'll let you know if we need some help. This should hopefully be merged within the next month.