diff options
author | 2023-04-11 05:15:35 -0800 | |
---|---|---|
committer | 2023-04-11 06:15:35 -0700 | |
commit | bc15edad62ffad16d81d7ba9cb211358fbcba522 (patch) | |
tree | 8c71a1638e9d4c5ae88e28a453cdda3948962f74 /Source/Particles/Collision/BinaryCollision/BinaryCollisionUtils.cpp | |
parent | 706cbb8bb65fb41dd0c0eb2cfe0d02565b4e03d3 (diff) | |
download | WarpX-bc15edad62ffad16d81d7ba9cb211358fbcba522.tar.gz WarpX-bc15edad62ffad16d81d7ba9cb211358fbcba522.tar.zst WarpX-bc15edad62ffad16d81d7ba9cb211358fbcba522.zip |
DD fusion anneutronic branch (#3789)
* Allow DD fusion products to be tritium + protium
For deuterium-deuterium (DD) fusion there are two branches:
| He-3 + n (neutronic branch, 50% probability)
d + d -> <
| t + p (anneutronic branch, 50% probability)
Currently in Warpx anneutronic DD fusion only works when the species of
the fusion products are tritium (or hydrogen3) and proton. If protium
(or hydrogen1) are specified instead of proton, the simulation aborts
with the following error message:
amrex::Abort::0::ERROR: Product species of proton-boron fusion must be of type helium3 and neutron, or tritium and proton !!!
The proposed diff allows anneutronic DD fusion to produce either protium
/ hydrogen1 or proton. It also corrects the error message.
* Shows that DD fusion cannot produce protium
Input deck that demonstrates how anneutronic DD fusion in the
development branch cannot produce protium, only proton.
Some options of the anneutronic DD branch:
1) tritium + proton (currently the only option)
2) tritium + protium (added in this branch)
3) triton + proton (another alternative)
Option 1) seems inconsistent (why include the electron mass in one
fusion product species but not in the other?). Option 2) is enabled
by the diff in this branch. Option 3) would require adding a triton
species (and deuteron and helion species for consistency).
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Remove test file
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>
Diffstat (limited to 'Source/Particles/Collision/BinaryCollision/BinaryCollisionUtils.cpp')
-rw-r--r-- | Source/Particles/Collision/BinaryCollision/BinaryCollisionUtils.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/Source/Particles/Collision/BinaryCollision/BinaryCollisionUtils.cpp b/Source/Particles/Collision/BinaryCollision/BinaryCollisionUtils.cpp index 81acecd3e..d7cc754d0 100644 --- a/Source/Particles/Collision/BinaryCollision/BinaryCollisionUtils.cpp +++ b/Source/Particles/Collision/BinaryCollision/BinaryCollisionUtils.cpp @@ -58,10 +58,12 @@ namespace BinaryCollisionUtils{ return NuclearFusionType::DeuteriumDeuteriumToNeutronHelium; } else if ( (product_species1.AmIA<PhysicalSpecies::hydrogen3>() && product_species2.AmIA<PhysicalSpecies::proton>()) - ||(product_species1.AmIA<PhysicalSpecies::proton>() && product_species2.AmIA<PhysicalSpecies::hydrogen3>())){ + ||(product_species1.AmIA<PhysicalSpecies::proton>() && product_species2.AmIA<PhysicalSpecies::hydrogen3>()) + ||(product_species1.AmIA<PhysicalSpecies::hydrogen3>() && product_species2.AmIA<PhysicalSpecies::hydrogen1>()) + ||(product_species1.AmIA<PhysicalSpecies::hydrogen1>() && product_species2.AmIA<PhysicalSpecies::hydrogen3>())){ return NuclearFusionType::DeuteriumDeuteriumToProtonTritium; } else { - amrex::Abort("ERROR: Product species of proton-boron fusion must be of type helium3 and neutron, or tritium and proton"); + amrex::Abort("ERROR: Product species of deuterium-deuterium fusion must be of type helium3 and neutron, or tritium and proton"); } } else if ((species1.AmIA<PhysicalSpecies::hydrogen2>() && species2.AmIA<PhysicalSpecies::helium3>()) |