Base class for building the DFT operator and the action of operator on a vector.
More...
|
virtual | ~operatorDFTClass () |
| Destructor.
|
|
virtual dftfe::linearAlgebra::MultiVector< dataTypes::number, memorySpace > & | getScratchFEMultivector (const unsigned int numVectors, const unsigned int index)=0 |
|
virtual dftfe::linearAlgebra::MultiVector< dataTypes::numberFP32, memorySpace > & | getScratchFEMultivectorSinglePrec (const unsigned int numVectors, const unsigned int index)=0 |
|
virtual void | init (const std::vector< double > &kPointCoordinates, const std::vector< double > &kPointWeights)=0 |
|
virtual void | reinitkPointSpinIndex (const unsigned int kPointIndex, const unsigned int spinIndex)=0 |
|
virtual void | reinitNumberWavefunctions (const unsigned int numWfc)=0 |
|
virtual 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)=0 |
|
virtual 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)=0 |
|
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 |
|
virtual dftUtils::constraintMatrixInfo< dftfe::utils::MemorySpace::HOST > * | getOverloadedConstraintMatrixHost () const =0 |
|
virtual dftUtils::constraintMatrixInfo< memorySpace > * | getOverloadedConstraintMatrix () const =0 |
|
virtual const MPI_Comm & | getMPICommunicatorDomain ()=0 |
|
virtual const dftfe::utils::MemoryStorage< double, memorySpace > & | getInverseSqrtMassVector ()=0 |
|
virtual const dftfe::utils::MemoryStorage< double, memorySpace > & | getSqrtMassVector ()=0 |
|
Base class for building the DFT operator and the action of operator on a vector.
- Author
- Phani Motamarri, Sambit Das