8 #ifndef EXTERNALFIELDS_H_
9 #define EXTERNALFIELDS_H_
30 const amrex::ParticleReal xp,
31 const amrex::ParticleReal yp,
32 const amrex::ParticleReal zp,
33 const amrex::ParticleReal time,
34 const amrex::ParticleReal clight,
35 amrex::ParticleReal& ExmByp,
36 amrex::ParticleReal& EypBxp,
37 amrex::ParticleReal& Ezp,
38 amrex::ParticleReal& Bxp,
39 amrex::ParticleReal& Byp,
40 amrex::ParticleReal& Bzp,
43 const amrex::Real Ex = external_fields[0](xp, yp, zp, time);
44 const amrex::Real Ey = external_fields[1](xp, yp, zp, time);
45 const amrex::Real Ez = external_fields[2](xp, yp, zp, time);
46 const amrex::Real Bx = external_fields[3](xp, yp, zp, time);
47 const amrex::Real By = external_fields[4](xp, yp, zp, time);
48 const amrex::Real Bz = external_fields[5](xp, yp, zp, time);
50 ExmByp += Ex - clight * By;
51 EypBxp += Ey + clight * Bx;
#define AMREX_FORCE_INLINE
#define AMREX_GPU_HOST_DEVICE
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void ApplyExternalField(const amrex::ParticleReal xp, const amrex::ParticleReal yp, const amrex::ParticleReal zp, const amrex::ParticleReal time, const amrex::ParticleReal clight, amrex::ParticleReal &ExmByp, amrex::ParticleReal &EypBxp, amrex::ParticleReal &Ezp, amrex::ParticleReal &Bxp, amrex::ParticleReal &Byp, amrex::ParticleReal &Bzp, amrex::GpuArray< amrex::ParserExecutor< 4 >, 6 > external_fields)
add axisymmetric linear focusing field on particles and linear accelerating field....
Definition: ExternalFields.H:29