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 MPI_Comm &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) |
| bool | isSpinPolarized () const |
| bool | isNonCollinear () 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< linearAlgebra::MultiVector< linearAlgebra::blasLapack::scalar_type< ValueTypeBasisData, ValueTypeBasisCoeff >, memorySpace > > ksOrbitals, const std::vector< std::vector< double > > &occupancies, const size_type nKSOrbs) |
| void | getSpectral (std::unique_ptr< linearAlgebra::MultiVector< linearAlgebra::blasLapack::scalar_type< ValueTypeBasisData, ValueTypeBasisCoeff >, 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 |
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 |
| bool | d_isSpinPolarized |
| bool | d_isNonCollinear |
| bool | d_isSOC |
| std::reference_wrapper< const MPI_Comm > | 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< linearAlgebra::MultiVector< linearAlgebra::blasLapack::scalar_type< ValueTypeBasisData, ValueTypeBasisCoeff >, memorySpace > > | d_ksOrbs |
| size_type | d_nKSOrbs |
| std::vector< std::vector< double > > | d_occupancies |
| bool | d_ksSetFlag |
| 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 MPI_Comm & | 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 >.
|
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 >.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |