Hipace
Public Member Functions | Public Attributes | List of all members
GetInitialMomentum Struct Reference

Functor gets the initial momentum for beam particles. More...

#include <GetInitialMomentum.H>

Public Member Functions

 GetInitialMomentum ()=default
 
 GetInitialMomentum (const std::string &name)
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void operator() (amrex::Real &ux, amrex::Real &uy, amrex::Real &uz, const amrex::RandomEngine &engine, const amrex::Real z=0., const amrex::Real duz_per_uz0_dzeta=0.) const
 Get the momentum for a beam particle. More...
 

Public Attributes

amrex::RealVect m_u_mean
 
amrex::RealVect m_u_std {0.,0.,0.}
 
BeamMomentumType m_momentum_profile = BeamMomentumType::Gaussian
 

Detailed Description

Functor gets the initial momentum for beam particles.

Constructor & Destructor Documentation

◆ GetInitialMomentum() [1/2]

GetInitialMomentum::GetInitialMomentum ( )
default

Constructor.

◆ GetInitialMomentum() [2/2]

GetInitialMomentum::GetInitialMomentum ( const std::string &  name)

Member Function Documentation

◆ operator()()

AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void GetInitialMomentum::operator() ( amrex::Real &  ux,
amrex::Real &  uy,
amrex::Real &  uz,
const amrex::RandomEngine engine,
const amrex::Real  z = 0.,
const amrex::Real  duz_per_uz0_dzeta = 0. 
) const
inline

Get the momentum for a beam particle.

Parameters
[in,out]uxmomentum in x, modified by this function
[in,out]uymomentum in y, modified by this function
[in,out]uzmomentum in z, modified by this function
[in]enginerandom number engine
[in]zposition in z
[in]duz_per_uz0_dzetacorrelated energy spread

Member Data Documentation

◆ m_momentum_profile

BeamMomentumType GetInitialMomentum::m_momentum_profile = BeamMomentumType::Gaussian

◆ m_u_mean

amrex::RealVect GetInitialMomentum::m_u_mean

◆ m_u_std

amrex::RealVect GetInitialMomentum::m_u_std {0.,0.,0.}

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