aboutsummaryrefslogtreecommitdiff
path: root/Source/Particles/Collision/BinaryCollision/ParticleCreationFunc.cpp
diff options
context:
space:
mode:
authorGravatar Remi Lehe <remi.lehe@normalesup.org> 2022-10-31 15:51:23 -0700
committerGravatar GitHub <noreply@github.com> 2022-10-31 22:51:23 +0000
commit5645f4b37a6f6f21705433d5afe28e9167eb2885 (patch)
tree199b4c63106ee0381cc842c6398c842816c89939 /Source/Particles/Collision/BinaryCollision/ParticleCreationFunc.cpp
parent886e495dd471aaf0b9279fb001ff55af713c5685 (diff)
downloadWarpX-5645f4b37a6f6f21705433d5afe28e9167eb2885.tar.gz
WarpX-5645f4b37a6f6f21705433d5afe28e9167eb2885.tar.zst
WarpX-5645f4b37a6f6f21705433d5afe28e9167eb2885.zip
Implement D+D and D+He fusion (#3257)
* Implement D+D -> n+He3 fusion * Fix logic for fusion reaction * Check products in a different place * Correct compilation error * Implement D+D -> T+p cross-section * Update example * Use clearer naming convention for fusion types * Revert changes to example input script * Add analysis script * Progress on tests * Use 2 species in test * Correct momentum of colliding species * Update test * Update test * Generalize species names in fusion tests * Update benchmarks * Correct typo * Updated scripts * Update script so that it works for D+T and D+D * Update CI * Add benchmark file * Correct typo * Fix compilation on GPU * Update RZ CI test * Implement Deuterium-Helium reaction * Apply suggestions from code review Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com> Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
Diffstat (limited to 'Source/Particles/Collision/BinaryCollision/ParticleCreationFunc.cpp')
-rw-r--r--Source/Particles/Collision/BinaryCollision/ParticleCreationFunc.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/Source/Particles/Collision/BinaryCollision/ParticleCreationFunc.cpp b/Source/Particles/Collision/BinaryCollision/ParticleCreationFunc.cpp
index bab92e486..3b1951107 100644
--- a/Source/Particles/Collision/BinaryCollision/ParticleCreationFunc.cpp
+++ b/Source/Particles/Collision/BinaryCollision/ParticleCreationFunc.cpp
@@ -23,7 +23,7 @@ ParticleCreationFunc::ParticleCreationFunc (const std::string collision_name,
m_collision_type = BinaryCollisionUtils::get_collision_type(collision_name, mypc);
- if (m_collision_type == CollisionType::ProtonBoronFusion)
+ if (m_collision_type == CollisionType::ProtonBoronToAlphasFusion)
{
// Proton-Boron fusion only produces alpha particles
m_num_product_species = 1;
@@ -34,7 +34,9 @@ ParticleCreationFunc::ParticleCreationFunc (const std::string collision_name,
m_num_products_device.push_back(3);
#endif
}
- else if (m_collision_type == CollisionType::DeuteriumTritiumFusion)
+ else if ((m_collision_type == CollisionType::DeuteriumTritiumToNeutronHeliumFusion)
+ || (m_collision_type == CollisionType::DeuteriumDeuteriumToProtonTritiumFusion)
+ || (m_collision_type == CollisionType::DeuteriumDeuteriumToNeutronHeliumFusion))
{
m_num_product_species = 2;
m_num_products_host.push_back(1);