|
ARTEMIS
|
This functor performs pairwise Coulomb collision on a single cell by calling the function ElasticCollisionPerez. It also reads and contains the Coulomb logarithm. More...
#include <PairWiseCoulombCollisionFunc.H>
Public Member Functions | |
| PairWiseCoulombCollisionFunc ()=default | |
| Default constructor of the PairWiseCoulombCollisionFunc class. More... | |
| PairWiseCoulombCollisionFunc (const std::string collision_name, [[maybe_unused]] MultiParticleContainer const *const mypc, const bool isSameSpecies) | |
| Constructor of the PairWiseCoulombCollisionFunc class. More... | |
| AMREX_GPU_HOST_DEVICE AMREX_INLINE void | operator() (index_type const I1s, index_type const I1e, index_type const I2s, index_type const I2e, index_type const *AMREX_RESTRICT I1, index_type const *AMREX_RESTRICT I2, SoaData_type soa_1, SoaData_type soa_2, GetParticlePosition, GetParticlePosition, amrex::ParticleReal const q1, amrex::ParticleReal const q2, amrex::ParticleReal const m1, amrex::ParticleReal const m2, amrex::Real const dt, amrex::Real const dV, index_type const, index_type *, index_type *, index_type *, amrex::ParticleReal *, amrex::RandomEngine const &engine) const |
| operator() of the PairWiseCoulombCollisionFunc class. Performs Coulomb collisions at the cell level by calling ElasticCollisionPerez. More... | |
Private Types | |
| using | ParticleType = WarpXParticleContainer::ParticleType |
| using | ParticleBins = amrex::DenseBins< ParticleType > |
| using | index_type = ParticleBins::index_type |
| using | SoaData_type = WarpXParticleContainer::ParticleTileType::ParticleTileDataType |
Private Attributes | |
| amrex::ParticleReal | m_CoulombLog |
| bool | m_isSameSpecies |
This functor performs pairwise Coulomb collision on a single cell by calling the function ElasticCollisionPerez. It also reads and contains the Coulomb logarithm.
|
private |
|
private |
|
private |
|
default |
Default constructor of the PairWiseCoulombCollisionFunc class.
|
inline |
Constructor of the PairWiseCoulombCollisionFunc class.
| [in] | collision_name | the name of the collision |
| [in] | mypc | the particle container (unused) |
| [in] | isSameSpecies | true if this is an intra-species colission |
|
inline |
operator() of the PairWiseCoulombCollisionFunc class. Performs Coulomb collisions at the cell level by calling ElasticCollisionPerez.
| [in] | I1s,I2s | is the start index for I1,I2 (inclusive). |
| [in] | I1e,I2e | is the stop index for I1,I2 (exclusive). |
| [in] | I1,I2 | index arrays. They determine all elements that will be used. |
| [in,out] | soa_1,soa_2 | contain the struct of array data of the two species. |
| [in] | q1,q2 | are charges. |
| [in] | m1,m2 | are masses. |
| [in] | dt | is the time step length between two collision calls. |
| [in] | dV | is the volume of the corresponding cell. |
| [in] | engine | the random engine. |
|
private |
|
private |