Skip to content

Class TempLat::MomentumMultiplicity

template <typename T, size_t NDim>

ClassList > TempLat > MomentumMultiplicity

Computes, for each Fourier-space site, the multiplicity of modes sharing the same rounded momentum magnitude bin. Returns 1/multiplicity on eval. Generalized to arbitrary NDim. More...

  • #include <momentummultiplicity.h>

Public Functions

Type Name
MomentumMultiplicity (device::memory::host_ptr< MemoryToolBox< NDim > > toolBox)
DEVICE_FUNCTION MomentumMultiplicity (const MomentumMultiplicity &) = default
void confirmSpace (device::Idx i, const LayoutStruct< NDim > & newLayout, const SpaceStateType & spaceType) const
DEVICE_INLINE_FUNCTION T eval (const IDX &... idx) const

Public Static Functions

Type Name
std::string toString ()

Detailed Description

Unit test: ctest -R test-momentummultiplicity

@vocab-summary How many modes share the \(\|k\|\) of the current Fourier site — the weight a correctly normalised spectrum needs.

Public Functions Documentation

function MomentumMultiplicity [1/2]

inline TempLat::MomentumMultiplicity::MomentumMultiplicity (
    device::memory::host_ptr < MemoryToolBox < NDim > > toolBox
) 

function MomentumMultiplicity [2/2]

DEVICE_FUNCTION TempLat::MomentumMultiplicity::MomentumMultiplicity (
    const MomentumMultiplicity &
) = default

function confirmSpace

inline void TempLat::MomentumMultiplicity::confirmSpace (
    device::Idx i,
    const LayoutStruct < NDim > & newLayout,
    const SpaceStateType & spaceType
) const

function eval

template<typename... IDX>
inline DEVICE_INLINE_FUNCTION T TempLat::MomentumMultiplicity::eval (
    const IDX &... idx
) const

Public Static Functions Documentation

function toString

static inline std::string TempLat::MomentumMultiplicity::toString () 


The documentation for this class was generated from the following file cosmolatticeweb/tmp/code_source/templat/include/TempLat/lattice/algebra/coordinates/momentummultiplicity.h