|
| KohnShamDFTBaseOperator (std::shared_ptr< dftfe::linearAlgebra::BLASWrapper< memorySpace > > BLASWrapperPtr, std::shared_ptr< dftfe::basis::FEBasisOperations< dataTypes::number, double, memorySpace > > basisOperationsPtr, std::shared_ptr< dftfe::basis::FEBasisOperations< dataTypes::number, double, dftfe::utils::MemorySpace::HOST > > basisOperationsPtrHost, std::shared_ptr< dftfe::pseudopotentialBaseClass< dataTypes::number, memorySpace > > pseudopotentialClassPtr, std::shared_ptr< excManager< memorySpace > > excManagerPtr, dftParameters *dftParamsPtr, const dftfe::uInt densityQuadratureID, const dftfe::uInt lpspQuadratureID, const dftfe::uInt feOrderPlusOneQuadratureID, const MPI_Comm &mpi_comm_parent, const MPI_Comm &mpi_comm_domain) |
|
void | init (const std::vector< double > &kPointCoordinates, const std::vector< double > &kPointWeights) |
|
void | resetExtPotHamFlag () |
|
void | resetKohnShamOp () |
|
const MPI_Comm & | getMPICommunicatorDomain () |
|
dftUtils::constraintMatrixInfo< dftfe::utils::MemorySpace::HOST > * | getOverloadedConstraintMatrixHost () const |
|
dftUtils::constraintMatrixInfo< memorySpace > * | getOverloadedConstraintMatrix () const |
|
dftfe::linearAlgebra::MultiVector< dataTypes::number, memorySpace > & | getScratchFEMultivector (const dftfe::uInt numVectors, const dftfe::uInt index) |
|
dftfe::linearAlgebra::MultiVector< dataTypes::numberFP32, memorySpace > & | getScratchFEMultivectorSinglePrec (const dftfe::uInt numVectors, const dftfe::uInt index) |
|
void | computeVEff (std::shared_ptr< AuxDensityMatrix< memorySpace > > auxDensityXCRepresentationPtr, const dftfe::utils::MemoryStorage< double, dftfe::utils::MemorySpace::HOST > &phiValues, const dftfe::uInt spinIndex=0) |
| Computes effective potential involving exchange-correlation functionals.
|
|
void | setVEff (const std::vector< dftfe::utils::MemoryStorage< double, dftfe::utils::MemorySpace::HOST > > &vKS_quadValues, const dftfe::uInt spinIndex) |
| Sets the V-eff potential.
|
|
void | computeVEffExternalPotCorr (const std::map< dealii::CellId, std::vector< double > > &externalPotCorrValues) |
|
void | computeVEffPrime (std::shared_ptr< AuxDensityMatrix< memorySpace > > auxDensityXCRepresentationPtr, const std::vector< dftfe::utils::MemoryStorage< double, dftfe::utils::MemorySpace::HOST > > &rhoPrimeValues, const std::vector< dftfe::utils::MemoryStorage< double, dftfe::utils::MemorySpace::HOST > > &gradRhoPrimeValues, const dftfe::utils::MemoryStorage< double, dftfe::utils::MemorySpace::HOST > &phiPrimeValues, const dftfe::uInt spinIndex) |
|
void | reinitkPointSpinIndex (const dftfe::uInt kPointIndex, const dftfe::uInt spinIndex) |
| sets the data member to appropriate kPoint and spin Index
|
|
void | reinitNumberWavefunctions (const dftfe::uInt numWfc) |
|
const dftfe::utils::MemoryStorage< double, memorySpace > & | getInverseSqrtMassVector () |
|
const dftfe::utils::MemoryStorage< double, memorySpace > & | getSqrtMassVector () |
|
void | computeCellHamiltonianMatrix (const bool onlyHPrimePartForFirstOrderDensityMatResponse=false) |
|
void | computeCellHamiltonianMatrixExtPotContribution () |
|
void | HX (dftfe::linearAlgebra::MultiVector< dataTypes::number, memorySpace > &src, const double scalarHX, const double scalarY, const double scalarX, dftfe::linearAlgebra::MultiVector< dataTypes::number, memorySpace > &dst, const bool onlyHPrimePartForFirstOrderDensityMatResponse=false) |
| Computing Y = scalarHX*HX + scalarX*X + scalarY*Y for a given X and Y in full precision.
|
|
void | HX (dftfe::linearAlgebra::MultiVector< dataTypes::numberFP32, memorySpace > &src, const double scalarHX, const double scalarY, const double scalarX, dftfe::linearAlgebra::MultiVector< dataTypes::numberFP32, memorySpace > &dst, const bool onlyHPrimePartForFirstOrderDensityMatResponse=false) |
| Computing Y = scalarHX*HX + scalarX*X + scalarY*Y for a given X and Y in full precision.
|
|
void | HXWithLowdinOrthonormalisedInput (dftfe::linearAlgebra::MultiVector< dataTypes::number, memorySpace > &src, const double scalarHX, const double scalarY, const double scalarX, dftfe::linearAlgebra::MultiVector< dataTypes::number, memorySpace > &dst, const bool onlyHPrimePartForFirstOrderDensityMatResponse=false) |
| Computing Y = scalarHX*M^{1/2}HM^{1/2}X + scalarX*X + scalarY*Y for a given X and Y in full precision. Used for TD-DFT and Inverse DFT calc.
|
|
void | setVEffExternalPotCorrToZero () |
| Computing Y = scalarOX*OX + scalarX*X + scalarY*Y for a given X and Y in full precision.
|
|
virtual | ~operatorDFTClass () |
| Destructor.
|
|
virtual void | overlapMatrixTimesX (dftfe::linearAlgebra::MultiVector< dataTypes::number, memorySpace > &src, const double scalarOX, const double scalarY, const double scalarX, dftfe::linearAlgebra::MultiVector< dataTypes::number, memorySpace > &dst, const bool useApproximateMatrixEntries=true)=0 |
|
virtual void | overlapInverseMatrixTimesX (dftfe::linearAlgebra::MultiVector< dataTypes::number, memorySpace > &src, const double scalarOinvX, const double scalarY, const double scalarX, dftfe::linearAlgebra::MultiVector< dataTypes::number, memorySpace > &dst)=0 |
|
virtual void | overlapInverseMatrixTimesX (dftfe::linearAlgebra::MultiVector< dataTypes::numberFP32, memorySpace > &src, const double scalarOinvX, const double scalarY, const double scalarX, dftfe::linearAlgebra::MultiVector< dataTypes::numberFP32, memorySpace > &dst)=0 |
|
virtual void | HXCheby (dftfe::linearAlgebra::MultiVector< dataTypes::number, memorySpace > &src, const double scalarHX, const double scalarY, const double scalarX, dftfe::linearAlgebra::MultiVector< dataTypes::number, memorySpace > &dst, const bool onlyHPrimePartForFirstOrderDensityMatResponse=false, const bool skip1=false, const bool skip2=false, const bool skip3=false)=0 |
|
virtual void | HXCheby (dftfe::linearAlgebra::MultiVector< dataTypes::numberFP32, memorySpace > &src, const double scalarHX, const double scalarY, const double scalarX, dftfe::linearAlgebra::MultiVector< dataTypes::numberFP32, memorySpace > &dst, const bool onlyHPrimePartForFirstOrderDensityMatResponse=false, const bool skip1=false, const bool skip2=false, const bool skip3=false)=0 |
|
|
std::shared_ptr< AtomicCenteredNonLocalOperator< dataTypes::number, memorySpace > > | d_pseudopotentialNonLocalOperator |
|
std::shared_ptr< AtomicCenteredNonLocalOperator< dataTypes::numberFP32, memorySpace > > | d_pseudopotentialNonLocalOperatorSinglePrec |
|
std::shared_ptr< dftfe::linearAlgebra::BLASWrapper< memorySpace > > | d_BLASWrapperPtr |
|
std::shared_ptr< dftfe::basis::FEBasisOperations< dataTypes::number, double, memorySpace > > | d_basisOperationsPtr |
|
std::shared_ptr< dftfe::basis::FEBasisOperations< dataTypes::number, double, dftfe::utils::MemorySpace::HOST > > | d_basisOperationsPtrHost |
|
std::shared_ptr< dftfe::pseudopotentialBaseClass< dataTypes::number, memorySpace > > | d_pseudopotentialClassPtr |
|
std::shared_ptr< excManager< memorySpace > > | d_excManagerPtr |
|
dftParameters * | d_dftParamsPtr |
|
std::vector< dftfe::utils::MemoryStorage< dataTypes::number, memorySpace > > | d_cellHamiltonianMatrix |
|
std::vector< dftfe::utils::MemoryStorage< dataTypes::numberFP32, memorySpace > > | d_cellHamiltonianMatrixSinglePrec |
|
dftfe::utils::MemoryStorage< double, memorySpace > | d_cellHamiltonianMatrixExtPot |
|
dftfe::utils::MemoryStorage< dataTypes::number, memorySpace > | d_cellWaveFunctionMatrixSrc |
|
dftfe::utils::MemoryStorage< dataTypes::number, memorySpace > | d_cellWaveFunctionMatrixDst |
|
dftfe::utils::MemoryStorage< dataTypes::numberFP32, memorySpace > | d_cellWaveFunctionMatrixSrcSinglePrec |
|
dftfe::utils::MemoryStorage< dataTypes::numberFP32, memorySpace > | d_cellWaveFunctionMatrixDstSinglePrec |
|
dftfe::linearAlgebra::MultiVector< dataTypes::number, memorySpace > | d_pseudopotentialNonLocalProjectorTimesVectorBlock |
|
dftfe::linearAlgebra::MultiVector< dataTypes::numberFP32, memorySpace > | d_pseudopotentialNonLocalProjectorTimesVectorBlockSinglePrec |
|
dftfe::linearAlgebra::MultiVector< dataTypes::number, memorySpace > | d_tempBlockVectorOverlapInvX |
|
dftfe::linearAlgebra::MultiVector< dataTypes::numberFP32, memorySpace > | d_tempBlockVectorOverlapInvXSinglePrec |
|
dftfe::utils::MemoryStorage< double, memorySpace > | d_VeffJxW |
|
dftfe::utils::MemoryStorage< double, memorySpace > | d_VeffExtPotJxW |
|
dftfe::utils::MemoryStorage< double, memorySpace > | d_invJacderExcWithSigmaTimesGradRhoJxW |
|
dftfe::utils::MemoryStorage< double, memorySpace > | d_invJacinvJacderExcWithTauJxW |
|
std::vector< dftfe::utils::MemoryStorage< double, memorySpace > > | d_invJacKPointTimesJxW |
|
std::vector< dftfe::utils::MemoryStorage< double, memorySpace > > | d_halfKSquareTimesDerExcwithTauJxW |
|
std::vector< dftfe::utils::MemoryStorage< double, memorySpace > > | d_derExcwithTauTimesinvJacKpointTimesJxW |
|
std::shared_ptr< dftUtils::constraintMatrixInfo< memorySpace > > | inverseMassVectorScaledConstraintsNoneDataInfoPtr |
|
std::shared_ptr< dftUtils::constraintMatrixInfo< memorySpace > > | inverseSqrtMassVectorScaledConstraintsNoneDataInfoPtr |
|
std::vector< double > | d_kPointCoordinates |
|
std::vector< double > | d_kPointWeights |
|
dftfe::utils::MemoryStorage< double, memorySpace > | tempHamMatrixRealBlock |
|
dftfe::utils::MemoryStorage< double, memorySpace > | tempHamMatrixImagBlock |
|
const dftfe::uInt | d_densityQuadratureID |
|
const dftfe::uInt | d_lpspQuadratureID |
|
const dftfe::uInt | d_feOrderPlusOneQuadratureID |
|
dftfe::uInt | d_kPointIndex |
|
dftfe::uInt | d_spinIndex |
|
dftfe::uInt | d_HamiltonianIndex |
|
bool | d_isExternalPotCorrHamiltonianComputed |
|
const MPI_Comm | d_mpiCommParent |
|
const MPI_Comm | d_mpiCommDomain |
|
const dftfe::uInt | n_mpi_processes |
|
const dftfe::uInt | this_mpi_process |
|
dftfe::uInt | d_cellsBlockSizeHamiltonianConstruction |
|
dftfe::uInt | d_cellsBlockSizeHX |
|
dftfe::uInt | d_numVectorsInternal |
|
dftfe::uInt | d_nOMPThreads |
|
dealii::ConditionalOStream | pcout |
|
dealii::TimerOutput | computing_timer |
|
std::shared_ptr< hubbard< dataTypes::number, memorySpace > > | d_hubbardClassPtr |
|
bool | d_useHubbard |
|
dftfe::linearAlgebra::MultiVector< dataTypes::number, memorySpace > | d_srcNonLocalTemp |
|
dftfe::linearAlgebra::MultiVector< dataTypes::number, memorySpace > | d_dstNonLocalTemp |
|
dftfe::linearAlgebra::MultiVector< dataTypes::numberFP32, memorySpace > | d_srcNonLocalTempSinglePrec |
|
dftfe::linearAlgebra::MultiVector< dataTypes::numberFP32, memorySpace > | d_dstNonLocalTempSinglePrec |
|
dftfe::utils::MemoryStorage< dftfe::uInt, memorySpace > | d_mapNodeIdToProcId |
|