Hipace
|
Go to the source code of this file.
Functions | |
template<int depos_order_xy> | |
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void | doGatherShapeN (const amrex::Real xp, const amrex::Real yp, amrex::Real &ExmByp, amrex::Real &EypBxp, amrex::Real &Ezp, amrex::Real &Bxp, amrex::Real &Byp, amrex::Real &Bzp, Array3< amrex::Real const > const &slice_arr, const int psi_comp, const int ez_comp, const int bx_comp, const int by_comp, const int bz_comp, const amrex::Real dx_inv, const amrex::Real dy_inv, const amrex::Real x_pos_offset, const amrex::Real y_pos_offset) |
Field gather for a single particle. More... | |
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void | doGatherShapeN (const amrex::ParticleReal xp, const amrex::ParticleReal yp, amrex::ParticleReal &ExmByp, amrex::ParticleReal &EypBxp, amrex::ParticleReal &Ezp, amrex::ParticleReal &Bxp, amrex::ParticleReal &Byp, amrex::ParticleReal &Bzp, Array3< amrex::Real const > const &slice_arr, const int psi_comp, const int ez_comp, const int bx_comp, const int by_comp, const int bz_comp, const amrex::Real dx_inv, const amrex::Real dy_inv, const amrex::Real x_pos_offset, const amrex::Real y_pos_offset, const int depos_order_xy) |
Field gather for a single particle. More... | |
template<int depos_order_xy> | |
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void | doBxByGatherShapeN (const amrex::Real xp, const amrex::Real yp, amrex::Real &Bxp, amrex::Real &Byp, Array3< amrex::Real const > const &slice_arr, const int bx_comp, const int by_comp, const amrex::Real dx_inv, const amrex::Real dy_inv, const amrex::Real x_pos_offset, const amrex::Real y_pos_offset) |
Field gather for a single particle of just Bx and By. More... | |
template<int depos_order_xy> | |
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void | doLaserGatherShapeN (const amrex::Real xp, const amrex::Real yp, amrex::Real &Aabssqp, amrex::Real &AabssqDxp, amrex::Real &AabssqDyp, Array3< amrex::Real const > const &a_arr, const amrex::Real dx_inv, const amrex::Real dy_inv, const amrex::Real x_pos_offset, const amrex::Real y_pos_offset) |
Laser field gather for a single particle. More... | |
template<int depos_order_xy> | |
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void | doLaserGatherShapeN (const amrex::Real xp, const amrex::Real yp, amrex::Real &Aabssqp, Array3< amrex::Real const > const &a_arr, const amrex::Real dx_inv, const amrex::Real dy_inv, const amrex::Real x_pos_offset, const amrex::Real y_pos_offset) |
Laser field gather for a single particle. More... | |
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void | doGatherEz (const amrex::Real xp, const amrex::Real yp, amrex::Real &Ezp, Array3< amrex::Real const > const &slice_arr, const int ez_comp, const amrex::Real dx_inv, const amrex::Real dy_inv, const amrex::Real x_pos_offset, const amrex::Real y_pos_offset) |
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void doBxByGatherShapeN | ( | const amrex::Real | xp, |
const amrex::Real | yp, | ||
amrex::Real & | Bxp, | ||
amrex::Real & | Byp, | ||
Array3< amrex::Real const > const & | slice_arr, | ||
const int | bx_comp, | ||
const int | by_comp, | ||
const amrex::Real | dx_inv, | ||
const amrex::Real | dy_inv, | ||
const amrex::Real | x_pos_offset, | ||
const amrex::Real | y_pos_offset | ||
) |
Field gather for a single particle of just Bx and By.
depos_order_xy | Order of the transverse shape factor for the field gather |
[in] | xp | Particle position x |
[in] | yp | Particle position y |
[in,out] | Bxp | Magnetic field on particles: Bx |
[in,out] | Byp | Magnetic field on particles: By |
[in] | slice_arr | slice array for WhichSlice::This |
[in] | bx_comp | field array for field Bx |
[in] | by_comp | field array for field By |
[in] | dx_inv | inverse cell spacing in x direction |
[in] | dy_inv | inverse cell spacing in y direction |
[in] | x_pos_offset | offset for converting positions to indexes |
[in] | y_pos_offset | offset for converting positions to indexes |
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void doGatherEz | ( | const amrex::Real | xp, |
const amrex::Real | yp, | ||
amrex::Real & | Ezp, | ||
Array3< amrex::Real const > const & | slice_arr, | ||
const int | ez_comp, | ||
const amrex::Real | dx_inv, | ||
const amrex::Real | dy_inv, | ||
const amrex::Real | x_pos_offset, | ||
const amrex::Real | y_pos_offset | ||
) |
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void doGatherShapeN | ( | const amrex::ParticleReal | xp, |
const amrex::ParticleReal | yp, | ||
amrex::ParticleReal & | ExmByp, | ||
amrex::ParticleReal & | EypBxp, | ||
amrex::ParticleReal & | Ezp, | ||
amrex::ParticleReal & | Bxp, | ||
amrex::ParticleReal & | Byp, | ||
amrex::ParticleReal & | Bzp, | ||
Array3< amrex::Real const > const & | slice_arr, | ||
const int | psi_comp, | ||
const int | ez_comp, | ||
const int | bx_comp, | ||
const int | by_comp, | ||
const int | bz_comp, | ||
const amrex::Real | dx_inv, | ||
const amrex::Real | dy_inv, | ||
const amrex::Real | x_pos_offset, | ||
const amrex::Real | y_pos_offset, | ||
const int | depos_order_xy | ||
) |
Field gather for a single particle.
[in] | xp | Particle position x |
[in] | yp | Particle position y |
[in,out] | ExmByp | Field on particle: Ex - c*By |
[in,out] | EypBxp | Field on particle: Ey + c*Bx |
[in,out] | Ezp | Field on particle: Ez |
[in,out] | Bxp | Magnetic field on particles: Bx |
[in,out] | Byp | Magnetic field on particles: By |
[in,out] | Bzp | Magnetic field on particles: Bz |
[in] | slice_arr | slice array for WhichSlice::This |
[in] | psi_comp | field component for field Psi |
[in] | ez_comp | field array for field Ez |
[in] | bx_comp | field array for field Bx |
[in] | by_comp | field array for field By |
[in] | bz_comp | field array for field Bz |
[in] | dx_inv | inverse cell spacing in x direction |
[in] | dy_inv | inverse cell spacing in y direction |
[in] | x_pos_offset | offset for converting positions to indexes |
[in] | y_pos_offset | offset for converting positions to indexes |
[in] | depos_order_xy | Order of the transverse shape factor for the field gather |
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void doGatherShapeN | ( | const amrex::Real | xp, |
const amrex::Real | yp, | ||
amrex::Real & | ExmByp, | ||
amrex::Real & | EypBxp, | ||
amrex::Real & | Ezp, | ||
amrex::Real & | Bxp, | ||
amrex::Real & | Byp, | ||
amrex::Real & | Bzp, | ||
Array3< amrex::Real const > const & | slice_arr, | ||
const int | psi_comp, | ||
const int | ez_comp, | ||
const int | bx_comp, | ||
const int | by_comp, | ||
const int | bz_comp, | ||
const amrex::Real | dx_inv, | ||
const amrex::Real | dy_inv, | ||
const amrex::Real | x_pos_offset, | ||
const amrex::Real | y_pos_offset | ||
) |
Field gather for a single particle.
depos_order_xy | Order of the transverse shape factor for the field gather |
[in] | xp | Particle position x |
[in] | yp | Particle position y |
[in,out] | ExmByp | Field on particle: Ex - c*By |
[in,out] | EypBxp | Field on particle: Ey + c*Bx |
[in,out] | Ezp | Field on particle: Ez |
[in,out] | Bxp | Magnetic field on particles: Bx |
[in,out] | Byp | Magnetic field on particles: By |
[in,out] | Bzp | Magnetic field on particles: Bz |
[in] | slice_arr | slice array for WhichSlice::This |
[in] | psi_comp | field component for field Psi |
[in] | ez_comp | field array for field Ez |
[in] | bx_comp | field array for field Bx |
[in] | by_comp | field array for field By |
[in] | bz_comp | field array for field Bz |
[in] | dx_inv | inverse cell spacing in x direction |
[in] | dy_inv | inverse cell spacing in y direction |
[in] | x_pos_offset | offset for converting positions to indexes |
[in] | y_pos_offset | offset for converting positions to indexes |
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void doLaserGatherShapeN | ( | const amrex::Real | xp, |
const amrex::Real | yp, | ||
amrex::Real & | Aabssqp, | ||
amrex::Real & | AabssqDxp, | ||
amrex::Real & | AabssqDyp, | ||
Array3< amrex::Real const > const & | a_arr, | ||
const amrex::Real | dx_inv, | ||
const amrex::Real | dy_inv, | ||
const amrex::Real | x_pos_offset, | ||
const amrex::Real | y_pos_offset | ||
) |
Laser field gather for a single particle.
depos_order_xy | Order of the transverse shape factor for the field gather |
[in] | xp | Particle position x |
[in] | yp | Particle position y |
[in] | Aabssqp | |a|^2 field at particle position |
[in] | AabssqDxp | d/dx |a|^2 field at particle position |
[in] | AabssqDyp | d/dy |a|^2 field at particle position |
[in] | a_arr | a field array |
[in] | dx_inv | inverse cell spacing in x direction |
[in] | dy_inv | inverse cell spacing in y direction |
[in] | x_pos_offset | offset for converting positions to indexes |
[in] | y_pos_offset | offset for converting positions to indexes |
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void doLaserGatherShapeN | ( | const amrex::Real | xp, |
const amrex::Real | yp, | ||
amrex::Real & | Aabssqp, | ||
Array3< amrex::Real const > const & | a_arr, | ||
const amrex::Real | dx_inv, | ||
const amrex::Real | dy_inv, | ||
const amrex::Real | x_pos_offset, | ||
const amrex::Real | y_pos_offset | ||
) |
Laser field gather for a single particle.
depos_order_xy | Order of the transverse shape factor for the field gather |
[in] | xp | Particle position x |
[in] | yp | Particle position y |
[in,out] | Aabssqp | Field on particle: |a|^2 |
[in] | a_arr | field array for field a |
[in] | dx_inv | inverse cell spacing in x direction |
[in] | dy_inv | inverse cell spacing in y direction |
[in] | x_pos_offset | offset for converting positions to indexes |
[in] | y_pos_offset | offset for converting positions to indexes |