WarpX
Classes | Public Member Functions | Private Types | Private Attributes | List of all members
DSMCFunc Class Reference

This class performs DSMC (direct simulation Monte Carlo) collisions within a cell. Particles are paired up and for each pair a stochastic process determines whether a collision occurs. The algorithm is similar to the one used for binary Coulomb collisions and the nuclear fusion module. More...

#include <DSMCFunc.H>

Classes

struct  Executor
 

Public Member Functions

 DSMCFunc ()=default
 Constructor of the DSMCFunc class. More...
 
 DSMCFunc (const std::string &collision_name, MultiParticleContainer const *mypc, bool isSameSpecies)
 Constructor of the DSMCFunc class. More...
 
Executor const & executor () const
 

Private Types

using ParticleType = WarpXParticleContainer::ParticleType
 
using ParticleTileType = WarpXParticleContainer::ParticleTileType
 
using ParticleTileDataType = ParticleTileType::ParticleTileDataType
 
using ParticleBins = amrex::DenseBins< ParticleTileDataType >
 
using index_type = ParticleBins::index_type
 
using SoaData_type = WarpXParticleContainer::ParticleTileType::ParticleTileDataType
 

Private Attributes

amrex::Vector< ScatteringProcessm_scattering_processes
 
amrex::Gpu::DeviceVector< ScatteringProcess::Executorm_scattering_processes_exe
 
Executor m_exe
 

Detailed Description

This class performs DSMC (direct simulation Monte Carlo) collisions within a cell. Particles are paired up and for each pair a stochastic process determines whether a collision occurs. The algorithm is similar to the one used for binary Coulomb collisions and the nuclear fusion module.

Member Typedef Documentation

◆ index_type

◆ ParticleBins

◆ ParticleTileDataType

◆ ParticleTileType

◆ ParticleType

◆ SoaData_type

Constructor & Destructor Documentation

◆ DSMCFunc() [1/2]

DSMCFunc::DSMCFunc ( )
default

Constructor of the DSMCFunc class.

◆ DSMCFunc() [2/2]

DSMCFunc::DSMCFunc ( const std::string &  collision_name,
MultiParticleContainer const *  mypc,
bool  isSameSpecies 
)

Constructor of the DSMCFunc class.

Parameters
[in]collision_namethe name of the collision
[in]mypcpointer to the MultiParticleContainer
[in]isSameSpecieswhether the two colliding species are the same

Member Function Documentation

◆ executor()

Executor const& DSMCFunc::executor ( ) const
inline

Member Data Documentation

◆ m_exe

Executor DSMCFunc::m_exe
private

◆ m_scattering_processes

amrex::Vector<ScatteringProcess> DSMCFunc::m_scattering_processes
private

◆ m_scattering_processes_exe

amrex::Gpu::DeviceVector<ScatteringProcess::Executor> DSMCFunc::m_scattering_processes_exe
private

The documentation for this class was generated from the following file: