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,
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.
double d_lowerBoundWantedSpectrum
Definition chebyshevOrthogonalizedSubspaceIterationSolver.h:106
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 dftfe::uInt totalNumberWaveFunctions, const dftfe::uInt 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_upperBoundUnWantedSpectrum
Definition chebyshevOrthogonalizedSubspaceIterationSolver.h:117
Namespace which declares the input parameters and the functions to parse them from the input paramete...
Definition dftParameters.h:36
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:42
Definition pseudoPotentialToDftfeConverter.cc:34
dealii::LinearAlgebra::distributed::Vector< elem_type, dealii::MemorySpace::Host > distributedCPUVec
Definition headers.h:92
std::uint32_t uInt
Definition TypeConfig.h:10