Hipace
Classes | Functions
PushPlasmaParticles.H File Reference
#include <AMReX_Config.H>

Go to the source code of this file.

Classes

struct  PlasmaMomentumDerivative< T >
 

Functions

template<class T >
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE PlasmaMomentumDerivative< T > PlasmaMomentumPush (const T &ux, const T &uy, const T &psi_inv, amrex::Real ExmBy, amrex::Real EypBx, amrex::Real Ez, amrex::Real Bx_clight, amrex::Real By_clight, amrex::Real Bz, amrex::Real Aabssq_norm, amrex::Real AabssqDx_norm, amrex::Real AabssqDy_norm, amrex::Real clight_inv, amrex::Real charge_mass_clight_ratio)
 Find the derivative of the Plasma momentum. This function can be used with dual numbers to find the second derivative. More...
 

Function Documentation

◆ PlasmaMomentumPush()

template<class T >
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE PlasmaMomentumDerivative<T> PlasmaMomentumPush ( const T &  ux,
const T &  uy,
const T &  psi_inv,
amrex::Real  ExmBy,
amrex::Real  EypBx,
amrex::Real  Ez,
amrex::Real  Bx_clight,
amrex::Real  By_clight,
amrex::Real  Bz,
amrex::Real  Aabssq_norm,
amrex::Real  AabssqDx_norm,
amrex::Real  AabssqDy_norm,
amrex::Real  clight_inv,
amrex::Real  charge_mass_clight_ratio 
)

Find the derivative of the Plasma momentum. This function can be used with dual numbers to find the second derivative.

Parameters
[in]uxgamma * beta_x * clight
[in]uygamma * beta_y * clight
[in]psi_inv1 / (1 + norm_Psi)
[in]ExmByEx - clight * By
[in]EypBxEy - clight * Bx
[in]EzEz
[in]Bx_clightBx * clight
[in]By_clightBy * clight
[in]BzBz
[in]Aabssq_normAabssqp * 0.5 * (charge / q_e)^2 * (m_e / mass)^2
[in]AabssqDx_normAabssqDx * 0.25 * clight * (charge / q_e)^2 * (m_e / mass)^2
[in]AabssqDy_normAabssqDy * 0.25 * clight * (charge / q_e)^2 * (m_e / mass)^2
[in]clight_inv1 / clight
[in]charge_mass_clight_ratiocharge / (mass * clight)