DFT-EFE
 
Loading...
Searching...
No Matches
dftefe::ksdft::KohnShamDFT< ValueTypeElectrostaticsCoeff, ValueTypeElectrostaticsBasis, ValueTypeWaveFunctionCoeff, ValueTypeWaveFunctionBasis, memorySpace, dim > Class Template Reference

#include <KohnShamDFT.h>

Collaboration diagram for dftefe::ksdft::KohnShamDFT< ValueTypeElectrostaticsCoeff, ValueTypeElectrostaticsBasis, ValueTypeWaveFunctionCoeff, ValueTypeWaveFunctionBasis, memorySpace, dim >:

Public Types

using HamiltonianPtrVariant = std::variant< std::shared_ptr< Hamiltonian< float, memorySpace > >, std::shared_ptr< Hamiltonian< double, memorySpace > >, std::shared_ptr< Hamiltonian< std::complex< float >, memorySpace > >, std::shared_ptr< Hamiltonian< std::complex< double >, memorySpace > > >
 
using ValueTypeOperator = linearAlgebra::blasLapack::scalar_type< ValueTypeElectrostaticsBasis, ValueTypeWaveFunctionBasis >
 
using ValueTypeOperand = linearAlgebra::blasLapack::scalar_type< ValueTypeElectrostaticsCoeff, ValueTypeWaveFunctionCoeff >
 
using ValueType = linearAlgebra::blasLapack::scalar_type< ValueTypeOperator, ValueTypeOperator >
 
using RealType = linearAlgebra::blasLapack::real_type< ValueType >
 
using OpContext = typename linearAlgebra::HermitianIterativeEigenSolver< ValueTypeOperator, ValueTypeOperand, memorySpace >::OpContext
 

Public Member Functions

 KohnShamDFT (const std::vector< utils::Point > &atomCoordinates, const std::vector< double > &atomCharges, const std::vector< double > &smearedChargeRadius, const size_type numElectrons, const size_type numWantedEigenvalues, const double smearingTemperature, const double fermiEnergyTolerance, const double fracOccupancyTolerance, const double eigenSolveResidualTolerance, const double scfDensityResidualNormTolerance, const size_type maxChebyshevFilterPass, const size_type maxSCFIter, const bool evaluateEnergyEverySCF, const size_type mixingHistory, const double mixingParameter, const bool isAdaptiveAndersonMixingParameter, const quadrature::QuadratureValuesContainer< RealType, memorySpace > &electronChargeDensityInput, std::shared_ptr< const basis::FEBasisManager< ValueTypeElectrostaticsCoeff, ValueTypeElectrostaticsBasis, memorySpace, dim > > feBMTotalCharge, std::shared_ptr< const basis::FEBasisManager< ValueTypeWaveFunctionCoeff, ValueTypeWaveFunctionBasis, memorySpace, dim > > feBMWaveFn, std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeElectrostaticsBasis, memorySpace > > feBDTotalChargeStiffnessMatrix, std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeElectrostaticsBasis, memorySpace > > feBDNuclearChargeRhs, std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeElectrostaticsBasis, memorySpace > > feBDElectronicChargeRhs, std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeWaveFunctionBasis, memorySpace > > feBDKineticHamiltonian, std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeWaveFunctionBasis, memorySpace > > feBDElectrostaticsHamiltonian, std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeWaveFunctionBasis, memorySpace > > feBDEXCHamiltonian, const utils::ScalarSpatialFunctionReal &externalPotentialFunction, std::shared_ptr< linearAlgebra::LinAlgOpContext< memorySpace > > linAlgOpContext, const OpContext &MContextForInv=linearAlgebra::IdentityOperatorContext< ValueTypeOperator, ValueTypeOperand, memorySpace >(), const OpContext &MContext=linearAlgebra::IdentityOperatorContext< ValueTypeOperator, ValueTypeOperand, memorySpace >(), const OpContext &MInvContext=linearAlgebra::IdentityOperatorContext< ValueTypeOperator, ValueTypeOperand, memorySpace >(), bool isResidualChebyshevFilter=true)
 
 KohnShamDFT (const std::vector< utils::Point > &atomCoordinates, const std::vector< double > &atomCharges, const std::vector< double > &smearedChargeRadius, const size_type numElectrons, const size_type numWantedEigenvalues, const double smearingTemperature, const double fermiEnergyTolerance, const double fracOccupancyTolerance, const double eigenSolveResidualTolerance, const double scfDensityResidualNormTolerance, const size_type maxChebyshevFilterPass, const size_type maxSCFIter, const bool evaluateEnergyEverySCF, const size_type mixingHistory, const double mixingParameter, const bool isAdaptiveAndersonMixingParameter, const quadrature::QuadratureValuesContainer< RealType, memorySpace > &electronChargeDensityInput, std::shared_ptr< const basis::FEBasisManager< ValueTypeElectrostaticsCoeff, ValueTypeElectrostaticsBasis, memorySpace, dim > > feBMTotalCharge, std::shared_ptr< const basis::FEBasisManager< ValueTypeWaveFunctionCoeff, ValueTypeWaveFunctionBasis, memorySpace, dim > > feBMWaveFn, std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeElectrostaticsBasis, memorySpace > > feBDTotalChargeStiffnessMatrix, std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeElectrostaticsBasis, memorySpace > > feBDNuclearChargeRhs, std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeElectrostaticsBasis, memorySpace > > feBDElectronicChargeRhs, std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeElectrostaticsBasis, memorySpace > > feBDNuclChargeStiffnessMatrixNumSol, std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeElectrostaticsBasis, memorySpace > > feBDNuclChargeRhsNumSol, std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeWaveFunctionBasis, memorySpace > > feBDKineticHamiltonian, std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeWaveFunctionBasis, memorySpace > > feBDElectrostaticsHamiltonian, std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeWaveFunctionBasis, memorySpace > > feBDEXCHamiltonian, const utils::ScalarSpatialFunctionReal &externalPotentialFunction, std::shared_ptr< linearAlgebra::LinAlgOpContext< memorySpace > > linAlgOpContext, const OpContext &MContextForInv=linearAlgebra::IdentityOperatorContext< ValueTypeOperator, ValueTypeOperand, memorySpace >(), const OpContext &MContext=linearAlgebra::IdentityOperatorContext< ValueTypeOperator, ValueTypeOperand, memorySpace >(), const OpContext &MInvContext=linearAlgebra::IdentityOperatorContext< ValueTypeOperator, ValueTypeOperand, memorySpace >(), bool isResidualChebyshevFilter=true)
 
 KohnShamDFT (const std::vector< utils::Point > &atomCoordinates, const std::vector< double > &atomCharges, const std::vector< double > &smearedChargeRadius, const size_type numElectrons, const size_type numWantedEigenvalues, const double smearingTemperature, const double fermiEnergyTolerance, const double fracOccupancyTolerance, const double eigenSolveResidualTolerance, const double scfDensityResidualNormTolerance, const size_type maxChebyshevFilterPass, const size_type maxSCFIter, const bool evaluateEnergyEverySCF, const size_type mixingHistory, const double mixingParameter, const bool isAdaptiveAndersonMixingParameter, const utils::ScalarSpatialFunctionReal &atomicTotalElectroPotentialFunction, const utils::ScalarSpatialFunctionReal &atomicElectronicChargeDensityFunction, std::shared_ptr< const basis::FEBasisManager< ValueTypeElectrostaticsCoeff, ValueTypeElectrostaticsBasis, memorySpace, dim > > feBMTotalCharge, std::shared_ptr< const basis::FEBasisManager< ValueTypeWaveFunctionCoeff, ValueTypeWaveFunctionBasis, memorySpace, dim > > feBMWaveFn, std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeElectrostaticsBasis, memorySpace > > feBDTotalChargeStiffnessMatrix, std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeElectrostaticsBasis, memorySpace > > feBDNuclearChargeRhs, std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeElectrostaticsBasis, memorySpace > > feBDElectronicChargeRhs, std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeWaveFunctionBasis, memorySpace > > feBDKineticHamiltonian, std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeWaveFunctionBasis, memorySpace > > feBDElectrostaticsHamiltonian, std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeWaveFunctionBasis, memorySpace > > feBDEXCHamiltonian, const utils::ScalarSpatialFunctionReal &externalPotentialFunction, std::shared_ptr< linearAlgebra::LinAlgOpContext< memorySpace > > linAlgOpContext, const OpContext &MContextForInv=linearAlgebra::IdentityOperatorContext< ValueTypeOperator, ValueTypeOperand, memorySpace >(), const OpContext &MContext=linearAlgebra::IdentityOperatorContext< ValueTypeOperator, ValueTypeOperand, memorySpace >(), const OpContext &MInvContext=linearAlgebra::IdentityOperatorContext< ValueTypeOperator, ValueTypeOperand, memorySpace >(), bool isResidualChebyshevFilter=true)
 
 KohnShamDFT (const std::vector< utils::Point > &atomCoordinates, const std::vector< double > &atomCharges, const std::vector< std::string > &atomSymbolVec, const std::vector< double > &smearedChargeRadius, const size_type numElectrons, const size_type numWantedEigenvalues, const double smearingTemperature, const double fermiEnergyTolerance, const double fracOccupancyTolerance, const double eigenSolveResidualTolerance, const double scfDensityResidualNormTolerance, const size_type maxChebyshevFilterPass, const size_type maxSCFIter, const bool evaluateEnergyEverySCF, const size_type mixingHistory, const double mixingParameter, const bool isAdaptiveAndersonMixingParameter, std::shared_ptr< const basis::FEBasisManager< ValueTypeElectrostaticsCoeff, ValueTypeElectrostaticsBasis, memorySpace, dim > > feBMTotalCharge, std::shared_ptr< const basis::FEBasisManager< ValueTypeWaveFunctionCoeff, ValueTypeWaveFunctionBasis, memorySpace, dim > > feBMWaveFn, std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeElectrostaticsBasis, memorySpace > > feBDTotalChargeStiffnessMatrix, std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeElectrostaticsBasis, memorySpace > > feBDNuclearChargeRhs, std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeElectrostaticsBasis, memorySpace > > feBDElectronicChargeRhs, std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeWaveFunctionBasis, memorySpace > > feBDKineticHamiltonian, std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeWaveFunctionBasis, memorySpace > > feBDElectrostaticsHamiltonian, std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeWaveFunctionBasis, memorySpace > > feBDEXCHamiltonian, std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeWaveFunctionBasis, memorySpace > > feBDAtomCenterNonLocalOperator, const std::map< std::string, std::string > &atomSymbolToPSPFilename, std::shared_ptr< linearAlgebra::LinAlgOpContext< memorySpace > > linAlgOpContext, const OpContext &MContextForInv=linearAlgebra::IdentityOperatorContext< ValueTypeOperator, ValueTypeOperand, memorySpace >(), const OpContext &MContext=linearAlgebra::IdentityOperatorContext< ValueTypeOperator, ValueTypeOperand, memorySpace >(), const OpContext &MInvContext=linearAlgebra::IdentityOperatorContext< ValueTypeOperator, ValueTypeOperand, memorySpace >(), bool isResidualChebyshevFilter=true)
 
 KohnShamDFT (const std::vector< utils::Point > &atomCoordinates, const std::vector< double > &atomCharges, const std::vector< std::string > &atomSymbolVec, const std::vector< double > &smearedChargeRadius, const size_type numElectrons, const size_type numWantedEigenvalues, const double smearingTemperature, const double fermiEnergyTolerance, const double fracOccupancyTolerance, const double eigenSolveResidualTolerance, const double scfDensityResidualNormTolerance, const size_type maxChebyshevFilterPass, const size_type maxSCFIter, const bool evaluateEnergyEverySCF, const size_type mixingHistory, const double mixingParameter, const bool isAdaptiveAndersonMixingParameter, const utils::ScalarSpatialFunctionReal &atomicTotalElectroPotentialFunction, const utils::ScalarSpatialFunctionReal &atomicElectronicChargeDensityFunction, std::shared_ptr< const basis::FEBasisManager< ValueTypeElectrostaticsCoeff, ValueTypeElectrostaticsBasis, memorySpace, dim > > feBMTotalCharge, std::shared_ptr< const basis::FEBasisManager< ValueTypeWaveFunctionCoeff, ValueTypeWaveFunctionBasis, memorySpace, dim > > feBMWaveFn, std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeElectrostaticsBasis, memorySpace > > feBDTotalChargeStiffnessMatrix, std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeElectrostaticsBasis, memorySpace > > feBDNuclearChargeRhs, std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeElectrostaticsBasis, memorySpace > > feBDElectronicChargeRhs, std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeWaveFunctionBasis, memorySpace > > feBDKineticHamiltonian, std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeWaveFunctionBasis, memorySpace > > feBDElectrostaticsHamiltonian, std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeWaveFunctionBasis, memorySpace > > feBDEXCHamiltonian, std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeWaveFunctionBasis, memorySpace > > feBDAtomCenterNonLocalOperator, const std::map< std::string, std::string > &atomSymbolToPSPFilename, std::shared_ptr< linearAlgebra::LinAlgOpContext< memorySpace > > linAlgOpContext, const OpContext &MContextForInv=linearAlgebra::IdentityOperatorContext< ValueTypeOperator, ValueTypeOperand, memorySpace >(), const OpContext &MContext=linearAlgebra::IdentityOperatorContext< ValueTypeOperator, ValueTypeOperand, memorySpace >(), const OpContext &MInvContext=linearAlgebra::IdentityOperatorContext< ValueTypeOperator, ValueTypeOperand, memorySpace >(), bool isResidualChebyshevFilter=true)
 
 ~KohnShamDFT ()=default
 
void solve ()
 
double getGroundStateEnergy ()
 

Private Attributes

const size_type d_numWantedEigenvalues
 
std::vector< RealTyped_occupation
 
const double d_SCFTol
 
utils::MemoryStorage< RealType, utils::MemorySpace::HOSTd_jxwDataHost
 
std::shared_ptr< KohnShamEigenSolver< ValueTypeOperator, ValueTypeOperand, memorySpace > > d_ksEigSolve
 
std::shared_ptr< DensityCalculator< ValueTypeWaveFunctionBasis, ValueTypeWaveFunctionCoeff, memorySpace, dim > > d_densCalc
 
std::shared_ptr< KohnShamOperatorContextFE< ValueTypeElectrostaticsCoeff, ValueTypeElectrostaticsBasis, ValueTypeWaveFunctionCoeff, ValueTypeWaveFunctionBasis, memorySpace, dim > > d_hamitonianOperator
 
std::shared_ptr< ExchangeCorrelationFE< ValueTypeWaveFunctionBasis, ValueTypeWaveFunctionCoeff, memorySpace, dim > > d_hamitonianXC
 
std::shared_ptr< ElectrostaticFE< ValueTypeElectrostaticsBasis, ValueTypeElectrostaticsCoeff, ValueTypeWaveFunctionBasis, memorySpace, dim > > d_hamitonianElec
 
std::shared_ptr< KineticFE< ValueTypeWaveFunctionBasis, ValueTypeWaveFunctionCoeff, memorySpace, dim > > d_hamitonianKin
 
std::shared_ptr< const basis::FEBasisManager< ValueTypeWaveFunctionCoeff, ValueTypeWaveFunctionBasis, memorySpace, dim > > d_feBMWaveFn
 
std::vector< RealTyped_kohnShamEnergies
 
linearAlgebra::MultiVector< ValueType, memorySpace > * d_kohnShamWaveFunctions
 
utils::ConditionalOStream d_rootCout
 
size_type d_mixingHistory
 
double d_mixingParameter
 
bool d_isAdaptiveAndersonMixingParameter
 
bool d_evaluateEnergyEverySCF
 
quadrature::QuadratureValuesContainer< RealType, memorySpace > d_densityInQuadValues
 
quadrature::QuadratureValuesContainer< RealType, memorySpace > d_densityOutQuadValues
 
quadrature::QuadratureValuesContainer< RealType, memorySpace > d_densityResidualQuadValues
 
quadrature::QuadratureValuesContainer< RealType, memorySpace > d_coreCorrDensUPF
 
quadrature::QuadratureValuesContainer< RealType, memorySpace > d_coreCorrectedDensity
 
size_type d_numMaxSCFIter
 
const OpContextd_MContext
 
const OpContextd_MInvContext
 
const utils::mpi::MPICommd_mpiCommDomain
 
MixingScheme< RealType, RealTyped_mixingScheme
 
std::shared_ptr< linearAlgebra::LinAlgOpContext< memorySpace > > d_linAlgOpContext
 
linearAlgebra::Vector< ValueTypeWaveFunctionCoeff, memorySpace > d_lanczosGuess
 
linearAlgebra::MultiVector< ValueTypeWaveFunctionCoeff, memorySpace > d_waveFunctionSubspaceGuess
 
const size_type d_numElectrons
 
