19#ifndef chebyshevOrthogonalizedSubspaceIterationSolver_h
20#define chebyshevOrthogonalizedSubspaceIterationSolver_h
49 const MPI_Comm & mpi_comm_parent,
50 const MPI_Comm & mpi_comm_domain,
51 double lowerBoundWantedSpectrum,
52 double lowerBoundUnWantedSpectrum,
53 double upperBoundUnWantedSpectrum,
73 const unsigned int totalNumberWaveFunctions,
74 const unsigned int localVectorSize,
75 std::vector<double> &eigenValues,
76 std::vector<double> &residuals,
77 const MPI_Comm & interBandGroupComm,
78 const MPI_Comm & mpiCommDomain,
79 const bool isFirstFilteringCall,
80 const bool computeResidual,
81 const bool useMixedPrec =
false,
82 const bool isFirstScf =
false);
90 std::vector<double> & eigenValues,
91 std::vector<double> & residuals);
98 double lowerBoundUnWantedSpectrum,
99 double upperBoundUnWantedSpectrum);
dealii::TimerOutput computing_timer
Definition chebyshevOrthogonalizedSubspaceIterationSolver.h:126
const dftParameters & d_dftParams
Definition chebyshevOrthogonalizedSubspaceIterationSolver.h:120
void solve(operatorDFTClass< dftfe::utils::MemorySpace::HOST > &operatorMatrix, std::vector< distributedCPUVec< double > > &eigenVectors, std::vector< double > &eigenValues, std::vector< double > &residuals)
Solve a generalized eigen problem.
void reinitSpectrumBounds(double lowerBoundWantedSpectrum, double lowerBoundUnWantedSpectrum, double upperBoundUnWantedSpectrum)
reinit spectrum bounds
chebyshevOrthogonalizedSubspaceIterationSolver(const MPI_Comm &mpi_comm_parent, const MPI_Comm &mpi_comm_domain, double lowerBoundWantedSpectrum, double lowerBoundUnWantedSpectrum, double upperBoundUnWantedSpectrum, const dftParameters &dftParams)
Constructor.
const MPI_Comm d_mpiCommParent
Definition chebyshevOrthogonalizedSubspaceIterationSolver.h:102
double d_lowerBoundUnWantedSpectrum
Definition chebyshevOrthogonalizedSubspaceIterationSolver.h:111
dealii::ConditionalOStream pcout
Definition chebyshevOrthogonalizedSubspaceIterationSolver.h:125
~chebyshevOrthogonalizedSubspaceIterationSolver()
Destructor.
void solve(operatorDFTClass< dftfe::utils::MemorySpace::HOST > &operatorMatrix, std::shared_ptr< dftfe::linearAlgebra::BLASWrapper< dftfe::utils::MemorySpace::HOST > > &BLASWrapperPtr, elpaScalaManager &elpaScala, dataTypes::number *eigenVectorsFlattened, const unsigned int totalNumberWaveFunctions, const unsigned int localVectorSize, std::vector< double > &eigenValues, std::vector< double > &residuals, const MPI_Comm &interBandGroupComm, const MPI_Comm &mpiCommDomain, const bool isFirstFilteringCall, const bool computeResidual, const bool useMixedPrec=false, const bool isFirstScf=false)
Solve a generalized eigen problem.
double d_lowerBoundWantedSpectrum
Definition chebyshevOrthogonalizedSubspaceIterationSolver.h:106
double d_upperBoundUnWantedSpectrum
Definition chebyshevOrthogonalizedSubspaceIterationSolver.h:117
Namespace which declares the input parameters and the functions to parse them from the input paramete...
Definition dftParameters.h:35
eigenSolverClass()
Constructor.
Manager class for ELPA and ScaLAPACK.
Definition elpaScalaManager.h:38
Definition BLASWrapper.h:35
Base class for building the DFT operator and the action of operator on a vector.
Definition operator.h:43
double number
Definition dftfeDataTypes.h:44
Definition pseudoPotentialToDftfeConverter.cc:34
dealii::LinearAlgebra::distributed::Vector< elem_type, dealii::MemorySpace::Host > distributedCPUVec
Definition headers.h:92