High Performance Plasticity  0.5.0
hpp::SpectralDatabase< U > Class Template Reference

#include <spectralUtils.h>

Public Member Functions

 SpectralDatabase ()
 
 SpectralDatabase (std::string dbFilename, std::vector< std::string > dsetBasenames, unsigned int nTerms, MPI_Comm comm, unsigned int refineMult=1)
 
 SpectralDatabase (std::vector< unsigned int > gd, std::vector< double > gs, std::vector< double > ge, std::map< SpectralDatasetID, SpectralDataset< U >> dsets)
 
getIDFTReal (std::string dsetBasename, std::vector< unsigned int > componentIdx, std::vector< unsigned int > spatialCoord) const
 AT END OF DAY, WAS IN PROCESS OF FILLING THIS IN, TO BE CALLED ON LINE 698 Should also switch IFFT->IDFT where appropriate. More...
 
getIDFTReal (std::string dsetBasename, std::vector< unsigned int > spatialCoord) const
 
const std::shared_ptr< U > & getExpTable () const
 
const std::vector< unsigned int > & getGridDims () const
 
const std::vector< double > & getGridEnds () const
 
const std::vector< double > & getGridLengths () const
 
const std::vector< double > & getGridStarts () const
 
const std::vector< double > & getGridSteps () const
 
const hsize_t & getNDims () const
 
SpectralDataset< U > getDataset (const SpectralDatasetID &dsetID) const
 
unsigned int getNDsets () const
 
unsigned int getNTerms () const
 

Private Member Functions

void loadDatasetSingleComponent (HDF5Handler &dbfile, std::string dsetBasename, std::vector< unsigned int > componentIdxUint, unsigned int nTerms, unsigned int refineMult=1)
 Load a single component from a dataset. More...
 
void loadDataset (HDF5Handler &dbfile, std::string dsetBasename, unsigned int nTerms, unsigned int refineMult=1)
 Load all of the components from a dataset. More...
 
void generateExponentialTable ()
 

Private Attributes

hsize_t nDims = 0
 
std::vector< unsigned int > gridDims
 
std::vector< double > gridStarts
 
std::vector< double > gridEnds
 
std::vector< double > gridLengths
 
std::vector< double > gridSteps
 
std::map< SpectralDatasetID, SpectralDataset< U > > dsets
 
std::shared_ptr< U > expTable
 
unsigned int alignment = HPP_DEFAULT_ALIGNMENT
 

Detailed Description

template<typename U>
class hpp::SpectralDatabase< U >

Author
Michael Malahe
Date
07/03/17

Constructor & Destructor Documentation

template<typename U>
hpp::SpectralDatabase< U >::SpectralDatabase ( )
inline
template<typename U >
hpp::SpectralDatabase< U >::SpectralDatabase ( std::string  dbFilename,
std::vector< std::string >  dsetBasenames,
unsigned int  nTerms,
MPI_Comm  comm,
unsigned int  refineMult = 1 
)
template<typename U >
hpp::SpectralDatabase< U >::SpectralDatabase ( std::vector< unsigned int >  gd,
std::vector< double >  gs,
std::vector< double >  ge,
std::map< SpectralDatasetID, SpectralDataset< U >>  dsets 
)

Member Function Documentation

template<typename U >
void hpp::SpectralDatabase< U >::generateExponentialTable ( )
private
template<typename U>
SpectralDataset<U> hpp::SpectralDatabase< U >::getDataset ( const SpectralDatasetID dsetID) const
inline
template<typename U>
const std::shared_ptr<U>& hpp::SpectralDatabase< U >::getExpTable ( ) const
inline
template<typename U>
const std::vector<unsigned int>& hpp::SpectralDatabase< U >::getGridDims ( ) const
inline
template<typename U>
const std::vector<double>& hpp::SpectralDatabase< U >::getGridEnds ( ) const
inline
template<typename U>
const std::vector<double>& hpp::SpectralDatabase< U >::getGridLengths ( ) const
inline
template<typename U>
const std::vector<double>& hpp::SpectralDatabase< U >::getGridStarts ( ) const
inline
template<typename U>
const std::vector<double>& hpp::SpectralDatabase< U >::getGridSteps ( ) const
inline
template<typename U >
U hpp::SpectralDatabase< U >::getIDFTReal ( std::string  dsetBasename,
std::vector< unsigned int >  componentIdx,
std::vector< unsigned int >  spatialCoord 
) const

AT END OF DAY, WAS IN PROCESS OF FILLING THIS IN, TO BE CALLED ON LINE 698 Should also switch IFFT->IDFT where appropriate.

template<typename U >
U hpp::SpectralDatabase< U >::getIDFTReal ( std::string  dsetBasename,
std::vector< unsigned int >  spatialCoord 
) const
template<typename U>
const hsize_t& hpp::SpectralDatabase< U >::getNDims ( ) const
inline
template<typename U>
unsigned int hpp::SpectralDatabase< U >::getNDsets ( ) const
inline
template<typename U>
unsigned int hpp::SpectralDatabase< U >::getNTerms ( ) const
inline
template<typename U >
void hpp::SpectralDatabase< U >::loadDataset ( HDF5Handler dbfile,
std::string  dsetBasename,
unsigned int  nTerms,
unsigned int  refineMult = 1 
)
private

Load all of the components from a dataset.

Parameters
dbfile
dsetBasename
nTermsthe number of Fourier terms to load
refineMultthe spectral refinement multiplier
template<typename U >
void hpp::SpectralDatabase< U >::loadDatasetSingleComponent ( HDF5Handler dbfile,
std::string  dsetBasename,
std::vector< unsigned int >  componentIdxUint,
unsigned int  nTerms,
unsigned int  refineMult = 1 
)
private

Load a single component from a dataset.

Load all of the components from a dataset.

Parameters
dbfile
dsetBasename
nTermsthe number of Fourier terms to load
refineMultthe spectral refinement multiplier
componentIdxUintthe vector or tensor index of the component of the quantity to fetch

Member Data Documentation

template<typename U>
unsigned int hpp::SpectralDatabase< U >::alignment = HPP_DEFAULT_ALIGNMENT
private
template<typename U>
std::map<SpectralDatasetID, SpectralDataset<U> > hpp::SpectralDatabase< U >::dsets
private
template<typename U>
std::shared_ptr<U> hpp::SpectralDatabase< U >::expTable
private
template<typename U>
std::vector<unsigned int> hpp::SpectralDatabase< U >::gridDims
private
template<typename U>
std::vector<double> hpp::SpectralDatabase< U >::gridEnds
private
template<typename U>
std::vector<double> hpp::SpectralDatabase< U >::gridLengths
private
template<typename U>
std::vector<double> hpp::SpectralDatabase< U >::gridStarts
private
template<typename U>
std::vector<double> hpp::SpectralDatabase< U >::gridSteps
private
template<typename U>
hsize_t hpp::SpectralDatabase< U >::nDims = 0
private

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