WarpX
Loading...
Searching...
No Matches
BinaryCollisionUtils.H File Reference
#include <string>
#include "Particles/MultiParticleContainer.H"
#include <AMReX_Math.H>

Go to the source code of this file.

Namespaces

namespace  BinaryCollisionUtils
 

Enumerations

enum struct  CollisionType {
  DeuteriumTritiumToNeutronHeliumFusion , DeuteriumDeuteriumToProtonTritiumFusion , DeuteriumDeuteriumToNeutronHeliumFusion , DeuteriumHeliumToProtonHeliumFusion ,
  ProtonBoronToAlphasFusion , Bremsstrahlung , DSMC , PairwiseCoulomb ,
  LinearBreitWheeler , LinearCompton , Undefined
}
 
enum struct  NuclearFusionType {
  DeuteriumTritiumToNeutronHelium , DeuteriumDeuteriumToProtonTritium , DeuteriumDeuteriumToNeutronHelium , DeuteriumHeliumToProtonHelium ,
  ProtonBoronToAlphas , Undefined
}
 

Functions

NuclearFusionType BinaryCollisionUtils::get_nuclear_fusion_type (const std::string &collision_name, MultiParticleContainer const *const mypc)
 
CollisionType BinaryCollisionUtils::get_collision_type (const std::string &collision_name, MultiParticleContainer const *const mypc)
 
CollisionType BinaryCollisionUtils::nuclear_fusion_type_to_collision_type (const NuclearFusionType fusion_type)
 
AMREX_GPU_HOST_DEVICE AMREX_INLINE void BinaryCollisionUtils::get_collision_parameters (const amrex::ParticleReal &p1x, const amrex::ParticleReal &p1y, const amrex::ParticleReal &p1z, const amrex::ParticleReal &p2x, const amrex::ParticleReal &p2y, const amrex::ParticleReal &p2z, const amrex::ParticleReal &m1, const amrex::ParticleReal &m2, amrex::ParticleReal &E_kin_COM, amrex::ParticleReal &v_rel_COM, amrex::ParticleReal &lab_to_COM_lorentz_factor)
 Return (relativistic) collision energy, collision speed and Lorentz factor for transforming between the lab and center-of-momentum frames.
 
AMREX_GPU_HOST_DEVICE AMREX_INLINE void BinaryCollisionUtils::remove_weight_from_colliding_particle (amrex::ParticleReal &weight, uint64_t &idcpu, const amrex::ParticleReal reaction_weight)
 Subtract given weight from particle and set its ID to invalid if the weight reaches zero.
 

Enumeration Type Documentation

◆ CollisionType

enum struct CollisionType
strong
Enumerator
DeuteriumTritiumToNeutronHeliumFusion 
DeuteriumDeuteriumToProtonTritiumFusion 
DeuteriumDeuteriumToNeutronHeliumFusion 
DeuteriumHeliumToProtonHeliumFusion 
ProtonBoronToAlphasFusion 
Bremsstrahlung 
DSMC 
PairwiseCoulomb 
LinearBreitWheeler 
LinearCompton 
Undefined 

◆ NuclearFusionType

enum struct NuclearFusionType
strong
Enumerator
DeuteriumTritiumToNeutronHelium 
DeuteriumDeuteriumToProtonTritium 
DeuteriumDeuteriumToNeutronHelium 
DeuteriumHeliumToProtonHelium 
ProtonBoronToAlphas 
Undefined