|
WarpX
|
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) | |
| 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 *I1, index_type *I2, SoaData_type soa_1, SoaData_type soa_2, GetParticlePosition, GetParticlePosition, amrex::Real const q1, amrex::Real const q2, amrex::Real const m1, amrex::Real 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::Real | m_CoulombLog |
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 |
|
private |
|
default |
Default constructor of the PairWiseCoulombCollisionFunc class.
|
inline |
Constructor of the PairWiseCoulombCollisionFunc class.
| [in] | collision_name | the name of the collision |
|
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 | and I2 are the index arrays. They determine all elements that will be used. |
| [in,out] | u1 | and u2 are the velocity arrays (u=v*gamma), they could be either different or the same, their lengths are not needed, |
| [in] | w1 | and w2 are arrays of weights. |
| [in] | q1 | and q2 are charges. m1 and 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 |
1.8.13