std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeWaveFunctionBasis, memorySpace > > d_feBDEXCHamiltonian
 
RealType d_groundStateEnergy
 
bool d_isSolved
 
utils::Profiler d_p
 
bool d_isPSPCalculation
 
std::shared_ptr< ElectrostaticExcFE< ValueTypeElectrostaticsCoeff, ValueTypeElectrostaticsBasis, ValueTypeWaveFunctionCoeff, ValueTypeWaveFunctionBasis, memorySpace, dim > > d_hamiltonianElectroExc
 
bool d_isResidualChebyshevFilter
 
bool d_isOEFEBasis
 
std::shared_ptr< atoms::AtomSphericalDataContainer > d_atomSphericalDataContainerPSP
 
bool d_isONCVNonLocPSP
 
bool d_isNlcc
 
quadrature::QuadratureValuesContainer< ValueTypeElectrostaticsCoeff, memorySpace > d_atomicTotalElecPotNuclearQuad
 
quadrature::QuadratureValuesContainer< ValueTypeElectrostaticsCoeff, memorySpace > d_atomicTotalElecPotElectronicQuad
 

Member Typedef Documentation

◆ HamiltonianPtrVariant

template<typename ValueTypeElectrostaticsCoeff , typename ValueTypeElectrostaticsBasis , typename ValueTypeWaveFunctionCoeff , typename ValueTypeWaveFunctionBasis , utils::MemorySpace memorySpace, size_type dim>
using dftefe::ksdft::KohnShamDFT< ValueTypeElectrostaticsCoeff, ValueTypeElectrostaticsBasis, ValueTypeWaveFunctionCoeff, ValueTypeWaveFunctionBasis, memorySpace, dim >::HamiltonianPtrVariant = std::variant< std::shared_ptr<Hamiltonian<float, memorySpace> >, std::shared_ptr<Hamiltonian<double, memorySpace> >, std::shared_ptr<Hamiltonian<std::complex<float>, memorySpace> >, std::shared_ptr<Hamiltonian<std::complex<double>, memorySpace> >>

◆ OpContext

template<typename ValueTypeElectrostaticsCoeff , typename ValueTypeElectrostaticsBasis , typename ValueTypeWaveFunctionCoeff , typename ValueTypeWaveFunctionBasis , utils::MemorySpace memorySpace, size_type dim>
using dftefe::ksdft::KohnShamDFT< ValueTypeElectrostaticsCoeff, ValueTypeElectrostaticsBasis, ValueTypeWaveFunctionCoeff, ValueTypeWaveFunctionBasis, memorySpace, dim >::OpContext = typename linearAlgebra::HermitianIterativeEigenSolver< ValueTypeOperator, ValueTypeOperand, memorySpace>::OpContext

◆ RealType

template<typename ValueTypeElectrostaticsCoeff , typename ValueTypeElectrostaticsBasis , typename ValueTypeWaveFunctionCoeff , typename ValueTypeWaveFunctionBasis , utils::MemorySpace memorySpace, size_type dim>
using dftefe::ksdft::KohnShamDFT< ValueTypeElectrostaticsCoeff, ValueTypeElectrostaticsBasis, ValueTypeWaveFunctionCoeff, ValueTypeWaveFunctionBasis, memorySpace, dim >::RealType = linearAlgebra::blasLapack::real_type<ValueType>

◆ ValueType

template<typename ValueTypeElectrostaticsCoeff , typename ValueTypeElectrostaticsBasis , typename ValueTypeWaveFunctionCoeff , typename ValueTypeWaveFunctionBasis , utils::MemorySpace memorySpace, size_type dim>
using dftefe::ksdft::KohnShamDFT< ValueTypeElectrostaticsCoeff, ValueTypeElectrostaticsBasis, ValueTypeWaveFunctionCoeff, ValueTypeWaveFunctionBasis, memorySpace, dim >::ValueType = linearAlgebra::blasLapack::scalar_type<ValueTypeOperator, ValueTypeOperator>

◆ ValueTypeOperand

template<typename ValueTypeElectrostaticsCoeff , typename ValueTypeElectrostaticsBasis , typename ValueTypeWaveFunctionCoeff , typename ValueTypeWaveFunctionBasis , utils::MemorySpace memorySpace, size_type dim>
using dftefe::ksdft::KohnShamDFT< ValueTypeElectrostaticsCoeff, ValueTypeElectrostaticsBasis, ValueTypeWaveFunctionCoeff, ValueTypeWaveFunctionBasis, memorySpace, dim >::ValueTypeOperand = linearAlgebra::blasLapack::scalar_type<ValueTypeElectrostaticsCoeff, ValueTypeWaveFunctionCoeff>

◆ ValueTypeOperator

template<typename ValueTypeElectrostaticsCoeff , typename ValueTypeElectrostaticsBasis , typename ValueTypeWaveFunctionCoeff , typename ValueTypeWaveFunctionBasis , utils::MemorySpace memorySpace, size_type dim>
using dftefe::ksdft::KohnShamDFT< ValueTypeElectrostaticsCoeff, ValueTypeElectrostaticsBasis, ValueTypeWaveFunctionCoeff, ValueTypeWaveFunctionBasis, memorySpace, dim >::ValueTypeOperator = linearAlgebra::blasLapack::scalar_type<ValueTypeElectrostaticsBasis, ValueTypeWaveFunctionBasis>

Constructor & Destructor Documentation

◆ KohnShamDFT() [1/5]

template<typename ValueTypeElectrostaticsCoeff , typename ValueTypeElectrostaticsBasis , typename ValueTypeWaveFunctionCoeff , typename ValueTypeWaveFunctionBasis , utils::MemorySpace memorySpace, size_type dim>
dftefe::ksdft::KohnShamDFT< ValueTypeElectrostaticsCoeff, ValueTypeElectrostaticsBasis, ValueTypeWaveFunctionCoeff, ValueTypeWaveFunctionBasis, memorySpace, dim >::KohnShamDFT ( const std::vector< utils::Point > &  atomCoordinates,
const std::vector< double > &  atomCharges,
const std::vector< double > &  smearedChargeRadius,
const size_type  numElectrons,
const size_type  numWantedEigenvalues,
const double  smearingTemperature,
const double  fermiEnergyTolerance,
const double  fracOccupancyTolerance,
const double  eigenSolveResidualTolerance,
const double  scfDensityResidualNormTolerance,
const size_type  maxChebyshevFilterPass,
const size_type  maxSCFIter,
const bool  evaluateEnergyEverySCF,
const size_type  mixingHistory,
const double  mixingParameter,
const bool  isAdaptiveAndersonMixingParameter,
const quadrature::QuadratureValuesContainer< RealType, memorySpace > &  electronChargeDensityInput,
std::shared_ptr< const basis::FEBasisManager< ValueTypeElectrostaticsCoeff, ValueTypeElectrostaticsBasis, memorySpace, dim > >  feBMTotalCharge,
std::shared_ptr< const basis::FEBasisManager< ValueTypeWaveFunctionCoeff, ValueTypeWaveFunctionBasis, memorySpace, dim > >  feBMWaveFn,
std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeElectrostaticsBasis, memorySpace > >  feBDTotalChargeStiffnessMatrix,
std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeElectrostaticsBasis, memorySpace > >  feBDNuclearChargeRhs,
std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeElectrostaticsBasis, memorySpace > >  feBDElectronicChargeRhs,
std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeWaveFunctionBasis, memorySpace > >  feBDKineticHamiltonian,
std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeWaveFunctionBasis, memorySpace > >  feBDElectrostaticsHamiltonian,
std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeWaveFunctionBasis, memorySpace > >  feBDEXCHamiltonian,
const utils::ScalarSpatialFunctionReal externalPotentialFunction,
std::shared_ptr< linearAlgebra::LinAlgOpContext< memorySpace > >  linAlgOpContext,
const OpContext MContextForInv = linearAlgebra::IdentityOperatorContext<ValueTypeOperatorValueTypeOperand, memorySpace>(),
const OpContext MContext = linearAlgebra::IdentityOperatorContext<ValueTypeOperatorValueTypeOperand, memorySpace>(),
const OpContext MInvContext = linearAlgebra::IdentityOperatorContext<ValueTypeOperatorValueTypeOperand, memorySpace>(),
bool  isResidualChebyshevFilter = true 
)
Here is the call graph for this function:

◆ KohnShamDFT() [2/5]

template<typename ValueTypeElectrostaticsCoeff , typename ValueTypeElectrostaticsBasis , typename ValueTypeWaveFunctionCoeff , typename ValueTypeWaveFunctionBasis , utils::MemorySpace memorySpace, size_type dim>
dftefe::ksdft::KohnShamDFT< ValueTypeElectrostaticsCoeff, ValueTypeElectrostaticsBasis, ValueTypeWaveFunctionCoeff, ValueTypeWaveFunctionBasis, memorySpace, dim >::KohnShamDFT ( const std::vector< utils::Point > &  atomCoordinates,
const std::vector< double > &  atomCharges,
const std::vector< double > &  smearedChargeRadius,
const size_type  numElectrons,
const size_type  numWantedEigenvalues,
const double  smearingTemperature,
const double  fermiEnergyTolerance,
const double  fracOccupancyTolerance,
const double  eigenSolveResidualTolerance,
const double  scfDensityResidualNormTolerance,
const size_type  maxChebyshevFilterPass,
const size_type  maxSCFIter,
const bool  evaluateEnergyEverySCF,
const size_type  mixingHistory,
const double  mixingParameter,
const bool  isAdaptiveAndersonMixingParameter,
const quadrature::QuadratureValuesContainer< RealType, memorySpace > &  electronChargeDensityInput,
std::shared_ptr< const basis::FEBasisManager< ValueTypeElectrostaticsCoeff, ValueTypeElectrostaticsBasis, memorySpace, dim > >  feBMTotalCharge,
std::shared_ptr< const basis::FEBasisManager< ValueTypeWaveFunctionCoeff, ValueTypeWaveFunctionBasis, memorySpace, dim > >  feBMWaveFn,
std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeElectrostaticsBasis, memorySpace > >  feBDTotalChargeStiffnessMatrix,
std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeElectrostaticsBasis, memorySpace > >  feBDNuclearChargeRhs,
std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeElectrostaticsBasis, memorySpace > >  feBDElectronicChargeRhs,
std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeElectrostaticsBasis, memorySpace > >  feBDNuclChargeStiffnessMatrixNumSol,
std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeElectrostaticsBasis, memorySpace > >  feBDNuclChargeRhsNumSol,
std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeWaveFunctionBasis, memorySpace > >  feBDKineticHamiltonian,
std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeWaveFunctionBasis, memorySpace > >  feBDElectrostaticsHamiltonian,
std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeWaveFunctionBasis, memorySpace > >  feBDEXCHamiltonian,
const utils::ScalarSpatialFunctionReal externalPotentialFunction,
std::shared_ptr< linearAlgebra::LinAlgOpContext< memorySpace > >  linAlgOpContext,
const OpContext MContextForInv = linearAlgebra::IdentityOperatorContext<ValueTypeOperatorValueTypeOperand, memorySpace>(),
const OpContext MContext = linearAlgebra::IdentityOperatorContext<ValueTypeOperatorValueTypeOperand, memorySpace>(),
const OpContext MInvContext = linearAlgebra::IdentityOperatorContext<ValueTypeOperatorValueTypeOperand, memorySpace>(),
bool  isResidualChebyshevFilter = true 
)
Here is the call graph for this function:

◆ KohnShamDFT() [3/5]

template<typename ValueTypeElectrostaticsCoeff , typename ValueTypeElectrostaticsBasis , typename ValueTypeWaveFunctionCoeff , typename ValueTypeWaveFunctionBasis , utils::MemorySpace memorySpace, size_type dim>
dftefe::ksdft::KohnShamDFT< ValueTypeElectrostaticsCoeff, ValueTypeElectrostaticsBasis, ValueTypeWaveFunctionCoeff, ValueTypeWaveFunctionBasis, memorySpace, dim >::KohnShamDFT ( const std::vector< utils::Point > &  atomCoordinates,
const std::vector< double > &  atomCharges,
const std::vector< double > &  smearedChargeRadius,
const size_type  numElectrons,
const size_type  numWantedEigenvalues,
const double  smearingTemperature,
const double  fermiEnergyTolerance,
const double  fracOccupancyTolerance,
const double  eigenSolveResidualTolerance,
const double  scfDensityResidualNormTolerance,
const size_type  maxChebyshevFilterPass,
const size_type  maxSCFIter,
const bool  evaluateEnergyEverySCF,
const size_type  mixingHistory,
const double  mixingParameter,
const bool  isAdaptiveAndersonMixingParameter,
const utils::ScalarSpatialFunctionReal atomicTotalElectroPotentialFunction,
const utils::ScalarSpatialFunctionReal atomicElectronicChargeDensityFunction,
std::shared_ptr< const basis::FEBasisManager< ValueTypeElectrostaticsCoeff, ValueTypeElectrostaticsBasis, memorySpace, dim > >  feBMTotalCharge,
std::shared_ptr< const basis::FEBasisManager< ValueTypeWaveFunctionCoeff, ValueTypeWaveFunctionBasis, memorySpace, dim > >  feBMWaveFn,
std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeElectrostaticsBasis, memorySpace > >  feBDTotalChargeStiffnessMatrix,
std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeElectrostaticsBasis, memorySpace > >  feBDNuclearChargeRhs,
std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeElectrostaticsBasis, memorySpace > >  feBDElectronicChargeRhs,
std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeWaveFunctionBasis, memorySpace > >  feBDKineticHamiltonian,
std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeWaveFunctionBasis, memorySpace > >  feBDElectrostaticsHamiltonian,
std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeWaveFunctionBasis, memorySpace > >  feBDEXCHamiltonian,
const utils::ScalarSpatialFunctionReal externalPotentialFunction,
std::shared_ptr< linearAlgebra::LinAlgOpContext< memorySpace > >  linAlgOpContext,
const OpContext MContextForInv = linearAlgebra::IdentityOperatorContext<ValueTypeOperatorValueTypeOperand, memorySpace>(),
const OpContext MContext = linearAlgebra::IdentityOperatorContext<ValueTypeOperatorValueTypeOperand, memorySpace>(),
const OpContext MInvContext = linearAlgebra::IdentityOperatorContext<ValueTypeOperatorValueTypeOperand, memorySpace>(),
bool  isResidualChebyshevFilter = true 
)
Here is the call graph for this function:

◆ KohnShamDFT() [4/5]

template<typename ValueTypeElectrostaticsCoeff , typename ValueTypeElectrostaticsBasis , typename ValueTypeWaveFunctionCoeff , typename ValueTypeWaveFunctionBasis , utils::MemorySpace memorySpace, size_type dim>
dftefe::ksdft::KohnShamDFT< ValueTypeElectrostaticsCoeff, ValueTypeElectrostaticsBasis, ValueTypeWaveFunctionCoeff, ValueTypeWaveFunctionBasis, memorySpace, dim >::KohnShamDFT ( const std::vector< utils::Point > &  atomCoordinates,
const std::vector< double > &  atomCharges,
const std::vector< std::string > &  atomSymbolVec,
const std::vector< double > &  smearedChargeRadius,
const size_type  numElectrons,
const size_type  numWantedEigenvalues,
const double  smearingTemperature,
const double  fermiEnergyTolerance,
const double  fracOccupancyTolerance,
const double  eigenSolveResidualTolerance,
const double  scfDensityResidualNormTolerance,
const size_type  maxChebyshevFilterPass,
const size_type  maxSCFIter,
const bool  evaluateEnergyEverySCF,
const size_type  mixingHistory,
const double  mixingParameter,
const bool  isAdaptiveAndersonMixingParameter,
std::shared_ptr< const basis::FEBasisManager< ValueTypeElectrostaticsCoeff, ValueTypeElectrostaticsBasis, memorySpace, dim > >  feBMTotalCharge,
std::shared_ptr< const basis::FEBasisManager< ValueTypeWaveFunctionCoeff, ValueTypeWaveFunctionBasis, memorySpace, dim > >  feBMWaveFn,
std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeElectrostaticsBasis, memorySpace > >  feBDTotalChargeStiffnessMatrix,
std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeElectrostaticsBasis, memorySpace > >  feBDNuclearChargeRhs,
std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeElectrostaticsBasis, memorySpace > >  feBDElectronicChargeRhs,
std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeWaveFunctionBasis, memorySpace > >  feBDKineticHamiltonian,
std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeWaveFunctionBasis, memorySpace > >  feBDElectrostaticsHamiltonian,
std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeWaveFunctionBasis, memorySpace > >  feBDEXCHamiltonian,
std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeWaveFunctionBasis, memorySpace > >  feBDAtomCenterNonLocalOperator,
const std::map< std::string, std::string > &  atomSymbolToPSPFilename,
std::shared_ptr< linearAlgebra::LinAlgOpContext< memorySpace > >  linAlgOpContext,
const OpContext MContextForInv = linearAlgebra::IdentityOperatorContext<ValueTypeOperatorValueTypeOperand, memorySpace>(),
const OpContext MContext = linearAlgebra::IdentityOperatorContext<ValueTypeOperatorValueTypeOperand, memorySpace>(),
const OpContext MInvContext = linearAlgebra::IdentityOperatorContext<ValueTypeOperatorValueTypeOperand, memorySpace>(),
bool  isResidualChebyshevFilter = true 
)
Here is the call graph for this function:

◆ KohnShamDFT() [5/5]

template<typename ValueTypeElectrostaticsCoeff , typename ValueTypeElectrostaticsBasis , typename ValueTypeWaveFunctionCoeff , typename ValueTypeWaveFunctionBasis , utils::MemorySpace memorySpace, size_type dim>
dftefe::ksdft::KohnShamDFT< ValueTypeElectrostaticsCoeff, ValueTypeElectrostaticsBasis, ValueTypeWaveFunctionCoeff, ValueTypeWaveFunctionBasis, memorySpace, dim >::KohnShamDFT ( const std::vector< utils::Point > &  atomCoordinates,
const std::vector< double > &  atomCharges,
const std::vector< std::string > &  atomSymbolVec,
const std::vector< double > &  smearedChargeRadius,
const size_type  numElectrons,
const size_type  numWantedEigenvalues,
const double  smearingTemperature,
const double  fermiEnergyTolerance,
const double  fracOccupancyTolerance,
const double  eigenSolveResidualTolerance,
const double  scfDensityResidualNormTolerance,
const size_type  maxChebyshevFilterPass,
const size_type  maxSCFIter,
const bool  evaluateEnergyEverySCF,
const size_type  mixingHistory,
const double  mixingParameter,
const bool  isAdaptiveAndersonMixingParameter,
const utils::ScalarSpatialFunctionReal atomicTotalElectroPotentialFunction,
const utils::ScalarSpatialFunctionReal atomicElectronicChargeDensityFunction,
std::shared_ptr< const basis::FEBasisManager< ValueTypeElectrostaticsCoeff, ValueTypeElectrostaticsBasis, memorySpace, dim > >  feBMTotalCharge,
std::shared_ptr< const basis::FEBasisManager< ValueTypeWaveFunctionCoeff, ValueTypeWaveFunctionBasis, memorySpace, dim > >  feBMWaveFn,
std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeElectrostaticsBasis, memorySpace > >  feBDTotalChargeStiffnessMatrix,
std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeElectrostaticsBasis, memorySpace > >  feBDNuclearChargeRhs,
std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeElectrostaticsBasis, memorySpace > >  feBDElectronicChargeRhs,
std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeWaveFunctionBasis, memorySpace > >  feBDKineticHamiltonian,
std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeWaveFunctionBasis, memorySpace > >  feBDElectrostaticsHamiltonian,
std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeWaveFunctionBasis, memorySpace > >  feBDEXCHamiltonian,
std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeWaveFunctionBasis, memorySpace > >  feBDAtomCenterNonLocalOperator,
const std::map< std::string, std::string > &  atomSymbolToPSPFilename,
std::shared_ptr< linearAlgebra::LinAlgOpContext< memorySpace > >  linAlgOpContext,
const OpContext MContextForInv = linearAlgebra::IdentityOperatorContext<ValueTypeOperatorValueTypeOperand, memorySpace>(),
const OpContext MContext = linearAlgebra::IdentityOperatorContext<ValueTypeOperatorValueTypeOperand, memorySpace>(),
const OpContext MInvContext = linearAlgebra::IdentityOperatorContext<ValueTypeOperatorValueTypeOperand, memorySpace>(),
bool  isResidualChebyshevFilter = true 
)
Here is the call graph for this function:

◆ ~KohnShamDFT()

template<typename ValueTypeElectrostaticsCoeff , typename ValueTypeElectrostaticsBasis , typename ValueTypeWaveFunctionCoeff , typename ValueTypeWaveFunctionBasis , utils::MemorySpace memorySpace, size_type dim>
dftefe::ksdft::KohnShamDFT< ValueTypeElectrostaticsCoeff, ValueTypeElectrostaticsBasis, ValueTypeWaveFunctionCoeff, ValueTypeWaveFunctionBasis, memorySpace, dim >::~KohnShamDFT ( )
default

Member Function Documentation

◆ getGroundStateEnergy()

template<typename ValueTypeElectrostaticsCoeff , typename ValueTypeElectrostaticsBasis , typename ValueTypeWaveFunctionCoeff , typename ValueTypeWaveFunctionBasis , utils::MemorySpace memorySpace, size_type dim>
double dftefe::ksdft::KohnShamDFT< ValueTypeElectrostaticsCoeff, ValueTypeElectrostaticsBasis, ValueTypeWaveFunctionCoeff, ValueTypeWaveFunctionBasis, memorySpace, dim >::getGroundStateEnergy
Here is the call graph for this function:

◆ solve()

template<typename ValueTypeElectrostaticsCoeff , typename ValueTypeElectrostaticsBasis , typename ValueTypeWaveFunctionCoeff , typename ValueTypeWaveFunctionBasis , utils::MemorySpace memorySpace, size_type dim>
void dftefe::ksdft::KohnShamDFT< ValueTypeElectrostaticsCoeff, ValueTypeElectrostaticsBasis, ValueTypeWaveFunctionCoeff, ValueTypeWaveFunctionBasis, memorySpace, dim >::solve
Here is the call graph for this function:

Member Data Documentation

◆ d_atomicTotalElecPotElectronicQuad

template<typename ValueTypeElectrostaticsCoeff , typename ValueTypeElectrostaticsBasis , typename ValueTypeWaveFunctionCoeff , typename ValueTypeWaveFunctionBasis , utils::MemorySpace memorySpace, size_type dim>
quadrature::QuadratureValuesContainer<ValueTypeElectrostaticsCoeff, memorySpace> dftefe::ksdft::KohnShamDFT< ValueTypeElectrostaticsCoeff, ValueTypeElectrostaticsBasis, ValueTypeWaveFunctionCoeff, ValueTypeWaveFunctionBasis, memorySpace, dim >::d_atomicTotalElecPotElectronicQuad
private

◆ d_atomicTotalElecPotNuclearQuad

template<typename ValueTypeElectrostaticsCoeff , typename ValueTypeElectrostaticsBasis , typename ValueTypeWaveFunctionCoeff , typename ValueTypeWaveFunctionBasis , utils::MemorySpace memorySpace, size_type dim>
quadrature::QuadratureValuesContainer<ValueTypeElectrostaticsCoeff, memorySpace> dftefe::ksdft::KohnShamDFT< ValueTypeElectrostaticsCoeff, ValueTypeElectrostaticsBasis, ValueTypeWaveFunctionCoeff, ValueTypeWaveFunctionBasis, memorySpace, dim >::d_atomicTotalElecPotNuclearQuad
private

◆ d_atomSphericalDataContainerPSP

template<typename ValueTypeElectrostaticsCoeff , typename ValueTypeElectrostaticsBasis , typename ValueTypeWaveFunctionCoeff , typename ValueTypeWaveFunctionBasis , utils::MemorySpace memorySpace, size_type dim>
std::shared_ptr<atoms::AtomSphericalDataContainer> dftefe::ksdft::KohnShamDFT< ValueTypeElectrostaticsCoeff, ValueTypeElectrostaticsBasis, ValueTypeWaveFunctionCoeff, ValueTypeWaveFunctionBasis, memorySpace, dim >::d_atomSphericalDataContainerPSP
private

◆ d_coreCorrDensUPF

template<typename ValueTypeElectrostaticsCoeff , typename ValueTypeElectrostaticsBasis , typename ValueTypeWaveFunctionCoeff , typename ValueTypeWaveFunctionBasis , utils::MemorySpace memorySpace, size_type dim>
quadrature::QuadratureValuesContainer<RealType, memorySpace> dftefe::ksdft::KohnShamDFT< ValueTypeElectrostaticsCoeff, ValueTypeElectrostaticsBasis, ValueTypeWaveFunctionCoeff, ValueTypeWaveFunctionBasis, memorySpace, dim >::d_coreCorrDensUPF
private

◆ d_coreCorrectedDensity

template<typename ValueTypeElectrostaticsCoeff , typename ValueTypeElectrostaticsBasis , typename ValueTypeWaveFunctionCoeff , typename ValueTypeWaveFunctionBasis , utils::MemorySpace memorySpace, size_type dim>
quadrature::QuadratureValuesContainer<RealType, memorySpace> dftefe::ksdft::KohnShamDFT< ValueTypeElectrostaticsCoeff, ValueTypeElectrostaticsBasis, ValueTypeWaveFunctionCoeff, ValueTypeWaveFunctionBasis, memorySpace, dim >::d_coreCorrectedDensity
private

◆ d_densCalc

template<typename ValueTypeElectrostaticsCoeff , typename ValueTypeElectrostaticsBasis , typename ValueTypeWaveFunctionCoeff , typename ValueTypeWaveFunctionBasis , utils::MemorySpace memorySpace, size_type dim>
std::shared_ptr<DensityCalculator<ValueTypeWaveFunctionBasis, ValueTypeWaveFunctionCoeff, memorySpace, dim> > dftefe::ksdft::KohnShamDFT< ValueTypeElectrostaticsCoeff, ValueTypeElectrostaticsBasis, ValueTypeWaveFunctionCoeff, ValueTypeWaveFunctionBasis, memorySpace, dim >::d_densCalc
private

◆ d_densityInQuadValues

template<typename ValueTypeElectrostaticsCoeff , typename ValueTypeElectrostaticsBasis , typename ValueTypeWaveFunctionCoeff , typename ValueTypeWaveFunctionBasis , utils::MemorySpace memorySpace, size_type dim>
quadrature::QuadratureValuesContainer<RealType, memorySpace> dftefe::ksdft::KohnShamDFT< ValueTypeElectrostaticsCoeff, ValueTypeElectrostaticsBasis, ValueTypeWaveFunctionCoeff, ValueTypeWaveFunctionBasis, memorySpace, dim >::d_densityInQuadValues
private

◆ d_densityOutQuadValues

template<typename ValueTypeElectrostaticsCoeff , typename ValueTypeElectrostaticsBasis , typename ValueTypeWaveFunctionCoeff , typename ValueTypeWaveFunctionBasis , utils::MemorySpace memorySpace, size_type dim>
quadrature::QuadratureValuesContainer<RealType, memorySpace> dftefe::ksdft::KohnShamDFT< ValueTypeElectrostaticsCoeff, ValueTypeElectrostaticsBasis, ValueTypeWaveFunctionCoeff, ValueTypeWaveFunctionBasis, memorySpace, dim >::d_densityOutQuadValues
private

◆ d_densityResidualQuadValues

template<typename ValueTypeElectrostaticsCoeff , typename ValueTypeElectrostaticsBasis , typename ValueTypeWaveFunctionCoeff , typename ValueTypeWaveFunctionBasis , utils::MemorySpace memorySpace, size_type dim>
quadrature::QuadratureValuesContainer<RealType, memorySpace> dftefe::ksdft::KohnShamDFT< ValueTypeElectrostaticsCoeff, ValueTypeElectrostaticsBasis, ValueTypeWaveFunctionCoeff, ValueTypeWaveFunctionBasis, memorySpace, dim >::d_densityResidualQuadValues
private

◆ d_evaluateEnergyEverySCF

template<typename ValueTypeElectrostaticsCoeff , typename ValueTypeElectrostaticsBasis , typename ValueTypeWaveFunctionCoeff , typename ValueTypeWaveFunctionBasis , utils::MemorySpace memorySpace, size_type dim>
bool dftefe::ksdft::KohnShamDFT< ValueTypeElectrostaticsCoeff, ValueTypeElectrostaticsBasis, ValueTypeWaveFunctionCoeff, ValueTypeWaveFunctionBasis, memorySpace, dim >::d_evaluateEnergyEverySCF
private

◆ d_feBDEXCHamiltonian

template<typename ValueTypeElectrostaticsCoeff , typename ValueTypeElectrostaticsBasis , typename ValueTypeWaveFunctionCoeff , typename ValueTypeWaveFunctionBasis , utils::MemorySpace memorySpace, size_type dim>
std::shared_ptr< const basis::FEBasisDataStorage<ValueTypeWaveFunctionBasis, memorySpace> > dftefe::ksdft::KohnShamDFT< ValueTypeElectrostaticsCoeff, ValueTypeElectrostaticsBasis, ValueTypeWaveFunctionCoeff, ValueTypeWaveFunctionBasis, memorySpace, dim >::d_feBDEXCHamiltonian
private

◆ d_feBMWaveFn

template<typename ValueTypeElectrostaticsCoeff , typename ValueTypeElectrostaticsBasis , typename ValueTypeWaveFunctionCoeff , typename ValueTypeWaveFunctionBasis , utils::MemorySpace memorySpace, size_type dim>
std::shared_ptr<const basis::FEBasisManager<ValueTypeWaveFunctionCoeff, ValueTypeWaveFunctionBasis, memorySpace, dim> > dftefe::ksdft::KohnShamDFT< ValueTypeElectrostaticsCoeff, ValueTypeElectrostaticsBasis, ValueTypeWaveFunctionCoeff, ValueTypeWaveFunctionBasis, memorySpace, dim >::d_feBMWaveFn
private

◆ d_groundStateEnergy

template<typename ValueTypeElectrostaticsCoeff , typename ValueTypeElectrostaticsBasis , typename ValueTypeWaveFunctionCoeff , typename ValueTypeWaveFunctionBasis , utils::MemorySpace memorySpace, size_type dim>
RealType dftefe::ksdft::KohnShamDFT< ValueTypeElectrostaticsCoeff, ValueTypeElectrostaticsBasis, ValueTypeWaveFunctionCoeff, ValueTypeWaveFunctionBasis, memorySpace, dim >::d_groundStateEnergy
private

◆ d_hamiltonianElectroExc

template<typename ValueTypeElectrostaticsCoeff , typename ValueTypeElectrostaticsBasis , typename ValueTypeWaveFunctionCoeff , typename ValueTypeWaveFunctionBasis , utils::MemorySpace memorySpace, size_type dim>
std::shared_ptr<ElectrostaticExcFE<ValueTypeElectrostaticsCoeff, ValueTypeElectrostaticsBasis, ValueTypeWaveFunctionCoeff, ValueTypeWaveFunctionBasis, memorySpace, dim> > dftefe::ksdft::KohnShamDFT< ValueTypeElectrostaticsCoeff, ValueTypeElectrostaticsBasis, ValueTypeWaveFunctionCoeff, ValueTypeWaveFunctionBasis, memorySpace, dim >::d_hamiltonianElectroExc
private

◆ d_hamitonianElec

template<typename ValueTypeElectrostaticsCoeff , typename ValueTypeElectrostaticsBasis , typename ValueTypeWaveFunctionCoeff , typename ValueTypeWaveFunctionBasis , utils::MemorySpace memorySpace, size_type dim>
std::shared_ptr<ElectrostaticFE<ValueTypeElectrostaticsBasis, ValueTypeElectrostaticsCoeff, ValueTypeWaveFunctionBasis, memorySpace, dim> > dftefe::ksdft::KohnShamDFT< ValueTypeElectrostaticsCoeff, ValueTypeElectrostaticsBasis, ValueTypeWaveFunctionCoeff, ValueTypeWaveFunctionBasis, memorySpace, dim >::d_hamitonianElec
private

◆ d_hamitonianKin

template<typename ValueTypeElectrostaticsCoeff , typename ValueTypeElectrostaticsBasis , typename ValueTypeWaveFunctionCoeff , typename ValueTypeWaveFunctionBasis , utils::MemorySpace memorySpace, size_type dim>
std::shared_ptr<KineticFE<ValueTypeWaveFunctionBasis, ValueTypeWaveFunctionCoeff, memorySpace, dim> > dftefe::ksdft::KohnShamDFT< ValueTypeElectrostaticsCoeff, ValueTypeElectrostaticsBasis, ValueTypeWaveFunctionCoeff, ValueTypeWaveFunctionBasis, memorySpace, dim >::d_hamitonianKin
private

◆ d_hamitonianOperator

template<typename ValueTypeElectrostaticsCoeff , typename ValueTypeElectrostaticsBasis , typename ValueTypeWaveFunctionCoeff , typename ValueTypeWaveFunctionBasis , utils::MemorySpace memorySpace, size_type dim>
std::shared_ptr<KohnShamOperatorContextFE<ValueTypeElectrostaticsCoeff, ValueTypeElectrostaticsBasis, ValueTypeWaveFunctionCoeff, ValueTypeWaveFunctionBasis, memorySpace, dim> > dftefe::ksdft::KohnShamDFT< ValueTypeElectrostaticsCoeff, ValueTypeElectrostaticsBasis, ValueTypeWaveFunctionCoeff, ValueTypeWaveFunctionBasis, memorySpace, dim >::d_hamitonianOperator
private

