ImpactX
Public Member Functions | Private Attributes | List of all members
impactx::distribution::Waterbag Struct Reference

#include <Waterbag.H>

Public Member Functions

 Waterbag (amrex::ParticleReal const sigx, amrex::ParticleReal const sigy, amrex::ParticleReal const sigt, amrex::ParticleReal const sigpx, amrex::ParticleReal const sigpy, amrex::ParticleReal const sigpt, amrex::ParticleReal const muxpx=0.0, amrex::ParticleReal const muypy=0.0, amrex::ParticleReal const mutpt=0.0)
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void operator() (amrex::ParticleReal &x, amrex::ParticleReal &y, amrex::ParticleReal &t, amrex::ParticleReal &px, amrex::ParticleReal &py, amrex::ParticleReal &pt, amrex::RandomEngine const &engine) const
 

Private Attributes

amrex::ParticleReal m_sigmaX
 
amrex::ParticleReal m_sigmaY
 
amrex::ParticleReal m_sigmaT
 
amrex::ParticleReal m_sigmaPx
 related RMS sizes (length) More...
 
amrex::ParticleReal m_sigmaPy
 
amrex::ParticleReal m_sigmaPt
 
amrex::ParticleReal m_muxpx
 RMS momentum. More...
 
amrex::ParticleReal m_muypy
 
amrex::ParticleReal m_mutpt
 

Constructor & Destructor Documentation

◆ Waterbag()

impactx::distribution::Waterbag::Waterbag ( amrex::ParticleReal const  sigx,
amrex::ParticleReal const  sigy,
amrex::ParticleReal const  sigt,
amrex::ParticleReal const  sigpx,
amrex::ParticleReal const  sigpy,
amrex::ParticleReal const  sigpt,
amrex::ParticleReal const  muxpx = 0.0,
amrex::ParticleReal const  muypy = 0.0,
amrex::ParticleReal const  mutpt = 0.0 
)
inline

A Waterbag distribution

Return sampling from a 6D Waterbag distribution.

Parameters
sigx,sigy,sigtfor zero correlation, these are the related RMS sizes (in meters)
sigpx,sigpy,sigptRMS momentum
muxpx,muypy,mutptcorrelation length-momentum

Member Function Documentation

◆ operator()()

AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void impactx::distribution::Waterbag::operator() ( amrex::ParticleReal &  x,
amrex::ParticleReal &  y,
amrex::ParticleReal &  t,
amrex::ParticleReal &  px,
amrex::ParticleReal &  py,
amrex::ParticleReal &  pt,
amrex::RandomEngine const &  engine 
) const
inline

Return 1 6D particle coordinate

Parameters
xparticle position in x
yparticle position in y
tparticle position in t
pxparticle momentum in x
pyparticle momentum in y
ptparticle momentum in t
enginea random number engine (with associated state)

Member Data Documentation

◆ m_mutpt

amrex::ParticleReal impactx::distribution::Waterbag::m_mutpt
private

◆ m_muxpx

amrex::ParticleReal impactx::distribution::Waterbag::m_muxpx
private

RMS momentum.

◆ m_muypy

amrex::ParticleReal impactx::distribution::Waterbag::m_muypy
private

◆ m_sigmaPt

amrex::ParticleReal impactx::distribution::Waterbag::m_sigmaPt
private

◆ m_sigmaPx

amrex::ParticleReal impactx::distribution::Waterbag::m_sigmaPx
private

related RMS sizes (length)

◆ m_sigmaPy

amrex::ParticleReal impactx::distribution::Waterbag::m_sigmaPy
private

◆ m_sigmaT

amrex::ParticleReal impactx::distribution::Waterbag::m_sigmaT
private

◆ m_sigmaX

amrex::ParticleReal impactx::distribution::Waterbag::m_sigmaX
private

◆ m_sigmaY

amrex::ParticleReal impactx::distribution::Waterbag::m_sigmaY
private

The documentation for this struct was generated from the following file: