ImpactX
Loading...
Searching...
No Matches
impactx::elements::Empty Struct Reference

#include <Empty.H>

Inheritance diagram for impactx::elements::Empty:
impactx::elements::mixin::Thin impactx::elements::mixin::LinearTransport< Empty > impactx::elements::mixin::NoFinalize amrex::simd::Vectorized< amrex::simd::native_simd_size_particlereal > amrex::simd::detail::InternalVectorized

Public Types

using PType = ImpactXParticleContainer::ParticleType
 

Public Member Functions

 Empty ()
 
void operator() (ImpactXParticleContainer &, int, int)
 
void compute_constants (RefPart const &)
 
void operator() (ImpactXParticleContainer::iterator &, RefPart &AMREX_RESTRICT)
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void operator() (RefPart &AMREX_RESTRICT refpart) const
 
AMREX_GPU_HOST AMREX_FORCE_INLINE Map6x6 transport_map (RefPart const &AMREX_RESTRICT refpart) const
 
template<typename T_Real = amrex::ParticleReal, typename T_IdCpu = uint64_t>
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void operator() (T_Real &AMREX_RESTRICT x, T_Real &AMREX_RESTRICT y, T_Real &AMREX_RESTRICT t, T_Real &AMREX_RESTRICT px, T_Real &AMREX_RESTRICT py, T_Real &AMREX_RESTRICT pt, T_IdCpu &AMREX_RESTRICT idcpu, RefPart const &AMREX_RESTRICT refpart) const
 
AMREX_FORCE_INLINE std::string name () const
 
AMREX_FORCE_INLINE bool has_name () const
 
- Public Member Functions inherited from impactx::elements::mixin::Thin
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void operator() (RefPart &AMREX_RESTRICT refpart) const
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE int nslice () const
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE amrex::ParticleReal ds () const
 
- Public Member Functions inherited from impactx::elements::mixin::LinearTransport< Empty >
 LinearTransport ()=default
 
 LinearTransport (LinearTransport const &)=default
 
 LinearTransport (LinearTransport &&)=default
 
LinearTransportoperator= (LinearTransport const &)=default
 
LinearTransportoperator= (LinearTransport &&rhs)=default
 
 ~LinearTransport ()=default
 
AMREX_GPU_HOST AMREX_FORCE_INLINE void operator() (Map6x6 &AMREX_RESTRICT cm, RefPart const &AMREX_RESTRICT ref) const
 
- Public Member Functions inherited from impactx::elements::mixin::NoFinalize
void finalize ()
 

Static Public Attributes

static constexpr auto type = "None"
 
- Static Public Attributes inherited from amrex::simd::Vectorized< amrex::simd::native_simd_size_particlereal >
static constexpr int simd_width
 

Member Typedef Documentation

◆ PType

Constructor & Destructor Documentation

◆ Empty()

impactx::elements::Empty::Empty ( )
inline

This element does nothing.

Member Function Documentation

◆ compute_constants()

void impactx::elements::Empty::compute_constants ( RefPart const & )
inline

Compute and cache the constants for the push - nothing to do here

◆ has_name()

AMREX_FORCE_INLINE bool impactx::elements::Empty::has_name ( ) const
inline

◆ name()

AMREX_FORCE_INLINE std::string impactx::elements::Empty::name ( ) const
inline

◆ operator()() [1/4]

void impactx::elements::Empty::operator() ( ImpactXParticleContainer & ,
int ,
int  )
inline

Push all particles - nothing to do here

◆ operator()() [2/4]

void impactx::elements::Empty::operator() ( ImpactXParticleContainer::iterator & ,
RefPart & AMREX_RESTRICT )
inline

Push all particles - nothing to do here

◆ operator()() [3/4]

AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void impactx::elements::Empty::operator() ( RefPart &AMREX_RESTRICT refpart) const
inline

Dos nothing to the reference particle.

Parameters
[in,out]refpartreference particle

◆ operator()() [4/4]

template<typename T_Real = amrex::ParticleReal, typename T_IdCpu = uint64_t>
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void impactx::elements::Empty::operator() ( T_Real &AMREX_RESTRICT x,
T_Real &AMREX_RESTRICT y,
T_Real &AMREX_RESTRICT t,
T_Real &AMREX_RESTRICT px,
T_Real &AMREX_RESTRICT py,
T_Real &AMREX_RESTRICT pt,
T_IdCpu &AMREX_RESTRICT idcpu,
RefPart const &AMREX_RESTRICT refpart ) const
inline

Does nothing to a particle.

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
idcpuparticle global index (unused)
refpartreference particle

◆ transport_map()

AMREX_GPU_HOST AMREX_FORCE_INLINE Map6x6 impactx::elements::Empty::transport_map ( RefPart const &AMREX_RESTRICT refpart) const
inline

This function returns the linear transport map.

Parameters
[in]refpartreference particle
Returns
6x6 transport matrix

Member Data Documentation

◆ type

auto impactx::elements::Empty::type = "None"
staticconstexpr

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