Class to store the one-particle reduced density matrix using its spectral (eigen) representation in the finite-element basis. More...
#include <RDM1FE.h>


Public Types | |
| using | ValueType = linearAlgebra::blasLapack::scalar_type< ValueTypeBasisData, ValueTypeBasisCoeff > |
| using | AttrStorage = typename RDM1< ValueType, memorySpace >::AttrStorage |
Public Types inherited from dftefe::ksdft::RDM1Spectral< linearAlgebra::blasLapack::scalar_type< ValueTypeBasisData, ValueTypeBasisCoeff >, memorySpace > | |
| using | AttrStorage = typename RDM1< linearAlgebra::blasLapack::scalar_type< ValueTypeBasisData, ValueTypeBasisCoeff >, 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 | |
| virtual | ~RDM1FE ()=default |
| RDM1FE (std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeBasisData, memorySpace > > feBasisDataStorage, const basis::FEBasisManager< ValueTypeBasisCoeff, ValueTypeBasisData, memorySpace, dim > &feBMPsi, std::shared_ptr< linearAlgebra::LinAlgOpContext< memorySpace > > linAlgOpContext, const utils::mpi::MPIComm &mpiCommDomain, const size_type cellBlockSize, const size_type waveFuncBatchSize, const SpinMode spinMode=SpinMode::Unpolarized, const bool isSOC=false, const std::vector< double > &kPointCoords=std::vector< double >{}, const std::vector< double > &kPointWeights=std::vector< double >{}) | |
| void | reinit (std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeBasisData, memorySpace > > feBasisDataStorage, const basis::FEBasisManager< ValueTypeBasisCoeff, ValueTypeBasisData, memorySpace, dim > &feBMPsi) |
| void | setEvalDescrFlag (const bool evalFlag) override |
| void | getDescriptors (const std::set< DensityDescrAttr > &densityAttrs, const std::set< WfcDescrAttr > &wfcAttrs, std::unordered_map< DensityDescrAttr, AttrStorage > &densityAttrVals, std::unordered_map< WfcDescrAttr, AttrStorage > &wfcAttrVals) |
| void | setDescriptors (const std::unordered_map< DensityDescrAttr, AttrStorage > &densityAttrVals, const std::unordered_map< WfcDescrAttr, AttrStorage > &wfcAttrVals) |
| void | getDensityObs (const std::set< DensityObsAttr > &densityObsAttrs, std::unordered_map< DensityObsAttr, std::vector< std::vector< double > > > &densityObsAttrVals) |
| SpinMode | spinMode () const |
| bool | isSOC () const |
| size_type | getnKSOrbs () const |
| std::vector< double > | getkPointCoords () const |
| std::vector< double > | getkPointWeights () const |
| std::unique_ptr< RDM1< ValueType, memorySpace > > | clone () const |
| std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeBasisData, memorySpace > > | getFEBasisDataStorage () const |
| const basis::FEBasisManager< ValueTypeBasisCoeff, ValueTypeBasisData, memorySpace, dim > & | getFEBasisManager () const |
Public Member Functions inherited from dftefe::ksdft::RDM1Spectral< linearAlgebra::blasLapack::scalar_type< ValueTypeBasisData, ValueTypeBasisCoeff >, memorySpace > | |
| RDM1Spectral () | |
| virtual | ~RDM1Spectral ()=default |
| void | setSpectral (std::unique_ptr< SpectralRep< linearAlgebra::blasLapack::scalar_type< ValueTypeBasisData, ValueTypeBasisCoeff >, memorySpace > > spectral) |
| Store the spectral representation (takes ownership). Sets d_evalFlag = true. More... | |
| const SpectralRep< linearAlgebra::blasLapack::scalar_type< ValueTypeBasisData, ValueTypeBasisCoeff >, memorySpace > & | getSpectral () const |
| Read-only reference to the spectral data — does not move ownership. Use for Ts / Exc / NLPSP read-only access. More... | |
| RDM1Access< linearAlgebra::blasLapack::scalar_type< ValueTypeBasisData, ValueTypeBasisCoeff >, memorySpace > | getAccess () |
| Resource Acquisition Is Initialization (RAII) access object that moves ownership out for the eigensolver (write access). Returns ownership on destruction or explicit returnBack(). More... | |
| bool | isSpectralSet () 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 SpinMode | spinMode () 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 |
Private Attributes | |
| std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeBasisData, memorySpace > > | d_feBasisDataStorage |
| const basis::FEBasisManager< ValueTypeBasisCoeff, ValueTypeBasisData, memorySpace, dim > * | d_feBMPsiPtr |
| std::shared_ptr< linearAlgebra::LinAlgOpContext< memorySpace > > | d_linAlgOpContext |
| std::shared_ptr< DensityCalculator< ValueTypeBasisData, ValueTypeBasisCoeff, memorySpace, dim > > | d_densCalc |
| std::vector< double > | d_kPointCoords |
| std::vector< double > | d_kPointWeights |
| SpinMode | d_spinMode |
| bool | d_isSOC |
| std::reference_wrapper< const utils::mpi::MPIComm > | d_mpiCommDomain |
| size_type | d_cellBlockSize |
| size_type | d_waveFuncBatchSize |
| std::unordered_map< DensityDescrAttr, AttrStorage > | d_densityAttrVals |
| std::unordered_map< WfcDescrAttr, AttrStorage > | d_wfcAttrVals |
Additional Inherited Members | |
Protected Attributes inherited from dftefe::ksdft::RDM1Spectral< linearAlgebra::blasLapack::scalar_type< ValueTypeBasisData, ValueTypeBasisCoeff >, memorySpace > | |
| std::unique_ptr< SpectralRep< linearAlgebra::blasLapack::scalar_type< ValueTypeBasisData, ValueTypeBasisCoeff >, memorySpace > > | d_spectral |
| bool | d_evalFlag |
Class to store the one-particle reduced density matrix using its spectral (eigen) representation in the finite-element basis.
| using dftefe::ksdft::RDM1FE< ValueTypeBasisData, ValueTypeBasisCoeff, memorySpace, dim >::AttrStorage = typename RDM1<ValueType, memorySpace>::AttrStorage |
| using dftefe::ksdft::RDM1FE< ValueTypeBasisData, ValueTypeBasisCoeff, memorySpace, dim >::ValueType = linearAlgebra::blasLapack::scalar_type<ValueTypeBasisData, ValueTypeBasisCoeff> |
|
virtualdefault |
| dftefe::ksdft::RDM1FE< ValueTypeBasisData, ValueTypeBasisCoeff, memorySpace, dim >::RDM1FE | ( | std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeBasisData, memorySpace > > | feBasisDataStorage, |
| const basis::FEBasisManager< ValueTypeBasisCoeff, ValueTypeBasisData, memorySpace, dim > & | feBMPsi, | ||
| std::shared_ptr< linearAlgebra::LinAlgOpContext< memorySpace > > | linAlgOpContext, | ||
| const utils::mpi::MPIComm & | mpiCommDomain, | ||
| const size_type | cellBlockSize, | ||
| const size_type | waveFuncBatchSize, | ||
| const SpinMode | spinMode = SpinMode::Unpolarized, |
||
| const bool | isSOC = false, |
||
| const std::vector< double > & | kPointCoords = std::vector<double>{}, |
||
| const std::vector< double > & | kPointWeights = std::vector<double>{} |
||
| ) |