◆ d_hamitonianXC

template<typename ValueTypeElectrostaticsCoeff , typename ValueTypeElectrostaticsBasis , typename ValueTypeWaveFunctionCoeff , typename ValueTypeWaveFunctionBasis , utils::MemorySpace memorySpace, size_type dim>
std::shared_ptr<ExchangeCorrelationFE<ValueTypeWaveFunctionBasis, ValueTypeWaveFunctionCoeff, memorySpace, dim> > dftefe::ksdft::KohnShamDFT< ValueTypeElectrostaticsCoeff, ValueTypeElectrostaticsBasis, ValueTypeWaveFunctionCoeff, ValueTypeWaveFunctionBasis, memorySpace, dim >::d_hamitonianXC
private

◆ d_isAdaptiveAndersonMixingParameter

template<typename ValueTypeElectrostaticsCoeff , typename ValueTypeElectrostaticsBasis , typename ValueTypeWaveFunctionCoeff , typename ValueTypeWaveFunctionBasis , utils::MemorySpace memorySpace, size_type dim>
bool dftefe::ksdft::KohnShamDFT< ValueTypeElectrostaticsCoeff, ValueTypeElectrostaticsBasis, ValueTypeWaveFunctionCoeff, ValueTypeWaveFunctionBasis, memorySpace, dim >::d_isAdaptiveAndersonMixingParameter
private

◆ d_isNlcc

template<typename ValueTypeElectrostaticsCoeff , typename ValueTypeElectrostaticsBasis , typename ValueTypeWaveFunctionCoeff , typename ValueTypeWaveFunctionBasis , utils::MemorySpace memorySpace, size_type dim>
bool dftefe::ksdft::KohnShamDFT< ValueTypeElectrostaticsCoeff, ValueTypeElectrostaticsBasis, ValueTypeWaveFunctionCoeff, ValueTypeWaveFunctionBasis, memorySpace, dim >::d_isNlcc
private

◆ d_isOEFEBasis

template<typename ValueTypeElectrostaticsCoeff , typename ValueTypeElectrostaticsBasis , typename ValueTypeWaveFunctionCoeff , typename ValueTypeWaveFunctionBasis , utils::MemorySpace memorySpace, size_type dim>
bool dftefe::ksdft::KohnShamDFT< ValueTypeElectrostaticsCoeff, ValueTypeElectrostaticsBasis, ValueTypeWaveFunctionCoeff, ValueTypeWaveFunctionBasis, memorySpace, dim >::d_isOEFEBasis
private

◆ d_isONCVNonLocPSP

template<typename ValueTypeElectrostaticsCoeff , typename ValueTypeElectrostaticsBasis , typename ValueTypeWaveFunctionCoeff , typename ValueTypeWaveFunctionBasis , utils::MemorySpace memorySpace, size_type dim>
bool dftefe::ksdft::KohnShamDFT< ValueTypeElectrostaticsCoeff, ValueTypeElectrostaticsBasis, ValueTypeWaveFunctionCoeff, ValueTypeWaveFunctionBasis, memorySpace, dim >::d_isONCVNonLocPSP
private

◆ d_isPSPCalculation

template<typename ValueTypeElectrostaticsCoeff , typename ValueTypeElectrostaticsBasis , typename ValueTypeWaveFunctionCoeff , typename ValueTypeWaveFunctionBasis , utils::MemorySpace memorySpace, size_type dim>
bool dftefe::ksdft::KohnShamDFT< ValueTypeElectrostaticsCoeff, ValueTypeElectrostaticsBasis, ValueTypeWaveFunctionCoeff, ValueTypeWaveFunctionBasis, memorySpace, dim >::d_isPSPCalculation
private

◆ d_isResidualChebyshevFilter

template<typename ValueTypeElectrostaticsCoeff , typename ValueTypeElectrostaticsBasis , typename ValueTypeWaveFunctionCoeff , typename ValueTypeWaveFunctionBasis , utils::MemorySpace memorySpace, size_type dim>
bool dftefe::ksdft::KohnShamDFT< ValueTypeElectrostaticsCoeff, ValueTypeElectrostaticsBasis, ValueTypeWaveFunctionCoeff, ValueTypeWaveFunctionBasis, memorySpace, dim >::d_isResidualChebyshevFilter
private

◆ d_isSolved

template<typename ValueTypeElectrostaticsCoeff , typename ValueTypeElectrostaticsBasis , typename ValueTypeWaveFunctionCoeff , typename ValueTypeWaveFunctionBasis , utils::MemorySpace memorySpace, size_type dim>
bool dftefe::ksdft::KohnShamDFT< ValueTypeElectrostaticsCoeff, ValueTypeElectrostaticsBasis, ValueTypeWaveFunctionCoeff, ValueTypeWaveFunctionBasis, memorySpace, dim >::d_isSolved
private

◆ d_jxwDataHost

template<typename ValueTypeElectrostaticsCoeff , typename ValueTypeElectrostaticsBasis , typename ValueTypeWaveFunctionCoeff , typename ValueTypeWaveFunctionBasis , utils::MemorySpace memorySpace, size_type dim>
utils::MemoryStorage<RealType, utils::MemorySpace::HOST> dftefe::ksdft::KohnShamDFT< ValueTypeElectrostaticsCoeff, ValueTypeElectrostaticsBasis, ValueTypeWaveFunctionCoeff, ValueTypeWaveFunctionBasis, memorySpace, dim >::d_jxwDataHost
private

◆ d_kohnShamEnergies

template<typename ValueTypeElectrostaticsCoeff , typename ValueTypeElectrostaticsBasis , typename ValueTypeWaveFunctionCoeff , typename ValueTypeWaveFunctionBasis , utils::MemorySpace memorySpace, size_type dim>
std::vector<RealType> dftefe::ksdft::KohnShamDFT< ValueTypeElectrostaticsCoeff, ValueTypeElectrostaticsBasis, ValueTypeWaveFunctionCoeff, ValueTypeWaveFunctionBasis, memorySpace, dim >::d_kohnShamEnergies
private

◆ d_kohnShamWaveFunctions

template<typename ValueTypeElectrostaticsCoeff , typename ValueTypeElectrostaticsBasis , typename ValueTypeWaveFunctionCoeff , typename ValueTypeWaveFunctionBasis , utils::MemorySpace memorySpace, size_type dim>
linearAlgebra::MultiVector<ValueType, memorySpace>* dftefe::ksdft::KohnShamDFT< ValueTypeElectrostaticsCoeff, ValueTypeElectrostaticsBasis, ValueTypeWaveFunctionCoeff, ValueTypeWaveFunctionBasis, memorySpace, dim >::d_kohnShamWaveFunctions
private

◆ d_ksEigSolve

template<typename ValueTypeElectrostaticsCoeff , typename ValueTypeElectrostaticsBasis , typename ValueTypeWaveFunctionCoeff , typename ValueTypeWaveFunctionBasis , utils::MemorySpace memorySpace, size_type dim>
std::shared_ptr< KohnShamEigenSolver<ValueTypeOperator, ValueTypeOperand, memorySpace> > dftefe::ksdft::KohnShamDFT< ValueTypeElectrostaticsCoeff, ValueTypeElectrostaticsBasis, ValueTypeWaveFunctionCoeff, ValueTypeWaveFunctionBasis, memorySpace, dim >::d_ksEigSolve
private

◆ d_lanczosGuess

template<typename ValueTypeElectrostaticsCoeff , typename ValueTypeElectrostaticsBasis , typename ValueTypeWaveFunctionCoeff , typename ValueTypeWaveFunctionBasis , utils::MemorySpace memorySpace, size_type dim>
linearAlgebra::Vector<ValueTypeWaveFunctionCoeff, memorySpace> dftefe::ksdft::KohnShamDFT< ValueTypeElectrostaticsCoeff, ValueTypeElectrostaticsBasis, ValueTypeWaveFunctionCoeff, ValueTypeWaveFunctionBasis, memorySpace, dim >::d_lanczosGuess
private

◆ d_linAlgOpContext

