Hipace
|
#include "utils/Constants.H"
#include "UpdateMomentumPerez.H"
#include "ComputeTemperature.H"
#include <AMReX_Random.H>
Go to the source code of this file.
Functions | |
template<typename T_index , typename T_R > | |
AMREX_GPU_HOST_DEVICE AMREX_INLINE void | ElasticCollisionPerez (T_index const I1s, T_index const I1e, T_index const I2s, T_index const I2e, T_index *I1, T_index *I2, T_R *u1x, T_R *u1y, T_R *psi1, T_R *u2x, T_R *u2y, T_R *psi2, T_R const *w1, T_R const *w2, int const *ion_lev1, int const *ion_lev2, T_R q1, T_R q2, T_R const m1, T_R const m2, T_R const T1, T_R const T2, const bool can_ionize1, const bool can_ionize2, T_R const dt, T_R const L, T_R const inv_dV, T_R const clight, T_R const inv_c, T_R const inv_c_SI, T_R const inv_c2, T_R const inv_c2_SI, const bool normalized_units, const amrex::Real background_density_SI, const bool is_same_species, bool is_beam_coll, amrex::RandomEngine const &engine) |
Prepare information for and call UpdateMomentumPerezElastic(). More... | |
AMREX_GPU_HOST_DEVICE AMREX_INLINE void ElasticCollisionPerez | ( | T_index const | I1s, |
T_index const | I1e, | ||
T_index const | I2s, | ||
T_index const | I2e, | ||
T_index * | I1, | ||
T_index * | I2, | ||
T_R * | u1x, | ||
T_R * | u1y, | ||
T_R * | psi1, | ||
T_R * | u2x, | ||
T_R * | u2y, | ||
T_R * | psi2, | ||
T_R const * | w1, | ||
T_R const * | w2, | ||
int const * | ion_lev1, | ||
int const * | ion_lev2, | ||
T_R | q1, | ||
T_R | q2, | ||
T_R const | m1, | ||
T_R const | m2, | ||
T_R const | T1, | ||
T_R const | T2, | ||
const bool | can_ionize1, | ||
const bool | can_ionize2, | ||
T_R const | dt, | ||
T_R const | L, | ||
T_R const | inv_dV, | ||
T_R const | clight, | ||
T_R const | inv_c, | ||
T_R const | inv_c_SI, | ||
T_R const | inv_c2, | ||
T_R const | inv_c2_SI, | ||
const bool | normalized_units, | ||
const amrex::Real | background_density_SI, | ||
const bool | is_same_species, | ||
bool | is_beam_coll, | ||
amrex::RandomEngine const & | engine | ||
) |
Prepare information for and call UpdateMomentumPerezElastic().
[in] | I1s | start index for I1 (inclusive). |
[in] | I2s | start index for I2 (inclusive). |
[in] | I1e | start index for I1 (exclusive). |
[in] | I2e | start index for I2 (exclusive). |
[in] | I1 | index array. |
[in] | I2 | index array. |
[in,out] | u1x | x Proper velocity (u=v*gamma) array of species 1. |
[in,out] | u1y | y Proper velocity (u=v*gamma) array of species 1. |
[in,out] | psi1 | pseudo-potential array of species 1. |
[in,out] | u2x | x Proper velocity (u=v*gamma) array of species 2. |
[in,out] | u2y | y Proper velocity (u=v*gamma) array of species 2. |
[in,out] | psi2 | pseudo-potential array of species 2. |
[in] | w1 | array of weights. |
[in] | w2 | array of weights. |
[in] | ion_lev1 | current ionization level of species 1 |
[in] | ion_lev2 | current ionization level of species 2 |
[in] | q1 | Physical charge of species 1. |
[in] | q2 | Physical charge of species 2. |
[in] | m1 | Physical mass of species 1. |
[in] | m2 | Physical mass of species 2. |
[in] | T1 | temperature of species 1 (Joule). If <0, measured per-cell. |
[in] | T2 | temperature of species 2 (Joule). If <0, measured per-cell. |
[in] | can_ionize1 | whether species 1 can be ionized |
[in] | can_ionize2 | whether species 2 can be ionized |
[in] | dt | is the time step length between two collision calls. |
[in] | L | Coulomb log. If <0, measured per cell. |
[in] | inv_dV | inverse volume of the corresponding cell. |
[in] | clight | speed of light c |
[in] | inv_c | 1/c |
[in] | inv_c_SI | 1/c in SI units |
[in] | inv_c2 | 1/c^2 |
[in] | inv_c2_SI | 1/c^2 in SI units |
[in] | normalized_units | whether normalized units are used |
[in] | background_density_SI | background plasma density (only needed for normalized units) |
[in] | is_same_species | whether the collisions happen within the same species |
[in] | is_beam_coll | whether species1 is a beam |
[in] | engine | AMReX engine for the random number generator. |