diff options
Diffstat (limited to 'Source/Particles/ElementaryProcess/QEDInternals')
-rw-r--r-- | Source/Particles/ElementaryProcess/QEDInternals/BreitWheelerEngineWrapper.H | 6 | ||||
-rw-r--r-- | Source/Particles/ElementaryProcess/QEDInternals/QuantumSyncEngineWrapper.H | 10 |
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; |