8 #ifndef PARTICLES_KINETIC_ENERGY_H_ 9 #define PARTICLES_KINETIC_ENERGY_H_ 24 static_cast<amrex::ParticleReal
>(1.005);
40 const amrex::ParticleReal
ux,
const amrex::ParticleReal uy,
const amrex::ParticleReal
uz,
41 const amrex::ParticleReal mass)
43 using namespace amrex;
46 constexpr
auto inv_c2 = 1.0_prt/c2;
48 const auto u2 = (ux*ux + uy*uy + uz*
uz)*inv_c2;
49 const auto gamma = std::sqrt(1.0_prt + u2);
53 (u2*0.5_prt - u2*u2*(1.0_prt/8.0_prt) + u2*u2*u2*(1.0_prt/16.0_prt)-
54 u2*u2*u2*u2*(5.0_prt/128.0_prt) + (7.0_prt/256_prt)*u2*u2*u2*u2*u2);
70 const amrex::ParticleReal
ux,
const amrex::ParticleReal uy,
const amrex::ParticleReal
uz)
76 return me_c * std::sqrt(ux*ux + uy*uy + uz*uz);
81 #endif // PARTICLES_ALGORITHMS_H_ 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. Below a threshold for the Lorentz factor (gamma_relativist...
Definition: KineticEnergy.H:39
int gamma
Definition: Stencil.py:474
static constexpr auto c
vacuum speed of light [m/s]
Definition: constant.H:44
def uz
Definition: read_lab_particles.py:30
#define AMREX_GPU_HOST_DEVICE
static constexpr auto gamma_relativistic_threshold
Definition: KineticEnergy.H:23
Definition: KineticEnergy.H:19
def ux
Definition: read_lab_particles.py:29
static constexpr auto m_e
electron mass [kg]
Definition: constant.H:52
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:69