aboutsummaryrefslogtreecommitdiff
path: root/Source/Particles/Collision/BinaryCollision
diff options
context:
space:
mode:
authorGravatar Luca Fedeli <luca.fedeli@cea.fr> 2022-07-05 23:33:27 +0200
committerGravatar GitHub <noreply@github.com> 2022-07-05 21:33:27 +0000
commit5d5f1183aae1fcb973e8651e902e5b83deaa3660 (patch)
treed20807e59132d391eb30fa3fb41c0b6f2235e0fd /Source/Particles/Collision/BinaryCollision
parent99a0ac440bb4519dfbbb4ee0d637247ab7599305 (diff)
downloadWarpX-5d5f1183aae1fcb973e8651e902e5b83deaa3660.tar.gz
WarpX-5d5f1183aae1fcb973e8651e902e5b83deaa3660.tar.zst
WarpX-5d5f1183aae1fcb973e8651e902e5b83deaa3660.zip
Add new entries in Physical Species properties (+ refactoring of the SpeciesPhysicalProperties file) (#3090)
* initial work * fixed bugs and added species * update documentation * delete unused file * Add neutron * Fix nuclear fusion * Reset benchmarks * Update values of mass and charge * Correct compilation error * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci Co-authored-by: Remi Lehe <remi.lehe@normalesup.org> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Diffstat (limited to 'Source/Particles/Collision/BinaryCollision')
-rw-r--r--Source/Particles/Collision/BinaryCollision/BinaryCollisionUtils.cpp4
-rw-r--r--Source/Particles/Collision/BinaryCollision/NuclearFusion/NuclearFusionFunc.H2
-rw-r--r--Source/Particles/Collision/BinaryCollision/NuclearFusion/ProtonBoronFusionInitializeMomentum.H2
3 files changed, 4 insertions, 4 deletions
diff --git a/Source/Particles/Collision/BinaryCollision/BinaryCollisionUtils.cpp b/Source/Particles/Collision/BinaryCollision/BinaryCollisionUtils.cpp
index 7e78d95ed..cc0c70fce 100644
--- a/Source/Particles/Collision/BinaryCollision/BinaryCollisionUtils.cpp
+++ b/Source/Particles/Collision/BinaryCollision/BinaryCollisionUtils.cpp
@@ -26,9 +26,9 @@ namespace BinaryCollisionUtils{
auto& species1 = mypc->GetParticleContainerFromName(species_names[0]);
auto& species2 = mypc->GetParticleContainerFromName(species_names[1]);
- if ((species1.AmIA<PhysicalSpecies::hydrogen>() && species2.AmIA<PhysicalSpecies::boron11>())
+ if ((species1.AmIA<PhysicalSpecies::proton>() && species2.AmIA<PhysicalSpecies::boron11>())
||
- (species1.AmIA<PhysicalSpecies::boron11>() && species2.AmIA<PhysicalSpecies::hydrogen>())
+ (species1.AmIA<PhysicalSpecies::boron11>() && species2.AmIA<PhysicalSpecies::proton>())
)
{
return NuclearFusionType::ProtonBoron;
diff --git a/Source/Particles/Collision/BinaryCollision/NuclearFusion/NuclearFusionFunc.H b/Source/Particles/Collision/BinaryCollision/NuclearFusion/NuclearFusionFunc.H
index b20395515..be1d9622e 100644
--- a/Source/Particles/Collision/BinaryCollision/NuclearFusion/NuclearFusionFunc.H
+++ b/Source/Particles/Collision/BinaryCollision/NuclearFusion/NuclearFusionFunc.H
@@ -76,7 +76,7 @@ public:
auto& product_species = mypc->GetParticleContainerFromName(product_species_name[0]);
WARPX_ALWAYS_ASSERT_WITH_MESSAGE(
product_species.AmIA<PhysicalSpecies::helium>(),
- "ERROR: Product species of proton-boron fusion must be of type helium");
+ "ERROR: Product species of proton-boron fusion must be of type alpha");
}
// default fusion multiplier
diff --git a/Source/Particles/Collision/BinaryCollision/NuclearFusion/ProtonBoronFusionInitializeMomentum.H b/Source/Particles/Collision/BinaryCollision/NuclearFusion/ProtonBoronFusionInitializeMomentum.H
index 9a63874fd..085fc597f 100644
--- a/Source/Particles/Collision/BinaryCollision/NuclearFusion/ProtonBoronFusionInitializeMomentum.H
+++ b/Source/Particles/Collision/BinaryCollision/NuclearFusion/ProtonBoronFusionInitializeMomentum.H
@@ -81,7 +81,7 @@ namespace {
// which can cause compilation to fail or generate a warning, so we're explicitly setting
// them as double. Note that nuclear fusion module does not currently work with single
// precision anyways.
- constexpr double m_alpha = PhysConst::m_p * 3.97369_prt;
+ constexpr double m_alpha = PhysConst::m_u * 4.002602_prt;
constexpr double m_beryllium = PhysConst::m_p * 7.94748_prt;
constexpr double mBe_sq = m_beryllium*m_beryllium;
constexpr amrex::ParticleReal c_sq = PhysConst::c * PhysConst::c;