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
The documentation for this class was generated from the following file cosmolatticeweb/tmp/code_source/templat/include/TempLat/lattice/algebra/coordinates/momentummultiplicity.h