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 unsigned int matrixFreeVectorComponent, const unsigned int densityQuadratureId, const unsigned int sparsityPatternQuadratureId, const unsigned int numberWaveFunctions, const unsigned int 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< 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 unsigned int inputVecSize, const unsigned int kPointIndex, const unsigned int 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 unsigned int inputVecSize, const unsigned int kPointIndex, const unsigned int spinIndex)
 
void initialiseOperatorActionOnX (unsigned int kPointIndex)
 
void initialiseFlattenedDataStructure (unsigned int numVectors)
 
const dftfe::utils::MemoryStorage< ValueType, memorySpace > & getCouplingMatrix (unsigned int 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 ()
 
unsigned int getTotalNumberOfSphericalFunctionsForAtomId (unsigned int iAtom)
 
unsigned int getGlobalAtomId (unsigned int iAtom)
 
void writeHubbOccToFile ()
 
void readHubbOccFromFile ()
 

Private Member Functions

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

Private Attributes

std::map< unsigned int, unsigned int > d_mapHubbardAtomToGlobalAtomId
 
unsigned int 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< unsigned int, hubbardSpeciesd_hubbardSpeciesData
 
std::map< std::pair< unsigned int, unsigned int >, 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
 
unsigned int 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
 
unsigned int n_mpi_processes
 
unsigned int this_mpi_process
 
std::vector< unsigned int > d_bandGroupLowHighPlusOneIndices
 
unsigned int d_numSpins
 
std::vector< unsigned int > d_procLocalAtomId
 
dealii::ConditionalOStream pcout
 
std::vector< double > d_atomicCoords
 
std::vector< double > d_initialAtomicSpin
 
std::vector< std::vector< double > > d_periodicImagesCoords
 
std::vector< int > d_imageIds
 
std::vector< unsigned int > d_mapAtomToHubbardIds
 
std::vector< unsigned int > d_mapAtomToAtomicNumber
 
double d_spinPolarizedFactor
 
unsigned int 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
 
unsigned int d_noSpecies
 
unsigned int d_densityQuadratureId
 
unsigned int d_numberWaveFunctions
 
unsigned int d_numTotalOccMatrixEntriesPerSpin
 
std::vector< unsigned int > d_OccMatrixEntryStartForAtom
 
dftfe::linearAlgebra::MultiVector< ValueType, memorySpace > d_hubbNonLocalProjectorTimesVectorBlock
 
dftfe::linearAlgebra::MultiVector< typename dftfe::dataTypes::singlePrecType< ValueType >::type, memorySpace > d_hubbNonLocalProjectorTimesVectorBlockSinglePrec
 
unsigned int d_cellsBlockSizeApply
 
unsigned int d_verbosity
 
dftfe::utils::MemoryStorage< double, dftfe::utils::MemorySpace::HOSTd_hubbOccMatAfterMixing
 
double d_hubbardEnergy
 
double d_expectationOfHubbardPotential
 
unsigned int 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 unsigned int inputVecSize,
const unsigned int kPointIndex,
const unsigned int 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 unsigned int inputVecSize,
const unsigned int kPointIndex,
const unsigned int 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 unsigned int vectorBlockSize,
const unsigned int spinIndex,
const unsigned int 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 ( unsigned int spinIndex)

◆ getExpectationOfHubbardPotential()

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

◆ getGlobalAtomId()

template<typename ValueType, dftfe::utils::MemorySpace memorySpace>
unsigned int dftfe::hubbard< ValueType, memorySpace >::getGlobalAtomId ( unsigned int 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>
unsigned int dftfe::hubbard< ValueType, memorySpace >::getTotalNumberOfSphericalFunctionsForAtomId ( unsigned int 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 unsigned int matrixFreeVectorComponent,
const unsigned int densityQuadratureId,
const unsigned int sparsityPatternQuadratureId,
const unsigned int numberWaveFunctions,
const unsigned int 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< 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 ( unsigned int numVectors)

◆ initialiseOperatorActionOnX()

template<typename ValueType, dftfe::utils::MemorySpace memorySpace>
void dftfe::hubbard< ValueType, memorySpace >::initialiseOperatorActionOnX ( unsigned int 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< 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<unsigned int, unsigned int>, 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<unsigned int> 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>
unsigned int 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>
unsigned int 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<unsigned int, 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<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<unsigned int> dftfe::hubbard< ValueType, memorySpace >::d_mapAtomToAtomicNumber
private

◆ d_mapAtomToHubbardIds

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

◆ d_mapHubbardAtomToGlobalAtomId

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

◆ d_maxOccMatSizePerAtom

template<typename ValueType, dftfe::utils::MemorySpace memorySpace>
unsigned int 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>
unsigned int dftfe::hubbard< ValueType, memorySpace >::d_noOfSpin
private

◆ d_noSpecies

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

◆ d_numberWaveFunctions

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

◆ d_numKPoints

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

◆ d_numSpins

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

◆ d_numTotalOccMatrixEntriesPerSpin

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

◆ d_OccMatrixEntryStartForAtom

template<typename ValueType, dftfe::utils::MemorySpace memorySpace>
std::vector<unsigned int> 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<unsigned int> 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>
unsigned int 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>
unsigned int dftfe::hubbard< ValueType, memorySpace >::d_verbosity
private

◆ n_mpi_processes

template<typename ValueType, dftfe::utils::MemorySpace memorySpace>
unsigned int 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>
unsigned int dftfe::hubbard< ValueType, memorySpace >::this_mpi_process
private

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