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

Correction to proton-boron fusion error check addressing issue #3797 #3823

Closed

Conversation

eebasso
Copy link
Member

@eebasso eebasso commented Apr 9, 2023

Changed PhysicalSpecies "helium" to "helium4" and made the error message string mention "helium4" instead of "alpha." It appears that PhysicalSpecies::alpha is currently unused. This is intended to address issue #3797.

Changed PhysicalSpecies "helium" to "helium4" and made the error message string mention "helium4" instead of "alpha." It appears that PhysicalSpecies::alpha is currently unused.
@eebasso eebasso changed the title Correction to proton-boron fusion error check Correction to proton-boron fusion error check addressing issue #3797 Apr 9, 2023
@RemiLehe RemiLehe self-requested a review April 10, 2023 23:05
@RemiLehe RemiLehe self-assigned this Apr 10, 2023
@RemiLehe
Copy link
Member

Thanks for this PR!

I actually also allowed alpha in addition to helium4. (See here for the difference between alpha and helium4 in WarpX: helium4 is the atom and includes the mass of the electrons, whereas alpha is the nucleus only.)

I also updated the proton-boron fusion test, since it was (incorrectly) using helium instead of helium4/alpha.

@eebasso
Copy link
Member Author

eebasso commented Apr 11, 2023

Thanks for this PR!

I actually also allowed alpha in addition to helium4. (See here for the difference between alpha and helium4 in WarpX: helium4 is the atom and includes the mass of the electrons, whereas alpha is the nucleus only.)

I also updated the proton-boron fusion test, since it was (incorrectly) using helium instead of helium4/alpha.

Thank you for the response. I was thinking of doing that change at first, but it seemed to me that the "helium4 OR alpha" check isn't currently done elsewhere in BinaryCollisionUtils, and so I was trying to be consistent. For example, deuterium-helium3 fusion allows helium4 as a product species, but not alpha. I assume that had to do with conserving the number of electrons.

Perhaps every instance of helium4 check needs to have an alpha check alternative? Technically, neither 3 x helium4 nor 3 x alpha conserves the number of electrons from proton + boron11 fusion, but 3*helium4 comes closer. The process of hydrogen1 + boron11 -> 3 x helium4 would conserve charge.

Edit: another alternative I can think of is to make one of alpha or helium4 as an alternative name to other in the map string_to_species defined in SpeciesPhysicalProperties.cpp.

Looking at the map species_to_properties, it seems that helium4 is still considered a +2 charged particle, but it has a larger mass than alpha due to two electrons.

        {PhysicalSpecies::helium4, Properties{
             amrex::Real(4.00260325413) * PhysConst::m_u,
             amrex::Real(2) * PhysConst::q_e}},
        {PhysicalSpecies::alpha, Properties{
             amrex::Real(4.00260325413) * PhysConst::m_u - amrex::Real(2) * PhysConst::m_e,
             amrex::Real(2) * PhysConst::q_e}},

@RemiLehe
Copy link
Member

That's a very good point.
There are indeed some inconsistencies between the mass and the charge of the species. I will discuss this with the other WarpX developers.

@eebasso
Copy link
Member Author

eebasso commented Apr 14, 2023

Excellent. I am happy to assist you in any way I can.

@RemiLehe RemiLehe closed this Dec 5, 2023
@RemiLehe
Copy link
Member

RemiLehe commented Dec 5, 2023

Superseded by #4480
(as discussed offline in the WarpX developer meeting)

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

Successfully merging this pull request may close these issues.

2 participants