8 #ifndef WARPX_PARTICLES_KINETIC_ENERGY_H_
9 #define WARPX_PARTICLES_KINETIC_ENERGY_H_
34 const amrex::ParticleReal ux,
const amrex::ParticleReal uy,
const amrex::ParticleReal uz,
35 const amrex::ParticleReal mass)
37 using namespace amrex;
44 const auto u2 = ux*ux + uy*uy + uz*uz;
45 const auto gamma = std::sqrt(1.0_prt + u2*inv_c2);
46 return 1.0_prt/(1.0_prt +
gamma)*mass*u2;
60 const amrex::ParticleReal ux,
const amrex::ParticleReal uy,
const amrex::ParticleReal uz)
66 return me_c * std::sqrt(ux*ux + uy*uy + uz*uz);
#define AMREX_GPU_HOST_DEVICE
Definition: KineticEnergy.H:19
AMREX_GPU_HOST_DEVICE AMREX_INLINE amrex::ParticleReal KineticEnergyPhotons(const amrex::ParticleReal ux, const amrex::ParticleReal uy, const amrex::ParticleReal uz)
Computes the kinetic energy of a photon.
Definition: KineticEnergy.H:59
AMREX_GPU_HOST_DEVICE AMREX_INLINE amrex::ParticleReal KineticEnergy(const amrex::ParticleReal ux, const amrex::ParticleReal uy, const amrex::ParticleReal uz, const amrex::ParticleReal mass)
Computes the kinetic energy of a particle. This method should not be used with photons.
Definition: KineticEnergy.H:33
static constexpr auto c
vacuum speed of light [m/s]
Definition: constant.H:44
static constexpr auto m_e
electron mass [kg]
Definition: constant.H:52
int gamma
boosted frame
Definition: stencil.py:431