aboutsummaryrefslogtreecommitdiff
path: root/Source/Particles/ElementaryProcess/QEDInternals
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Particles/ElementaryProcess/QEDInternals')
-rw-r--r--Source/Particles/ElementaryProcess/QEDInternals/BreitWheelerEngineWrapper.H6
-rw-r--r--Source/Particles/ElementaryProcess/QEDInternals/QuantumSyncEngineWrapper.H10
2 files changed, 10 insertions, 6 deletions
diff --git a/Source/Particles/ElementaryProcess/QEDInternals/BreitWheelerEngineWrapper.H b/Source/Particles/ElementaryProcess/QEDInternals/BreitWheelerEngineWrapper.H
index bf305db1c..0f9d3b625 100644
--- a/Source/Particles/ElementaryProcess/QEDInternals/BreitWheelerEngineWrapper.H
+++ b/Source/Particles/ElementaryProcess/QEDInternals/BreitWheelerEngineWrapper.H
@@ -203,6 +203,7 @@ public:
* @param[in] bx,by,bz magnetic field components (SI units)
* @param[out] e_ux,e_uy,e_uz gamma*v components of generated electron (SI units)
* @param[out] p_ux,p_uy,p_uz gamma*v components of generated positron (SI units)
+ * @param[in] engine random number generator engine
* @return a flag which is 1 if chi_photon was out of table
*/
AMREX_GPU_DEVICE
@@ -212,14 +213,15 @@ public:
const amrex::Real ex, const amrex::Real ey, const amrex::Real ez,
const amrex::Real bx, const amrex::Real by, const amrex::Real bz,
amrex::Real& e_ux, amrex::Real& e_uy, amrex::Real& e_uz,
- amrex::Real& p_ux, amrex::Real& p_uy, amrex::Real& p_uz) const noexcept
+ amrex::Real& p_ux, amrex::Real& p_uy, amrex::Real& p_uz,
+ amrex::RandomEngine const& engine) const noexcept
{
using namespace amrex;
namespace pxr_m = picsar::multi_physics::math;
namespace pxr_p = picsar::multi_physics::phys;
namespace pxr_bw = picsar::multi_physics::phys::breit_wheeler;
- const auto rand_zero_one_minus_epsi = amrex::Random();
+ const auto rand_zero_one_minus_epsi = amrex::Random(engine);
constexpr ParticleReal me = PhysConst::m_e;
constexpr ParticleReal one_over_me = 1._prt/me;
diff --git a/Source/Particles/ElementaryProcess/QEDInternals/QuantumSyncEngineWrapper.H b/Source/Particles/ElementaryProcess/QEDInternals/QuantumSyncEngineWrapper.H
index 48f79e3e2..3ab0f106f 100644
--- a/Source/Particles/ElementaryProcess/QEDInternals/QuantumSyncEngineWrapper.H
+++ b/Source/Particles/ElementaryProcess/QEDInternals/QuantumSyncEngineWrapper.H
@@ -78,12 +78,12 @@ public:
*/
AMREX_GPU_HOST_DEVICE
AMREX_FORCE_INLINE
- amrex::Real operator() () const noexcept
+ amrex::Real operator() (amrex::RandomEngine const& engine) const noexcept
{
namespace pxr_qs = picsar::multi_physics::phys::quantum_sync;
//A random number in [0,1) should be provided as an argument.
- return pxr_qs::get_optical_depth(amrex::Random());
+ return pxr_qs::get_optical_depth(amrex::Random(engine));
}
};
//____________________________________________
@@ -194,6 +194,7 @@ public:
* @param[in] ex,ey,ez electric field components (SI units)
* @param[in] bx,by,bz magnetic field components (SI units)
* @param[out] g_ux,g_uy,g_uz gamma*v components of the generated photon (SI units)
+ * @param[in] engine random number generator engine
* @return a flag which is 1 if chi_photon was out of table
*/
AMREX_GPU_DEVICE
@@ -202,14 +203,15 @@ public:
amrex::Real& ux, amrex::Real& uy, amrex::Real& uz,
const amrex::Real ex, const amrex::Real ey, const amrex::Real ez,
const amrex::Real bx, const amrex::Real by, const amrex::Real bz,
- amrex::Real& g_ux, amrex::Real& g_uy, amrex::Real& g_uz) const noexcept
+ amrex::Real& g_ux, amrex::Real& g_uy, amrex::Real& g_uz,
+ amrex::RandomEngine const& engine) const noexcept
{
using namespace amrex;
namespace pxr_m = picsar::multi_physics::math;
namespace pxr_p = picsar::multi_physics::phys;
namespace pxr_qs = picsar::multi_physics::phys::quantum_sync;
- const auto rand_zero_one_minus_epsi = amrex::Random();
+ const auto rand_zero_one_minus_epsi = amrex::Random(engine);
constexpr ParticleReal me = PhysConst::m_e;
constexpr ParticleReal one_over_me = 1._prt/me;