DFT-FE 1.1.0-pre
Density Functional Theory With Finite-Elements
Loading...
Searching...
No Matches
dftfe::hubbard< ValueType, memorySpace > Class Template Reference

This class provides the Hubbard correction. This class is an object of ExcDFTPluU Class. More...

#include <hubbardClass.h>

Public Member Functions

 hubbard (const MPI_Comm &mpi_comm_parent, const MPI_Comm &mpi_comm_domain, const MPI_Comm &mpi_comm_interPool, const MPI_Comm &mpi_comm_interBandGroup)
 
void init (std::shared_ptr< dftfe::basis::FEBasisOperations< ValueType, double, memorySpace > > basisOperationsMemPtr, std::shared_ptr< dftfe::basis::FEBasisOperations< ValueType, double, dftfe::utils::MemorySpace::HOST > > basisOperationsHostPtr, std::shared_ptr< dftfe::linearAlgebra::BLASWrapper< memorySpace > > BLASWrapperMemPtr, std::shared_ptr< dftfe::linearAlgebra::BLASWrapper< dftfe::utils::MemorySpace::HOST > > BLASWrapperHostPtr, const dftfe::uInt matrixFreeVectorComponent, const dftfe::uInt densityQuadratureId, const dftfe::uInt sparsityPatternQuadratureId, const dftfe::uInt numberWaveFunctions, const dftfe::uInt numSpins, const dftParameters &dftParam, const std::string &scratchFolderName, const bool singlePrecNonLocalOperator, const bool updateNonlocalSparsity, const std::vector< std::vector< double > > &atomLocations, const std::vector< std::vector< double > > &atomLocationsFrac, const std::vector< dftfe::Int > &imageIds, const std::vector< std::vector< double > > &imagePositions, const std::vector< double > &kPointCoordinates, const std::vector< double > &kPointWeights, const std::vector< std::vector< double > > &domainBoundaries)
 
void computeEnergyFromOccupationMatrix ()
 
void computeOccupationMatrix (const dftfe::utils::MemoryStorage< ValueType, memorySpace > *X, const std::vector< std::vector< double > > &orbitalOccupancy)
 
void applyPotentialDueToHubbardCorrection (const dftfe::linearAlgebra::MultiVector< ValueType, memorySpace > &src, dftfe::linearAlgebra::MultiVector< ValueType, memorySpace > &dst, const dftfe::uInt inputVecSize, const dftfe::uInt kPointIndex, const dftfe::uInt spinIndex)
 
void applyPotentialDueToHubbardCorrection (const dftfe::linearAlgebra::MultiVector< typename dftfe::dataTypes::singlePrecType< ValueType >::type, memorySpace > &src, dftfe::linearAlgebra::MultiVector< typename dftfe::dataTypes::singlePrecType< ValueType >::type, memorySpace > &dst, const dftfe::uInt inputVecSize, const dftfe::uInt kPointIndex, const dftfe::uInt spinIndex)
 
void initialiseOperatorActionOnX (dftfe::uInt kPointIndex)
 
void initialiseFlattenedDataStructure (dftfe::uInt numVectors)
 
const dftfe::utils::MemoryStorage< ValueType, memorySpace > & getCouplingMatrix (dftfe::uInt spinIndex)
 
dftfe::utils::MemoryStorage< double, dftfe::utils::MemorySpace::HOST > & getOccMatIn ()
 
dftfe::utils::MemoryStorage< double, dftfe::utils::MemorySpace::HOST > & getOccMatRes ()
 
dftfe::utils::MemoryStorage< double, dftfe::utils::MemorySpace::HOST > & getOccMatOut ()
 
dftfe::utils::MemoryStorage< double, dftfe::utils::MemorySpace::HOST > & getHubbMatrixForMixing ()
 
void setInOccMatrix (const dftfe::utils::MemoryStorage< double, dftfe::utils::MemorySpace::HOST > &inputOccMatrix)
 
double getHubbardEnergy ()
 
double getExpectationOfHubbardPotential ()
 
const std::shared_ptr< AtomicCenteredNonLocalOperator< ValueType, memorySpace > > getNonLocalOperator ()
 
dftfe::uInt getTotalNumberOfSphericalFunctionsForAtomId (dftfe::uInt iAtom)
 
dftfe::uInt getGlobalAtomId (dftfe::uInt iAtom)
 
void writeHubbOccToFile ()
 
void readHubbOccFromFile ()
 

Private Member Functions

void computeCouplingMatrix ()
 
void computeHubbardOccNumberFromCTransOnX (const bool isOccOut, const dftfe::uInt vectorBlockSize, const dftfe::uInt spinIndex, const dftfe::uInt kpointIndex)
 
void setInitialOccMatrix ()
 
void createAtomCenteredSphericalFunctionsForProjectors ()
 
void computeResidualOccMat ()
 
void readHubbardInput (const std::vector< std::vector< double > > &atomLocations, const std::vector< dftfe::Int > &imageIds, const std::vector< std::vector< double > > &imagePositions)
 

Private Attributes

std::map< dftfe::uInt, dftfe::uIntd_mapHubbardAtomToGlobalAtomId
 
dftfe::uInt d_totalNumHubbAtoms
 
std::shared_ptr< dftfe::basis::FEBasisOperations< ValueType, double, memorySpace > > d_BasisOperatorMemPtr
 
std::shared_ptr< dftfe::basis::FEBasisOperations< ValueType, double, dftfe::utils::MemorySpace::HOST > > d_BasisOperatorHostPtr
 
std::shared_ptr< AtomicCenteredNonLocalOperator< ValueType, memorySpace > > d_nonLocalOperator
 
std::shared_ptr< AtomicCenteredNonLocalOperator< dataTypes::numberFP32, memorySpace > > d_nonLocalOperatorSinglePrec
 
bool d_useSinglePrec
 
std::shared_ptr< dftfe::linearAlgebra::BLASWrapper< memorySpace > > d_BLASWrapperMemPtr
 
std::shared_ptr< dftfe::linearAlgebra::BLASWrapper< dftfe::utils::MemorySpace::HOST > > d_BLASWrapperHostPtr
 
std::map< dftfe::uInt, hubbardSpeciesd_hubbardSpeciesData
 
std::map< std::pair< dftfe::uInt, dftfe::uInt >, std::shared_ptr< AtomCenteredSphericalFunctionBase > > d_atomicProjectorFnsMap
 
std::shared_ptr< AtomCenteredSphericalFunctionContainerd_atomicProjectorFnsContainer
 
std::vector< double > d_kPointWeights
 
std::vector< std::vector< double > > d_domainBoundaries
 
const dftParametersd_dftParamsPtr
 
std::vector< double > d_kPointCoordinates
 
dftfe::uInt d_numKPoints
 
double d_atomOrbitalMaxLength
 
const MPI_Comm d_mpi_comm_parent
 
const MPI_Comm d_mpi_comm_domain
 
const MPI_Comm d_mpi_comm_interPool
 
const MPI_Comm d_mpi_comm_interBand
 
dftfe::uInt n_mpi_processes
 
dftfe::uInt this_mpi_process
 
std::vector< dftfe::uIntd_bandGroupLowHighPlusOneIndices
 
dftfe::uInt d_numSpins
 
std::vector< dftfe::uIntd_procLocalAtomId
 
dealii::ConditionalOStream pcout
 
std::vector< double > d_atomicCoords
 
std::vector< double > d_initialAtomicSpin
 
std::vector< std::vector< double > > d_periodicImagesCoords
 
std::vector< dftfe::Intd_imageIds
 
std::vector< dftfe::uIntd_mapAtomToHubbardIds
 
std::vector< dftfe::uIntd_mapAtomToAtomicNumber
 
double d_spinPolarizedFactor
 
dftfe::uInt d_noOfSpin
 
std::string d_dftfeScratchFolderName
 
std::vector< dftfe::utils::MemoryStorage< ValueType, memorySpace > > d_couplingMatrixEntries
 
std::vector< dftfe::utils::MemoryStorage< typename dftfe::dataTypes::singlePrecType< ValueType >::type, memorySpace > > d_couplingMatrixEntriesSinglePrec
 
std::map< HubbardOccFieldType, dftfe::utils::MemoryStorage< double, dftfe::utils::MemorySpace::HOST > > d_occupationMatrix
 
dftfe::uInt d_noSpecies
 
dftfe::uInt d_densityQuadratureId
 
dftfe::uInt d_numberWaveFunctions
 
dftfe::uInt d_numTotalOccMatrixEntriesPerSpin
 
std::vector< dftfe::uIntd_OccMatrixEntryStartForAtom
 
dftfe::linearAlgebra::MultiVector< ValueType, memorySpace > d_hubbNonLocalProjectorTimesVectorBlock
 
dftfe::linearAlgebra::MultiVector< typename dftfe::dataTypes::singlePrecType< ValueType >::type, memorySpace > d_hubbNonLocalProjectorTimesVectorBlockSinglePrec
 
dftfe::uInt d_cellsBlockSizeApply
 
dftfe::uInt d_verbosity
 
dftfe::utils::MemoryStorage< double, dftfe::utils::MemorySpace::HOSTd_hubbOccMatAfterMixing
 
double d_hubbardEnergy
 
double d_expectationOfHubbardPotential
 
dftfe::uInt d_maxOccMatSizePerAtom
 

Detailed Description

template<typename ValueType, dftfe::utils::MemorySpace memorySpace>
class dftfe::hubbard< ValueType, memorySpace >

This class provides the Hubbard correction. This class is an object of ExcDFTPluU Class.

Author
Vishal Subramanian

Constructor & Destructor Documentation

◆ hubbard()

template<typename ValueType, dftfe::utils::MemorySpace memorySpace>
dftfe::hubbard< ValueType, memorySpace >::hubbard ( const MPI_Comm & mpi_comm_parent,
const MPI_Comm & mpi_comm_domain,
const MPI_Comm & mpi_comm_interPool,
const MPI_Comm & mpi_comm_interBandGroup )

Member Function Documentation

◆ applyPotentialDueToHubbardCorrection() [1/2]

template<typename ValueType, dftfe::utils::MemorySpace memorySpace>
void dftfe::hubbard< ValueType, memorySpace >::applyPotentialDueToHubbardCorrection ( const dftfe::linearAlgebra::MultiVector< typename dftfe::dataTypes::singlePrecType< ValueType >::type, memorySpace > & src,
dftfe::linearAlgebra::MultiVector< typename dftfe::dataTypes::singlePrecType< ValueType >::type, memorySpace > & dst,
const dftfe::uInt inputVecSize,
const dftfe::uInt kPointIndex,
const dftfe::uInt spinIndex )

◆ applyPotentialDueToHubbardCorrection() [2/2]

template<typename ValueType, dftfe::utils::MemorySpace memorySpace>
void dftfe::hubbard< ValueType, memorySpace >::applyPotentialDueToHubbardCorrection ( const dftfe::linearAlgebra::MultiVector< ValueType, memorySpace > & src,
dftfe::linearAlgebra::MultiVector< ValueType, memorySpace > & dst,
const dftfe::uInt inputVecSize,
const dftfe::uInt kPointIndex,
const dftfe::uInt spinIndex )

◆ computeCouplingMatrix()

template<typename ValueType, dftfe::utils::MemorySpace memorySpace>
void dftfe::hubbard< ValueType, memorySpace >::computeCouplingMatrix ( )
private

◆ computeEnergyFromOccupationMatrix()

template<typename ValueType, dftfe::utils::MemorySpace memorySpace>
void dftfe::hubbard< ValueType, memorySpace >::computeEnergyFromOccupationMatrix ( )

◆ computeHubbardOccNumberFromCTransOnX()

template<typename ValueType, dftfe::utils::MemorySpace memorySpace>
void dftfe::hubbard< ValueType, memorySpace >::computeHubbardOccNumberFromCTransOnX ( const bool isOccOut,
const dftfe::uInt vectorBlockSize,
const dftfe::uInt spinIndex,
const dftfe::uInt kpointIndex )
private

◆ computeOccupationMatrix()

template<typename ValueType, dftfe::utils::MemorySpace memorySpace>
void dftfe::hubbard< ValueType, memorySpace >::computeOccupationMatrix ( const dftfe::utils::MemoryStorage< ValueType, memorySpace > * X,
const std::vector< std::vector< double > > & orbitalOccupancy )

◆ computeResidualOccMat()

template<typename ValueType, dftfe::utils::MemorySpace memorySpace>
void dftfe::hubbard< ValueType, memorySpace >::computeResidualOccMat ( )
private

◆ createAtomCenteredSphericalFunctionsForProjectors()

template<typename ValueType, dftfe::utils::MemorySpace memorySpace>
void dftfe::hubbard< ValueType, memorySpace >::createAtomCenteredSphericalFunctionsForProjectors ( )
private

◆ getCouplingMatrix()

template<typename ValueType, dftfe::utils::MemorySpace memorySpace>
const dftfe::utils::MemoryStorage< ValueType, memorySpace > & dftfe::hubbard< ValueType, memorySpace >::getCouplingMatrix ( dftfe::uInt spinIndex)

◆ getExpectationOfHubbardPotential()

template<typename ValueType, dftfe::utils::MemorySpace memorySpace>
double dftfe::hubbard< ValueType, memorySpace >::getExpectationOfHubbardPotential ( )

◆ getGlobalAtomId()

template<typename ValueType, dftfe::utils::MemorySpace memorySpace>
dftfe::uInt dftfe::hubbard< ValueType, memorySpace >::getGlobalAtomId ( dftfe::uInt iAtom)

◆ getHubbardEnergy()

template<typename ValueType, dftfe::utils::MemorySpace memorySpace>
double dftfe::hubbard< ValueType, memorySpace >::getHubbardEnergy ( )

◆ getHubbMatrixForMixing()

template<typename ValueType, dftfe::utils::MemorySpace memorySpace>
dftfe::utils::MemoryStorage< double, dftfe::utils::MemorySpace::HOST > & dftfe::hubbard< ValueType, memorySpace >::getHubbMatrixForMixing ( )

◆ getNonLocalOperator()

template<typename ValueType, dftfe::utils::MemorySpace memorySpace>
const std::shared_ptr< AtomicCenteredNonLocalOperator< ValueType, memorySpace > > dftfe::hubbard< ValueType, memorySpace >::getNonLocalOperator ( )

◆ getOccMatIn()

template<typename ValueType, dftfe::utils::MemorySpace memorySpace>
dftfe::utils::MemoryStorage< double, dftfe::utils::MemorySpace::HOST > & dftfe::hubbard< ValueType, memorySpace >::getOccMatIn ( )

◆ getOccMatOut()

template<typename ValueType, dftfe::utils::MemorySpace memorySpace>
dftfe::utils::MemoryStorage< double, dftfe::utils::MemorySpace::HOST > & dftfe::hubbard< ValueType, memorySpace >::getOccMatOut ( )

◆ getOccMatRes()

template<typename ValueType, dftfe::utils::MemorySpace memorySpace>
dftfe::utils::MemoryStorage< double, dftfe::utils::MemorySpace::HOST > & dftfe::hubbard< ValueType, memorySpace >::getOccMatRes ( )

◆ getTotalNumberOfSphericalFunctionsForAtomId()

template<typename ValueType, dftfe::utils::MemorySpace memorySpace>
dftfe::uInt dftfe::hubbard< ValueType, memorySpace >::getTotalNumberOfSphericalFunctionsForAtomId ( dftfe::uInt iAtom)

◆ init()

template<typename ValueType, dftfe::utils::MemorySpace memorySpace>
void dftfe::hubbard< ValueType, memorySpace >::init ( std::shared_ptr< dftfe::basis::FEBasisOperations< ValueType, double, memorySpace > > basisOperationsMemPtr,
std::shared_ptr< dftfe::basis::FEBasisOperations< ValueType, double, dftfe::utils::MemorySpace::HOST > > basisOperationsHostPtr,
std::shared_ptr< dftfe::linearAlgebra::BLASWrapper< memorySpace > > BLASWrapperMemPtr,
std::shared_ptr< dftfe::linearAlgebra::BLASWrapper< dftfe::utils::MemorySpace::HOST > > BLASWrapperHostPtr,
const dftfe::uInt matrixFreeVectorComponent,
const dftfe::uInt densityQuadratureId,
const dftfe::uInt sparsityPatternQuadratureId,
const dftfe::uInt numberWaveFunctions,
const dftfe::uInt numSpins,
const dftParameters & dftParam,
const std::string & scratchFolderName,
const bool singlePrecNonLocalOperator,
const bool updateNonlocalSparsity,
const std::vector< std::vector< double > > & atomLocations,
const std::vector< std::vector< double > > & atomLocationsFrac,
const std::vector< dftfe::Int > & imageIds,
const std::vector< std::vector< double > > & imagePositions,
const std::vector< double > & kPointCoordinates,
const std::vector< double > & kPointWeights,
const std::vector< std::vector< double > > & domainBoundaries )

◆ initialiseFlattenedDataStructure()

template<typename ValueType, dftfe::utils::MemorySpace memorySpace>
void dftfe::hubbard< ValueType, memorySpace >::initialiseFlattenedDataStructure ( dftfe::uInt numVectors)

◆ initialiseOperatorActionOnX()

template<typename ValueType, dftfe::utils::MemorySpace memorySpace>
void dftfe::hubbard< ValueType, memorySpace >::initialiseOperatorActionOnX ( dftfe::uInt kPointIndex)

◆ readHubbardInput()

template<typename ValueType, dftfe::utils::MemorySpace memorySpace>
void dftfe::hubbard< ValueType, memorySpace >::readHubbardInput ( const std::vector< std::vector< double > > & atomLocations,
const std::vector< dftfe::Int > & imageIds,
const std::vector< std::vector< double > > & imagePositions )
private

◆ readHubbOccFromFile()

template<typename ValueType, dftfe::utils::MemorySpace memorySpace>
void dftfe::hubbard< ValueType, memorySpace >::readHubbOccFromFile ( )

◆ setInitialOccMatrix()

template<typename ValueType, dftfe::utils::MemorySpace memorySpace>
void dftfe::hubbard< ValueType, memorySpace >::setInitialOccMatrix ( )
private

◆ setInOccMatrix()

template<typename ValueType, dftfe::utils::MemorySpace memorySpace>
void dftfe::hubbard< ValueType, memorySpace >::setInOccMatrix ( const dftfe::utils::MemoryStorage< double, dftfe::utils::MemorySpace::HOST > & inputOccMatrix)

◆ writeHubbOccToFile()

template<typename ValueType, dftfe::utils::MemorySpace memorySpace>
void dftfe::hubbard< ValueType, memorySpace >::writeHubbOccToFile ( )

Member Data Documentation

◆ d_atomicCoords

template<typename ValueType, dftfe::utils::MemorySpace memorySpace>
std::vector<double> dftfe::hubbard< ValueType, memorySpace >::d_atomicCoords
private

◆ d_atomicProjectorFnsContainer

template<typename ValueType, dftfe::utils::MemorySpace memorySpace>
std::shared_ptr<AtomCenteredSphericalFunctionContainer> dftfe::hubbard< ValueType, memorySpace >::d_atomicProjectorFnsContainer
private

◆ d_atomicProjectorFnsMap

template<typename ValueType, dftfe::utils::MemorySpace memorySpace>
std::map<std::pair<dftfe::uInt, dftfe::uInt>, std::shared_ptr<AtomCenteredSphericalFunctionBase> > dftfe::hubbard< ValueType, memorySpace >::d_atomicProjectorFnsMap
private

◆ d_atomOrbitalMaxLength

template<typename ValueType, dftfe::utils::MemorySpace memorySpace>
double dftfe::hubbard< ValueType, memorySpace >::d_atomOrbitalMaxLength
private

◆ d_bandGroupLowHighPlusOneIndices

template<typename ValueType, dftfe::utils::MemorySpace memorySpace>
std::vector<dftfe::uInt> dftfe::hubbard< ValueType, memorySpace >::d_bandGroupLowHighPlusOneIndices
private

◆ d_BasisOperatorHostPtr

template<typename ValueType, dftfe::utils::MemorySpace memorySpace>
std::shared_ptr< dftfe::basis:: FEBasisOperations<ValueType, double, dftfe::utils::MemorySpace::HOST> > dftfe::hubbard< ValueType, memorySpace >::d_BasisOperatorHostPtr
private

◆ d_BasisOperatorMemPtr

template<typename ValueType, dftfe::utils::MemorySpace memorySpace>
std::shared_ptr< dftfe::basis::FEBasisOperations<ValueType, double, memorySpace> > dftfe::hubbard< ValueType, memorySpace >::d_BasisOperatorMemPtr
private

◆ d_BLASWrapperHostPtr

template<typename ValueType, dftfe::utils::MemorySpace memorySpace>
std::shared_ptr< dftfe::linearAlgebra::BLASWrapper<dftfe::utils::MemorySpace::HOST> > dftfe::hubbard< ValueType, memorySpace >::d_BLASWrapperHostPtr
private

◆ d_BLASWrapperMemPtr

template<typename ValueType, dftfe::utils::MemorySpace memorySpace>
std::shared_ptr<dftfe::linearAlgebra::BLASWrapper<memorySpace> > dftfe::hubbard< ValueType, memorySpace >::d_BLASWrapperMemPtr
private

◆ d_cellsBlockSizeApply

template<typename ValueType, dftfe::utils::MemorySpace memorySpace>
dftfe::uInt dftfe::hubbard< ValueType, memorySpace >::d_cellsBlockSizeApply
private

◆ d_couplingMatrixEntries

template<typename ValueType, dftfe::utils::MemorySpace memorySpace>
std::vector<dftfe::utils::MemoryStorage<ValueType, memorySpace> > dftfe::hubbard< ValueType, memorySpace >::d_couplingMatrixEntries
private

◆ d_couplingMatrixEntriesSinglePrec

template<typename ValueType, dftfe::utils::MemorySpace memorySpace>
std::vector<dftfe::utils::MemoryStorage< typename dftfe::dataTypes::singlePrecType<ValueType>::type, memorySpace> > dftfe::hubbard< ValueType, memorySpace >::d_couplingMatrixEntriesSinglePrec
private

◆ d_densityQuadratureId

template<typename ValueType, dftfe::utils::MemorySpace memorySpace>
dftfe::uInt dftfe::hubbard< ValueType, memorySpace >::d_densityQuadratureId
private

◆ d_dftfeScratchFolderName

template<typename ValueType, dftfe::utils::MemorySpace memorySpace>
std::string dftfe::hubbard< ValueType, memorySpace >::d_dftfeScratchFolderName
private

◆ d_dftParamsPtr

template<typename ValueType, dftfe::utils::MemorySpace memorySpace>
const dftParameters* dftfe::hubbard< ValueType, memorySpace >::d_dftParamsPtr
private

◆ d_domainBoundaries

template<typename ValueType, dftfe::utils::MemorySpace memorySpace>
std::vector<std::vector<double> > dftfe::hubbard< ValueType, memorySpace >::d_domainBoundaries
private

◆ d_expectationOfHubbardPotential

template<typename ValueType, dftfe::utils::MemorySpace memorySpace>
double dftfe::hubbard< ValueType, memorySpace >::d_expectationOfHubbardPotential
private

◆ d_hubbardEnergy

template<typename ValueType, dftfe::utils::MemorySpace memorySpace>
double dftfe::hubbard< ValueType, memorySpace >::d_hubbardEnergy
private

◆ d_hubbardSpeciesData

template<typename ValueType, dftfe::utils::MemorySpace memorySpace>
std::map<dftfe::uInt, hubbardSpecies> dftfe::hubbard< ValueType, memorySpace >::d_hubbardSpeciesData
private

◆ d_hubbNonLocalProjectorTimesVectorBlock

template<typename ValueType, dftfe::utils::MemorySpace memorySpace>
dftfe::linearAlgebra::MultiVector<ValueType, memorySpace> dftfe::hubbard< ValueType, memorySpace >::d_hubbNonLocalProjectorTimesVectorBlock
private

◆ d_hubbNonLocalProjectorTimesVectorBlockSinglePrec

template<typename ValueType, dftfe::utils::MemorySpace memorySpace>
dftfe::linearAlgebra::MultiVector< typename dftfe::dataTypes::singlePrecType<ValueType>::type, memorySpace> dftfe::hubbard< ValueType, memorySpace >::d_hubbNonLocalProjectorTimesVectorBlockSinglePrec
private

◆ d_hubbOccMatAfterMixing

template<typename ValueType, dftfe::utils::MemorySpace memorySpace>
dftfe::utils::MemoryStorage<double, dftfe::utils::MemorySpace::HOST> dftfe::hubbard< ValueType, memorySpace >::d_hubbOccMatAfterMixing
private

◆ d_imageIds

template<typename ValueType, dftfe::utils::MemorySpace memorySpace>
std::vector<dftfe::Int> dftfe::hubbard< ValueType, memorySpace >::d_imageIds
private

◆ d_initialAtomicSpin

template<typename ValueType, dftfe::utils::MemorySpace memorySpace>
std::vector<double> dftfe::hubbard< ValueType, memorySpace >::d_initialAtomicSpin
private

◆ d_kPointCoordinates

template<typename ValueType, dftfe::utils::MemorySpace memorySpace>
std::vector<double> dftfe::hubbard< ValueType, memorySpace >::d_kPointCoordinates
private

◆ d_kPointWeights

template<typename ValueType, dftfe::utils::MemorySpace memorySpace>
std::vector<double> dftfe::hubbard< ValueType, memorySpace >::d_kPointWeights
private

◆ d_mapAtomToAtomicNumber

template<typename ValueType, dftfe::utils::MemorySpace memorySpace>
std::vector<dftfe::uInt> dftfe::hubbard< ValueType, memorySpace >::d_mapAtomToAtomicNumber
private

◆ d_mapAtomToHubbardIds

template<typename ValueType, dftfe::utils::MemorySpace memorySpace>
std::vector<dftfe::uInt> dftfe::hubbard< ValueType, memorySpace >::d_mapAtomToHubbardIds
private

◆ d_mapHubbardAtomToGlobalAtomId

template<typename ValueType, dftfe::utils::MemorySpace memorySpace>
std::map<dftfe::uInt, dftfe::uInt> dftfe::hubbard< ValueType, memorySpace >::d_mapHubbardAtomToGlobalAtomId
private

◆ d_maxOccMatSizePerAtom

template<typename ValueType, dftfe::utils::MemorySpace memorySpace>
dftfe::uInt dftfe::hubbard< ValueType, memorySpace >::d_maxOccMatSizePerAtom
private

◆ d_mpi_comm_domain

template<typename ValueType, dftfe::utils::MemorySpace memorySpace>
const MPI_Comm dftfe::hubbard< ValueType, memorySpace >::d_mpi_comm_domain
private

◆ d_mpi_comm_interBand

template<typename ValueType, dftfe::utils::MemorySpace memorySpace>
const MPI_Comm dftfe::hubbard< ValueType, memorySpace >::d_mpi_comm_interBand
private

◆ d_mpi_comm_interPool

template<typename ValueType, dftfe::utils::MemorySpace memorySpace>
const MPI_Comm dftfe::hubbard< ValueType, memorySpace >::d_mpi_comm_interPool
private

◆ d_mpi_comm_parent

template<typename ValueType, dftfe::utils::MemorySpace memorySpace>
const MPI_Comm dftfe::hubbard< ValueType, memorySpace >::d_mpi_comm_parent
private

◆ d_nonLocalOperator

template<typename ValueType, dftfe::utils::MemorySpace memorySpace>
std::shared_ptr<AtomicCenteredNonLocalOperator<ValueType, memorySpace> > dftfe::hubbard< ValueType, memorySpace >::d_nonLocalOperator
private

◆ d_nonLocalOperatorSinglePrec

template<typename ValueType, dftfe::utils::MemorySpace memorySpace>
std::shared_ptr< AtomicCenteredNonLocalOperator<dataTypes::numberFP32, memorySpace> > dftfe::hubbard< ValueType, memorySpace >::d_nonLocalOperatorSinglePrec
private

◆ d_noOfSpin

template<typename ValueType, dftfe::utils::MemorySpace memorySpace>
dftfe::uInt dftfe::hubbard< ValueType, memorySpace >::d_noOfSpin
private

◆ d_noSpecies

template<typename ValueType, dftfe::utils::MemorySpace memorySpace>
dftfe::uInt dftfe::hubbard< ValueType, memorySpace >::d_noSpecies
private

◆ d_numberWaveFunctions

template<typename ValueType, dftfe::utils::MemorySpace memorySpace>
dftfe::uInt dftfe::hubbard< ValueType, memorySpace >::d_numberWaveFunctions
private

◆ d_numKPoints

template<typename ValueType, dftfe::utils::MemorySpace memorySpace>
dftfe::uInt dftfe::hubbard< ValueType, memorySpace >::d_numKPoints
private

◆ d_numSpins

template<typename ValueType, dftfe::utils::MemorySpace memorySpace>
dftfe::uInt dftfe::hubbard< ValueType, memorySpace >::d_numSpins
private

◆ d_numTotalOccMatrixEntriesPerSpin

template<typename ValueType, dftfe::utils::MemorySpace memorySpace>
dftfe::uInt dftfe::hubbard< ValueType, memorySpace >::d_numTotalOccMatrixEntriesPerSpin
private

◆ d_OccMatrixEntryStartForAtom

template<typename ValueType, dftfe::utils::MemorySpace memorySpace>
std::vector<dftfe::uInt> dftfe::hubbard< ValueType, memorySpace >::d_OccMatrixEntryStartForAtom
private

◆ d_occupationMatrix

template<typename ValueType, dftfe::utils::MemorySpace memorySpace>
std::map< HubbardOccFieldType, dftfe::utils::MemoryStorage<double, dftfe::utils::MemorySpace::HOST> > dftfe::hubbard< ValueType, memorySpace >::d_occupationMatrix
private

◆ d_periodicImagesCoords

template<typename ValueType, dftfe::utils::MemorySpace memorySpace>
std::vector<std::vector<double> > dftfe::hubbard< ValueType, memorySpace >::d_periodicImagesCoords
private

◆ d_procLocalAtomId

template<typename ValueType, dftfe::utils::MemorySpace memorySpace>
std::vector<dftfe::uInt> dftfe::hubbard< ValueType, memorySpace >::d_procLocalAtomId
private

◆ d_spinPolarizedFactor

template<typename ValueType, dftfe::utils::MemorySpace memorySpace>
double dftfe::hubbard< ValueType, memorySpace >::d_spinPolarizedFactor
private

◆ d_totalNumHubbAtoms

template<typename ValueType, dftfe::utils::MemorySpace memorySpace>
dftfe::uInt dftfe::hubbard< ValueType, memorySpace >::d_totalNumHubbAtoms
private

◆ d_useSinglePrec

template<typename ValueType, dftfe::utils::MemorySpace memorySpace>
bool dftfe::hubbard< ValueType, memorySpace >::d_useSinglePrec
private

◆ d_verbosity

template<typename ValueType, dftfe::utils::MemorySpace memorySpace>
dftfe::uInt dftfe::hubbard< ValueType, memorySpace >::d_verbosity
private

◆ n_mpi_processes

template<typename ValueType, dftfe::utils::MemorySpace memorySpace>
dftfe::uInt dftfe::hubbard< ValueType, memorySpace >::n_mpi_processes
private

◆ pcout

template<typename ValueType, dftfe::utils::MemorySpace memorySpace>
dealii::ConditionalOStream dftfe::hubbard< ValueType, memorySpace >::pcout
private

◆ this_mpi_process

template<typename ValueType, dftfe::utils::MemorySpace memorySpace>
dftfe::uInt dftfe::hubbard< ValueType, memorySpace >::this_mpi_process
private

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