aboutsummaryrefslogtreecommitdiff
path: root/Source/Particles/Collision
diff options
context:
space:
mode:
authorGravatar Yinjian Zhao <yinjianzhao@lbl.gov> 2019-12-11 14:27:53 -0800
committerGravatar Yinjian Zhao <yinjianzhao@lbl.gov> 2019-12-11 14:27:53 -0800
commitdbe883aaffe889fb970c0a623bb4eb7fb36e10ec (patch)
treebd2b2559279b5a5d35989a4d92b4d32e6f28b826 /Source/Particles/Collision
parent765b0ab48bc4390af49579f1c4f76fb2f374a63e (diff)
downloadWarpX-dbe883aaffe889fb970c0a623bb4eb7fb36e10ec.tar.gz
WarpX-dbe883aaffe889fb970c0a623bb4eb7fb36e10ec.tar.zst
WarpX-dbe883aaffe889fb970c0a623bb4eb7fb36e10ec.zip
UpdateMomentumPerezElastic.H
Diffstat (limited to 'Source/Particles/Collision')
-rw-r--r--Source/Particles/Collision/UpdateMomentumPerezElastic.H37
1 files changed, 9 insertions, 28 deletions
diff --git a/Source/Particles/Collision/UpdateMomentumPerezElastic.H b/Source/Particles/Collision/UpdateMomentumPerezElastic.H
index c3eaa6d43..efc9be465 100644
--- a/Source/Particles/Collision/UpdateMomentumPerezElastic.H
+++ b/Source/Particles/Collision/UpdateMomentumPerezElastic.H
@@ -184,34 +184,15 @@ void UpdateMomentumPerezElastic (
// x->y y->z z->x
// This set is equivalent to the one in Nanbu's paper
p1sp = std::sqrt( p1sy*p1sy + p1sz*p1sz );
- if ( p1sp > std::numeric_limits<T_R>::min() )
- {
- p1fsy = ( p1sy*p1sx/p1sp ) * sinXs*cosphis +
- ( p1sz*p1sm/p1sp ) * sinXs*sinphis +
- ( p1sy ) * cosXs;
- p1fsz = ( p1sz*p1sx/p1sp ) * sinXs*cosphis +
- (-p1sy*p1sm/p1sp ) * sinXs*sinphis +
- ( p1sz ) * cosXs;
- p1fsx = (-p1sp ) * sinXs*cosphis +
- ( T_R(0.0) ) * sinXs*sinphis +
- ( p1sx ) * cosXs;
- }
- else
- {
- // If the previous two p1sp are all almost zero,
- // this p1sp must not be almost zero.
- // x->y y->z z->x
- p1sp = std::sqrt( p1sz*p1sz + p1sx*p1sx );
- p1fsz = ( p1sz*p1sy/p1sp ) * sinXs*cosphis +
- ( p1sx*p1sm/p1sp ) * sinXs*sinphis +
- ( p1sz ) * cosXs;
- p1fsx = ( p1sx*p1sy/p1sp ) * sinXs*cosphis +
- (-p1sz*p1sm/p1sp ) * sinXs*sinphis +
- ( p1sx ) * cosXs;
- p1fsy = (-p1sp ) * sinXs*cosphis +
- ( T_R(0.0) ) * sinXs*sinphis +
- ( p1sy ) * cosXs;
- }
+ p1fsy = ( p1sy*p1sx/p1sp ) * sinXs*cosphis +
+ ( p1sz*p1sm/p1sp ) * sinXs*sinphis +
+ ( p1sy ) * cosXs;
+ p1fsz = ( p1sz*p1sx/p1sp ) * sinXs*cosphis +
+ (-p1sy*p1sm/p1sp ) * sinXs*sinphis +
+ ( p1sz ) * cosXs;
+ p1fsx = (-p1sp ) * sinXs*cosphis +
+ ( T_R(0.0) ) * sinXs*sinphis +
+ ( p1sx ) * cosXs;
}
T_R const p2fsx = -p1fsx;