diff options
author | 2023-06-02 19:57:03 +0200 | |
---|---|---|
committer | 2023-06-02 17:57:03 +0000 | |
commit | 554b1680d94400b36894dc997c032ec9c92eedad (patch) | |
tree | 49af5442c6320bfd1f4130302e4cf7b82ac1fdd5 /Source/Particles/Collision/BinaryCollision | |
parent | 78ad98f4224be88522858502e1764f82d0aadba5 (diff) | |
download | WarpX-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.H | 12 |
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 |