XGC1
|
Functions | |
KOKKOS_INLINE_FUNCTION void | update_phases (SimdPhase &ph_new, const SimdPhase &ph, double local_dt, const SimdPhase &dph) |
KOKKOS_INLINE_FUNCTION void | update_dphm (SimdPhase &dphm, const SimdPhase &dpht) |
KOKKOS_INLINE_FUNCTION void | update_dpht (SimdPhase &dpht, const SimdPhase &dph, const SimdPhase &dphm) |
KOKKOS_INLINE_FUNCTION void | simd_2_AoSoA (VecParticles *part, const SimdParticles &part_one, int a_vec, int s_vec) |
KOKKOS_INLINE_FUNCTION void | AoSoA_2_simd (SimdParticles &part_one, const VecParticles *part, int a_vec, int s_vec) |
KOKKOS_INLINE_FUNCTION void AoSoA_2_simd | ( | SimdParticles & | part_one, |
const VecParticles * | part, | ||
int | a_vec, | ||
int | s_vec | ||
) |
Copy from the AoSoA to a local SoA of array length SIMD_SIZE. This should be obsolete at some point
[out] | part_one | The local SimdParticle array |
[in] | part | The particle AoSoA |
[in] | a_vec | The index in the inner array of the AoSoA |
[in] | s_vec | The index in the outer array of the AoSoA |
KOKKOS_INLINE_FUNCTION void simd_2_AoSoA | ( | VecParticles * | part, |
const SimdParticles & | part_one, | ||
int | a_vec, | ||
int | s_vec | ||
) |
Copy from local SoA of array length SIMD_SIZE back into the AoSoA. This should be obsolete at some point
[in,out] | part | The particle AoSoA |
[in] | part_one | The local SimdParticle array |
[in] | a_vec | The index in the inner array of the AoSoA |
[in] | s_vec | The index in the outer array of the AoSoA |
Add the second vector of phase derivatives to the first (for use in RK4)
[in,out] | dphm | Vector of phase derivatives |
[in] | dpht | Vector of phase derivatives |
KOKKOS_INLINE_FUNCTION void update_dpht | ( | SimdPhase & | dpht, |
const SimdPhase & | dph, | ||
const SimdPhase & | dphm | ||
) |
Add the second vector of phase derivatives and 2x the third vector to the first, i.e. dpht = dpht + dph + 2 dphm (for use in RK4)
[in,out] | dpht | Vector of phase derivatives |
[in] | dph | Vector of phase derivatives |
[in] | dphm | Vector of phase derivatives |
KOKKOS_INLINE_FUNCTION void update_phases | ( | SimdPhase & | ph_new, |
const SimdPhase & | ph, | ||
double | local_dt, | ||
const SimdPhase & | dph | ||
) |
Update a vector of particle phases with a time step
[out] | ph_new | Vector of new phase |
[in] | ph | Vector of old phase |
[in] | local_dt | Time step size |
[in] | dph | Vector of time derivatives of the phase |