aboutsummaryrefslogtreecommitdiff
path: root/Source/Particles/Collision/BinaryCollision
diff options
context:
space:
mode:
authorGravatar Severin Diederichs <65728274+SeverinDiederichs@users.noreply.github.com> 2023-06-02 19:57:03 +0200
committerGravatar GitHub <noreply@github.com> 2023-06-02 17:57:03 +0000
commit554b1680d94400b36894dc997c032ec9c92eedad (patch)
tree49af5442c6320bfd1f4130302e4cf7b82ac1fdd5 /Source/Particles/Collision/BinaryCollision
parent78ad98f4224be88522858502e1764f82d0aadba5 (diff)
downloadWarpX-554b1680d94400b36894dc997c032ec9c92eedad.tar.gz
WarpX-554b1680d94400b36894dc997c032ec9c92eedad.tar.zst
WarpX-554b1680d94400b36894dc997c032ec9c92eedad.zip
revert #3928 calculation of b0 in binary collisions and add comment (#3961)
* revert b0 calculation and add comment * Add More References
Diffstat (limited to 'Source/Particles/Collision/BinaryCollision')
-rw-r--r--Source/Particles/Collision/BinaryCollision/Coulomb/UpdateMomentumPerezElastic.H12
1 files changed, 9 insertions, 3 deletions
diff --git a/Source/Particles/Collision/BinaryCollision/Coulomb/UpdateMomentumPerezElastic.H b/Source/Particles/Collision/BinaryCollision/Coulomb/UpdateMomentumPerezElastic.H
index 1a0b39f07..7c2432f6e 100644
--- a/Source/Particles/Collision/BinaryCollision/Coulomb/UpdateMomentumPerezElastic.H
+++ b/Source/Particles/Collision/BinaryCollision/Coulomb/UpdateMomentumPerezElastic.H
@@ -23,7 +23,11 @@
* otherwise L will be calculated based on the algorithm.
* To see if there are nan or inf updated velocities,
* compile with USE_ASSERTION=TRUE.
-*/
+ *
+ * Updates and corrections to the original publication are documented in
+ * https://github.com/ECP-WarpX/WarpX/issues/429
+ * https://github.com/ECP-WarpX/WarpX/files/3799803/main.pdf
+ */
template <typename T_PR, typename T_R>
AMREX_GPU_HOST_DEVICE AMREX_INLINE
@@ -103,10 +107,12 @@ void UpdateMomentumPerezElastic (
if ( L > T_PR(0.0) ) { lnLmd = L; }
else
{
- // Compute b0
+ // Compute b0 according to eq (22) from Perez et al., Phys.Plasmas.19.083104 (2012)
+ // Note: there is a typo in the equation, the last square is incorrect!
+ // See the SMILEI documentation: https://smileipic.github.io/Smilei/Understand/collisions.html
+ // and https://github.com/ECP-WarpX/WarpX/files/3799803/main.pdf from GitHub #429
T_PR const b0 = amrex::Math::abs(q1*q2) * inv_c2 /
(T_PR(4.0)*MathConst::pi*PhysConst::ep0) * gc/mass_g *
- ( m1*g1s*m2*g2s/(p1sm*p1sm*inv_c2) + T_PR(1.0) ) *
( m1*g1s*m2*g2s/(p1sm*p1sm*inv_c2) + T_PR(1.0) );
// Compute the minimal impact parameter