template<typename ValueTypeElectrostaticsCoeff , typename ValueTypeElectrostaticsBasis , typename ValueTypeWaveFunctionCoeff , typename ValueTypeWaveFunctionBasis , utils::MemorySpace memorySpace, size_type dim>
std::shared_ptr<linearAlgebra::LinAlgOpContext<memorySpace> > dftefe::ksdft::KohnShamDFT< ValueTypeElectrostaticsCoeff, ValueTypeElectrostaticsBasis, ValueTypeWaveFunctionCoeff, ValueTypeWaveFunctionBasis, memorySpace, dim >::d_linAlgOpContext
private

◆ d_MContext

template<typename ValueTypeElectrostaticsCoeff , typename ValueTypeElectrostaticsBasis , typename ValueTypeWaveFunctionCoeff , typename ValueTypeWaveFunctionBasis , utils::MemorySpace memorySpace, size_type dim>
const OpContext* dftefe::ksdft::KohnShamDFT< ValueTypeElectrostaticsCoeff, ValueTypeElectrostaticsBasis, ValueTypeWaveFunctionCoeff, ValueTypeWaveFunctionBasis, memorySpace, dim >::d_MContext
private

◆ d_MInvContext

template<typename ValueTypeElectrostaticsCoeff , typename ValueTypeElectrostaticsBasis , typename ValueTypeWaveFunctionCoeff , typename ValueTypeWaveFunctionBasis , utils::MemorySpace memorySpace, size_type dim>
const OpContext * dftefe::ksdft::KohnShamDFT< ValueTypeElectrostaticsCoeff, ValueTypeElectrostaticsBasis, ValueTypeWaveFunctionCoeff, ValueTypeWaveFunctionBasis, memorySpace, dim >::d_MInvContext
private

◆ d_mixingHistory

template<typename ValueTypeElectrostaticsCoeff , typename ValueTypeElectrostaticsBasis , typename ValueTypeWaveFunctionCoeff , typename ValueTypeWaveFunctionBasis , utils::MemorySpace memorySpace, size_type dim>
size_type dftefe::ksdft::KohnShamDFT< ValueTypeElectrostaticsCoeff, ValueTypeElectrostaticsBasis, ValueTypeWaveFunctionCoeff, ValueTypeWaveFunctionBasis, memorySpace, dim >::d_mixingHistory
private

◆ d_mixingParameter

template<typename ValueTypeElectrostaticsCoeff , typename ValueTypeElectrostaticsBasis , typename ValueTypeWaveFunctionCoeff , typename ValueTypeWaveFunctionBasis , utils::MemorySpace memorySpace, size_type dim>
double dftefe::ksdft::KohnShamDFT< ValueTypeElectrostaticsCoeff, ValueTypeElectrostaticsBasis, ValueTypeWaveFunctionCoeff, ValueTypeWaveFunctionBasis, memorySpace, dim >::d_mixingParameter
private

◆ d_mixingScheme

template<typename ValueTypeElectrostaticsCoeff , typename ValueTypeElectrostaticsBasis , typename ValueTypeWaveFunctionCoeff , typename ValueTypeWaveFunctionBasis , utils::MemorySpace memorySpace, size_type dim>
MixingScheme<RealType, RealType> dftefe::ksdft::KohnShamDFT< ValueTypeElectrostaticsCoeff, ValueTypeElectrostaticsBasis, ValueTypeWaveFunctionCoeff, ValueTypeWaveFunctionBasis, memorySpace, dim >::d_mixingScheme
private

◆ d_mpiCommDomain

template<typename ValueTypeElectrostaticsCoeff , typename ValueTypeElectrostaticsBasis , typename ValueTypeWaveFunctionCoeff , typename ValueTypeWaveFunctionBasis , utils::MemorySpace memorySpace, size_type dim>
const utils::mpi::MPIComm& dftefe::ksdft::KohnShamDFT< ValueTypeElectrostaticsCoeff, ValueTypeElectrostaticsBasis, ValueTypeWaveFunctionCoeff, ValueTypeWaveFunctionBasis, memorySpace, dim >::d_mpiCommDomain
private

◆ d_numElectrons

template<typename ValueTypeElectrostaticsCoeff , typename ValueTypeElectrostaticsBasis , typename ValueTypeWaveFunctionCoeff , typename ValueTypeWaveFunctionBasis , utils::MemorySpace memorySpace, size_type dim>
const size_type dftefe::ksdft::KohnShamDFT< ValueTypeElectrostaticsCoeff, ValueTypeElectrostaticsBasis, ValueTypeWaveFunctionCoeff, ValueTypeWaveFunctionBasis, memorySpace, dim >::d_numElectrons
private

◆ d_numMaxSCFIter

template<typename ValueTypeElectrostaticsCoeff , typename ValueTypeElectrostaticsBasis , typename ValueTypeWaveFunctionCoeff , typename ValueTypeWaveFunctionBasis , utils::MemorySpace memorySpace, size_type dim>
size_type dftefe::ksdft::KohnShamDFT< ValueTypeElectrostaticsCoeff, ValueTypeElectrostaticsBasis, ValueTypeWaveFunctionCoeff, ValueTypeWaveFunctionBasis, memorySpace, dim >::d_numMaxSCFIter
private

◆ d_numWantedEigenvalues

template<typename ValueTypeElectrostaticsCoeff , typename ValueTypeElectrostaticsBasis , typename ValueTypeWaveFunctionCoeff , typename ValueTypeWaveFunctionBasis , utils::MemorySpace memorySpace, size_type dim>
const size_type dftefe::ksdft::KohnShamDFT< ValueTypeElectrostaticsCoeff, ValueTypeElectrostaticsBasis, ValueTypeWaveFunctionCoeff, ValueTypeWaveFunctionBasis, memorySpace, dim >::d_numWantedEigenvalues
private

◆ d_occupation

template<typename ValueTypeElectrostaticsCoeff , typename ValueTypeElectrostaticsBasis , typename ValueTypeWaveFunctionCoeff , typename ValueTypeWaveFunctionBasis , utils::MemorySpace memorySpace, size_type dim>
std::vector<RealType> dftefe::ksdft::KohnShamDFT< ValueTypeElectrostaticsCoeff, ValueTypeElectrostaticsBasis, ValueTypeWaveFunctionCoeff, ValueTypeWaveFunctionBasis, memorySpace, dim >::d_occupation
private

◆ d_p

template<typename ValueTypeElectrostaticsCoeff , typename ValueTypeElectrostaticsBasis , typename ValueTypeWaveFunctionCoeff , typename ValueTypeWaveFunctionBasis , utils::MemorySpace memorySpace, size_type dim>
utils::Profiler dftefe::ksdft::KohnShamDFT< ValueTypeElectrostaticsCoeff, ValueTypeElectrostaticsBasis, ValueTypeWaveFunctionCoeff, ValueTypeWaveFunctionBasis, memorySpace, dim >::d_p
private

◆ d_rootCout

template<typename ValueTypeElectrostaticsCoeff , typename ValueTypeElectrostaticsBasis , typename ValueTypeWaveFunctionCoeff , typename ValueTypeWaveFunctionBasis , utils::MemorySpace memorySpace, size_type dim>
utils::ConditionalOStream dftefe::ksdft::KohnShamDFT< ValueTypeElectrostaticsCoeff, ValueTypeElectrostaticsBasis, ValueTypeWaveFunctionCoeff, ValueTypeWaveFunctionBasis, memorySpace, dim >::d_rootCout
private

◆ d_SCFTol

template<typename ValueTypeElectrostaticsCoeff , typename ValueTypeElectrostaticsBasis , typename ValueTypeWaveFunctionCoeff , typename ValueTypeWaveFunctionBasis , utils::MemorySpace memorySpace, size_type dim>
const double dftefe::ksdft::KohnShamDFT< ValueTypeElectrostaticsCoeff, ValueTypeElectrostaticsBasis, ValueTypeWaveFunctionCoeff, ValueTypeWaveFunctionBasis, memorySpace, dim >::d_SCFTol
private

◆ d_waveFunctionSubspaceGuess

template<typename ValueTypeElectrostaticsCoeff , typename ValueTypeElectrostaticsBasis , typename ValueTypeWaveFunctionCoeff , typename ValueTypeWaveFunctionBasis , utils::MemorySpace memorySpace, size_type dim>
linearAlgebra::MultiVector<ValueTypeWaveFunctionCoeff, memorySpace> dftefe::ksdft::KohnShamDFT< ValueTypeElectrostaticsCoeff, ValueTypeElectrostaticsBasis, ValueTypeWaveFunctionCoeff, ValueTypeWaveFunctionBasis, memorySpace, dim >::d_waveFunctionSubspaceGuess
private

The documentation for this class was generated from the following files: