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< Hamiltonian< float, memorySpace > *, Hamiltonian< double, memorySpace > *, Hamiltonian< std::complex< float >, memorySpace > *, 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 > > feBDTotalChargeRhs, 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 >())
 
 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 > > feBDTotalChargeRhs, std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeElectrostaticsBasis, memorySpace > > feBDNuclearChargeStiffnessMatrix, std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeElectrostaticsBasis, memorySpace > > feBDNuclearChargeRhs, 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 >())
 
 ~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< ValueTypeOperator, ValueTypeOperand, ValueTypeWaveFunctionBasis, memorySpace, dim > > d_hamitonianOperator
 
std::shared_ptr< ExchangeCorrelationFE< ValueTypeWaveFunctionBasis, ValueTypeWaveFunctionCoeff, memorySpace, dim > > d_hamitonianXC
 
std::shared_ptr< ElectrostaticLocalFE< 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
 
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
 

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<Hamiltonian<float, memorySpace> *, Hamiltonian<double, memorySpace> *, Hamiltonian<std::complex<float>, memorySpace> *, 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/2]

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 > >  feBDTotalChargeRhs,
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>() 
)
Here is the call graph for this function:

◆ KohnShamDFT() [2/2]

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 > >  feBDTotalChargeRhs,
std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeElectrostaticsBasis, memorySpace > >  feBDNuclearChargeStiffnessMatrix,
std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeElectrostaticsBasis, memorySpace > >  feBDNuclearChargeRhs,
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>() 
)
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_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_hamitonianElec

template<typename ValueTypeElectrostaticsCoeff , typename ValueTypeElectrostaticsBasis , typename ValueTypeWaveFunctionCoeff , typename ValueTypeWaveFunctionBasis , utils::MemorySpace memorySpace, size_type dim>
std::shared_ptr<ElectrostaticLocalFE<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<ValueTypeOperator, ValueTypeOperand, 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_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_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: