Skip to content

Class TempLat::TripleStateLayouts

template <size_t NDim>

ClassList > TempLat > TripleStateLayouts

A class which keeps three layouts of the memory for one MPI task in a global exact hypercube. More...

  • #include <triplestatelayouts.h>

Public Functions

Type Name
TripleStateLayouts (FFTLayoutStruct< NDim > fftLayout, device::Idx nGhostCells)
const auto & getConfigSpaceLayout () const
const auto & getConfigSpaceSizes () const
const auto & getConfigSpaceStarts () const
const auto & getFFTConfigSpaceLayout () const
const auto & getFFTConfigSpaceSizes () const
const auto & getFFTConfigSpaceStarts () const
const auto & getFourierSpaceLayout () const
const auto & getFourierSpaceSizes () const
const auto & getFourierSpaceStarts () const
device::Idx getNGhosts () const
const device::Idx & getNecessaryMemoryAllocation () const
operator FFTLayoutStruct< NDim > () const

Detailed Description

  • the pre-FFT configuration space layout (usually padded in the last dimension to hold 2 * (N / 2 + 1) entries.
  • the Fourier space layout (some fraction of the global N x N x ... x (N / 2 + 1) entries)
  • third layout: the configuration space layout with ghost cells, without FFT padding. That is: some fraction of the ( g + N + g ) x ( g + N + g ) x ( g + N + g ) x ...

But the class itself doesn't do anything. Just computes the layouts.

Unit test: ctest -R test-triplestatelayouts

Public Functions Documentation

function TripleStateLayouts

inline TempLat::TripleStateLayouts::TripleStateLayouts (
    FFTLayoutStruct < NDim > fftLayout,
    device::Idx nGhostCells
) 

function getConfigSpaceLayout

inline const auto & TempLat::TripleStateLayouts::getConfigSpaceLayout () const

function getConfigSpaceSizes

inline const auto & TempLat::TripleStateLayouts::getConfigSpaceSizes () const

function getConfigSpaceStarts

inline const auto & TempLat::TripleStateLayouts::getConfigSpaceStarts () const

function getFFTConfigSpaceLayout

inline const auto & TempLat::TripleStateLayouts::getFFTConfigSpaceLayout () const

function getFFTConfigSpaceSizes

inline const auto & TempLat::TripleStateLayouts::getFFTConfigSpaceSizes () const

function getFFTConfigSpaceStarts

inline const auto & TempLat::TripleStateLayouts::getFFTConfigSpaceStarts () const

function getFourierSpaceLayout

inline const auto & TempLat::TripleStateLayouts::getFourierSpaceLayout () const

function getFourierSpaceSizes

inline const auto & TempLat::TripleStateLayouts::getFourierSpaceSizes () const

function getFourierSpaceStarts

inline const auto & TempLat::TripleStateLayouts::getFourierSpaceStarts () const

function getNGhosts

inline device::Idx TempLat::TripleStateLayouts::getNGhosts () const

function getNecessaryMemoryAllocation

inline const device::Idx & TempLat::TripleStateLayouts::getNecessaryMemoryAllocation () const

function operator FFTLayoutStruct< NDim >

inline TempLat::TripleStateLayouts::operator FFTLayoutStruct< NDim > () const

Friends Documentation

friend operator<<

inline std::ostream & TempLat::TripleStateLayouts::operator<< (
    std::ostream & ostream,
    const TripleStateLayouts & tsl
) 


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