DFT-EFE
 
Loading...
Searching...
No Matches
dftefe::ksdft::RDM1Spectral< ValueType, memorySpace > Class Template Reference

Intermediate abstract class that stores the spectral (eigen) decomposition of the one-particle reduced density matrix — KS orbitals, occupancies, and orbital count. Concrete subclasses (e.g. RDM1FE) implement getDescriptors() and getDensityObs() using this stored data. More...

#include <RDM1Spectral.h>

Inheritance diagram for dftefe::ksdft::RDM1Spectral< ValueType, memorySpace >:
Collaboration diagram for dftefe::ksdft::RDM1Spectral< ValueType, memorySpace >:

Public Types

using AttrStorage = typename RDM1< ValueType, memorySpace >::AttrStorage
 
- Public Types inherited from dftefe::ksdft::RDM1< ValueType, memorySpace >
using AttrStorage = std::vector< dftefe::quadrature::QuadratureValuesContainer< double, dftefe::utils::MemorySpace::HOST > >
 
using AttrStorageRef = std::reference_wrapper< AttrStorage >
 
using AttrStorageConstRef = std::reference_wrapper< const AttrStorage >
 

Public Member Functions

 RDM1Spectral ()
 
virtual ~RDM1Spectral ()=default
 
void setSpectral (std::unique_ptr< linearAlgebra::MultiVector< ValueType, memorySpace > > ksOrbitals, const std::vector< std::vector< double > > &occupancies, const size_type nKSOrbs)
 
void getSpectral (std::unique_ptr< linearAlgebra::MultiVector< ValueType, memorySpace > > &ksOrbitals, std::vector< std::vector< double > > &occupancies, size_type &nKSOrbs)
 
bool getKSSetFlag () const
 
- Public Member Functions inherited from dftefe::ksdft::RDM1< ValueType, memorySpace >
virtual ~RDM1 ()=default
 Default destructor. More...
 
virtual void setEvalDescrFlag (const bool evalFlag)=0
 
virtual void getDescriptors (const std::set< DensityDescrAttr > &densityAttrs, const std::set< WfcDescrAttr > &wfcAttrs, std::unordered_map< DensityDescrAttr, AttrStorage > &densityAttrVals, std::unordered_map< WfcDescrAttr, AttrStorage > &wfcAttrVals)=0
 
virtual void setDescriptors (const std::unordered_map< DensityDescrAttr, AttrStorage > &densityAttrVals, const std::unordered_map< WfcDescrAttr, AttrStorage > &wfcAttrVals)=0
 
virtual void getDensityObs (const std::set< DensityObsAttr > &densityObsAttrs, std::unordered_map< DensityObsAttr, std::vector< std::vector< double > > > &densityObsAttrVals)=0
 
virtual bool isSpinPolarized () const =0
 
virtual bool isNonCollinear () const =0
 
virtual bool isSOC () const =0
 
virtual size_type getnKSOrbs () const =0
 
virtual std::vector< double > getkPointCoords () const =0
 
virtual std::vector< double > getkPointWeights () const =0
 
virtual std::unique_ptr< RDM1< ValueType, memorySpace > > clone () const =0
 

Protected Attributes

std::unique_ptr< linearAlgebra::MultiVector< ValueType, memorySpace > > d_ksOrbs
 
size_type d_nKSOrbs
 
std::vector< std::vector< double > > d_occupancies
 
bool d_ksSetFlag
 
bool d_evalFlag
 

Detailed Description

template<typename ValueType, dftefe::utils::MemorySpace memorySpace>
class dftefe::ksdft::RDM1Spectral< ValueType, memorySpace >

Intermediate abstract class that stores the spectral (eigen) decomposition of the one-particle reduced density matrix — KS orbitals, occupancies, and orbital count. Concrete subclasses (e.g. RDM1FE) implement getDescriptors() and getDensityObs() using this stored data.

Member Typedef Documentation

◆ AttrStorage

template<typename ValueType , dftefe::utils::MemorySpace memorySpace>
using dftefe::ksdft::RDM1Spectral< ValueType, memorySpace >::AttrStorage = typename RDM1<ValueType, memorySpace>::AttrStorage

Constructor & Destructor Documentation

◆ RDM1Spectral()

template<typename ValueType , dftefe::utils::MemorySpace memorySpace>
dftefe::ksdft::RDM1Spectral< ValueType, memorySpace >::RDM1Spectral

◆ ~RDM1Spectral()

template<typename ValueType , dftefe::utils::MemorySpace memorySpace>
virtual dftefe::ksdft::RDM1Spectral< ValueType, memorySpace >::~RDM1Spectral ( )
virtualdefault

Member Function Documentation

◆ getKSSetFlag()

template<typename ValueType , dftefe::utils::MemorySpace memorySpace>
bool dftefe::ksdft::RDM1Spectral< ValueType, memorySpace >::getKSSetFlag

◆ getSpectral()

template<typename ValueType , dftefe::utils::MemorySpace memorySpace>
void dftefe::ksdft::RDM1Spectral< ValueType, memorySpace >::getSpectral ( std::unique_ptr< linearAlgebra::MultiVector< ValueType, memorySpace > > &  ksOrbitals,
std::vector< std::vector< double > > &  occupancies,
size_type nKSOrbs 
)

◆ setSpectral()

template<typename ValueType , dftefe::utils::MemorySpace memorySpace>
void dftefe::ksdft::RDM1Spectral< ValueType, memorySpace >::setSpectral ( std::unique_ptr< linearAlgebra::MultiVector< ValueType, memorySpace > >  ksOrbitals,
const std::vector< std::vector< double > > &  occupancies,
const size_type  nKSOrbs 
)

Member Data Documentation

◆ d_evalFlag

template<typename ValueType , dftefe::utils::MemorySpace memorySpace>
bool dftefe::ksdft::RDM1Spectral< ValueType, memorySpace >::d_evalFlag
protected

◆ d_ksOrbs

template<typename ValueType , dftefe::utils::MemorySpace memorySpace>
std::unique_ptr<linearAlgebra::MultiVector<ValueType, memorySpace> > dftefe::ksdft::RDM1Spectral< ValueType, memorySpace >::d_ksOrbs
protected

◆ d_ksSetFlag

template<typename ValueType , dftefe::utils::MemorySpace memorySpace>
bool dftefe::ksdft::RDM1Spectral< ValueType, memorySpace >::d_ksSetFlag
protected

◆ d_nKSOrbs

template<typename ValueType , dftefe::utils::MemorySpace memorySpace>
size_type dftefe::ksdft::RDM1Spectral< ValueType, memorySpace >::d_nKSOrbs
protected

◆ d_occupancies

template<typename ValueType , dftefe::utils::MemorySpace memorySpace>
std::vector<std::vector<double> > dftefe::ksdft::RDM1Spectral< ValueType, memorySpace >::d_occupancies
protected

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