|
virtual |
Implements dftefe::ksdft::RDM1< ValueType, memorySpace >.
|
virtual |
Implements dftefe::ksdft::RDM1< ValueType, memorySpace >.
|
virtual |
| std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeBasisData, memorySpace > > dftefe::ksdft::RDM1FE< ValueTypeBasisData, ValueTypeBasisCoeff, memorySpace, dim >::getFEBasisDataStorage |
| const basis::FEBasisManager< ValueTypeBasisCoeff, ValueTypeBasisData, memorySpace, dim > & dftefe::ksdft::RDM1FE< ValueTypeBasisData, ValueTypeBasisCoeff, memorySpace, dim >::getFEBasisManager |
|
virtual |
Implements dftefe::ksdft::RDM1< ValueType, memorySpace >.
|
virtual |
Implements dftefe::ksdft::RDM1< ValueType, memorySpace >.
|
virtual |
Implements dftefe::ksdft::RDM1< ValueType, memorySpace >.
|
virtual |
Implements dftefe::ksdft::RDM1< ValueType, memorySpace >.

| void dftefe::ksdft::RDM1FE< ValueTypeBasisData, ValueTypeBasisCoeff, memorySpace, dim >::reinit | ( | std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeBasisData, memorySpace > > | feBasisDataStorage, |
| const basis::FEBasisManager< ValueTypeBasisCoeff, ValueTypeBasisData, memorySpace, dim > & | feBMPsi | ||
| ) |
|
virtual |
Implements dftefe::ksdft::RDM1< ValueType, memorySpace >.
|
overridevirtual |
Implements dftefe::ksdft::RDM1< ValueType, memorySpace >.
|
virtual |
Implements dftefe::ksdft::RDM1< ValueType, memorySpace >.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |