DFT-EFE
 
Loading...
Searching...
No Matches
dftefe::ksdft::ExchangeCorrelationFE< ValueTypeBasisData, ValueTypeBasisCoeff, memorySpace, dim > Class Template Reference

#include <ExchangeCorrelationFE.h>

Inheritance diagram for dftefe::ksdft::ExchangeCorrelationFE< ValueTypeBasisData, ValueTypeBasisCoeff, memorySpace, dim >:
Collaboration diagram for dftefe::ksdft::ExchangeCorrelationFE< ValueTypeBasisData, ValueTypeBasisCoeff, memorySpace, dim >:

Public Types

using ValueType = linearAlgebra::blasLapack::scalar_type< ValueTypeBasisData, ValueTypeBasisCoeff >
 
using RealType = linearAlgebra::blasLapack::real_type< ValueType >
 
using Storage = utils::MemoryStorage< ValueType, memorySpace >
 

Public Member Functions

 ExchangeCorrelationFE (const quadrature::QuadratureValuesContainer< RealType, memorySpace > &electronChargeDensity, std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeBasisData, memorySpace > > feBasisDataStorage, std::shared_ptr< linearAlgebra::LinAlgOpContext< memorySpace > > linAlgOpContext, const size_type cellBlockSize)
 Constructor. More...
 
 ~ExchangeCorrelationFE ()
 
void reinitBasis (std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeBasisData, memorySpace > > feBasisDataStorage)
 
void reinitField (const quadrature::QuadratureValuesContainer< RealType, memorySpace > &electronChargeDensity)
 
void getLocal (Storage &cellWiseStorage) const override
 
void evalEnergy (const utils::mpi::MPIComm &comm)
 
RealType getEnergy () const override
 
- Public Member Functions inherited from dftefe::ksdft::Hamiltonian< ValueTypeBasisData, memorySpace >
virtual void getLocal (utils::MemoryStorage< ValueTypeBasisData, memorySpace > &cellWiseStorage) const=0
 
virtual linearAlgebra::blasLapack::real_type< linearAlgebra::blasLapack::scalar_type< ValueTypeBasisData, ValueTypeBasisCoeff > > getEnergy () const=0
 

Private Attributes

std::shared_ptr< quadrature::QuadratureValuesContainer< RealType, memorySpace > > d_xcPotentialQuad
 
const quadrature::QuadratureValuesContainer< RealType, memorySpace > * d_electronChargeDensity
 
std::shared_ptr< const basis::FEBasisDofHandler< ValueTypeBasisCoeff, memorySpace, dim > > d_feBasisDofHandler
 
std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeBasisData, memorySpace > > d_feBasisDataStorage
 
std::shared_ptr< const basis::FEBasisOperations< ValueTypeBasisCoeff, ValueTypeBasisData, memorySpace, dim > > d_feBasisOp
 
RealType d_energy
 
const size_type d_cellBlockSize
 
std::shared_ptr< linearAlgebra::LinAlgOpContext< memorySpace > > d_linAlgOpContext
 
xc_func_type * d_funcX
 
xc_func_type * d_funcC
 
utils::MemoryStorage< RealType, utils::MemorySpace::HOST > * d_rho
 

Member Typedef Documentation

◆ RealType

template<typename ValueTypeBasisData , typename ValueTypeBasisCoeff , utils::MemorySpace memorySpace, size_type dim>
using dftefe::ksdft::ExchangeCorrelationFE< ValueTypeBasisData, ValueTypeBasisCoeff, memorySpace, dim >::RealType = linearAlgebra::blasLapack::real_type<ValueType>

◆ Storage

template<typename ValueTypeBasisData , typename ValueTypeBasisCoeff , utils::MemorySpace memorySpace, size_type dim>
using dftefe::ksdft::ExchangeCorrelationFE< ValueTypeBasisData, ValueTypeBasisCoeff, memorySpace, dim >::Storage = utils::MemoryStorage<ValueType, memorySpace>

◆ ValueType

template<typename ValueTypeBasisData , typename ValueTypeBasisCoeff , utils::MemorySpace memorySpace, size_type dim>
using dftefe::ksdft::ExchangeCorrelationFE< ValueTypeBasisData, ValueTypeBasisCoeff, memorySpace, dim >::ValueType = linearAlgebra::blasLapack::scalar_type<ValueTypeBasisData, ValueTypeBasisCoeff>

Constructor & Destructor Documentation

◆ ExchangeCorrelationFE()

template<typename ValueTypeBasisData , typename ValueTypeBasisCoeff , utils::MemorySpace memorySpace, size_type dim>
dftefe::ksdft::ExchangeCorrelationFE< ValueTypeBasisData, ValueTypeBasisCoeff, memorySpace, dim >::ExchangeCorrelationFE ( const quadrature::QuadratureValuesContainer< RealType, memorySpace > &  electronChargeDensity,
std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeBasisData, memorySpace > >  feBasisDataStorage,
std::shared_ptr< linearAlgebra::LinAlgOpContext< memorySpace > >  linAlgOpContext,
const size_type  cellBlockSize 
)

Constructor.

Here is the call graph for this function:

◆ ~ExchangeCorrelationFE()

template<typename ValueTypeBasisData , typename ValueTypeBasisCoeff , utils::MemorySpace memorySpace, size_type dim>
dftefe::ksdft::ExchangeCorrelationFE< ValueTypeBasisData, ValueTypeBasisCoeff, memorySpace, dim >::~ExchangeCorrelationFE

Member Function Documentation

◆ evalEnergy()

template<typename ValueTypeBasisData , typename ValueTypeBasisCoeff , utils::MemorySpace memorySpace, size_type dim>
void dftefe::ksdft::ExchangeCorrelationFE< ValueTypeBasisData, ValueTypeBasisCoeff, memorySpace, dim >::evalEnergy ( const utils::mpi::MPIComm comm)
Here is the call graph for this function:

◆ getEnergy()

template<typename ValueTypeBasisData , typename ValueTypeBasisCoeff , utils::MemorySpace memorySpace, size_type dim>
ExchangeCorrelationFE< ValueTypeBasisData, ValueTypeBasisCoeff, memorySpace, dim >::RealType dftefe::ksdft::ExchangeCorrelationFE< ValueTypeBasisData, ValueTypeBasisCoeff, memorySpace, dim >::getEnergy
overridevirtual

◆ getLocal()

template<typename ValueTypeBasisData , typename ValueTypeBasisCoeff , utils::MemorySpace memorySpace, size_type dim>
void dftefe::ksdft::ExchangeCorrelationFE< ValueTypeBasisData, ValueTypeBasisCoeff, memorySpace, dim >::getLocal ( Storage cellWiseStorage) const
override

◆ reinitBasis()

template<typename ValueTypeBasisData , typename ValueTypeBasisCoeff , utils::MemorySpace memorySpace, size_type dim>
void dftefe::ksdft::ExchangeCorrelationFE< ValueTypeBasisData, ValueTypeBasisCoeff, memorySpace, dim >::reinitBasis ( std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeBasisData, memorySpace > >  feBasisDataStorage)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ reinitField()

template<typename ValueTypeBasisData , typename ValueTypeBasisCoeff , utils::MemorySpace memorySpace, size_type dim>
void dftefe::ksdft::ExchangeCorrelationFE< ValueTypeBasisData, ValueTypeBasisCoeff, memorySpace, dim >::reinitField ( const quadrature::QuadratureValuesContainer< RealType, memorySpace > &  electronChargeDensity)
Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ d_cellBlockSize

template<typename ValueTypeBasisData , typename ValueTypeBasisCoeff , utils::MemorySpace memorySpace, size_type dim>
const size_type dftefe::ksdft::ExchangeCorrelationFE< ValueTypeBasisData, ValueTypeBasisCoeff, memorySpace, dim >::d_cellBlockSize
private

◆ d_electronChargeDensity

template<typename ValueTypeBasisData , typename ValueTypeBasisCoeff , utils::MemorySpace memorySpace, size_type dim>
const quadrature::QuadratureValuesContainer<RealType, memorySpace>* dftefe::ksdft::ExchangeCorrelationFE< ValueTypeBasisData, ValueTypeBasisCoeff, memorySpace, dim >::d_electronChargeDensity
private

◆ d_energy

template<typename ValueTypeBasisData , typename ValueTypeBasisCoeff , utils::MemorySpace memorySpace, size_type dim>
RealType dftefe::ksdft::ExchangeCorrelationFE< ValueTypeBasisData, ValueTypeBasisCoeff, memorySpace, dim >::d_energy
private

◆ d_feBasisDataStorage

template<typename ValueTypeBasisData , typename ValueTypeBasisCoeff , utils::MemorySpace memorySpace, size_type dim>
std::shared_ptr< const basis::FEBasisDataStorage<ValueTypeBasisData, memorySpace> > dftefe::ksdft::ExchangeCorrelationFE< ValueTypeBasisData, ValueTypeBasisCoeff, memorySpace, dim >::d_feBasisDataStorage
private

◆ d_feBasisDofHandler

template<typename ValueTypeBasisData , typename ValueTypeBasisCoeff , utils::MemorySpace memorySpace, size_type dim>
std::shared_ptr< const basis::FEBasisDofHandler<ValueTypeBasisCoeff, memorySpace, dim> > dftefe::ksdft::ExchangeCorrelationFE< ValueTypeBasisData, ValueTypeBasisCoeff, memorySpace, dim >::d_feBasisDofHandler
private

◆ d_feBasisOp

template<typename ValueTypeBasisData , typename ValueTypeBasisCoeff , utils::MemorySpace memorySpace, size_type dim>
std::shared_ptr<const basis::FEBasisOperations<ValueTypeBasisCoeff, ValueTypeBasisData, memorySpace, dim> > dftefe::ksdft::ExchangeCorrelationFE< ValueTypeBasisData, ValueTypeBasisCoeff, memorySpace, dim >::d_feBasisOp
private

◆ d_funcC

template<typename ValueTypeBasisData , typename ValueTypeBasisCoeff , utils::MemorySpace memorySpace, size_type dim>
xc_func_type* dftefe::ksdft::ExchangeCorrelationFE< ValueTypeBasisData, ValueTypeBasisCoeff, memorySpace, dim >::d_funcC
private

◆ d_funcX

template<typename ValueTypeBasisData , typename ValueTypeBasisCoeff , utils::MemorySpace memorySpace, size_type dim>
xc_func_type* dftefe::ksdft::ExchangeCorrelationFE< ValueTypeBasisData, ValueTypeBasisCoeff, memorySpace, dim >::d_funcX
private

◆ d_linAlgOpContext

template<typename ValueTypeBasisData , typename ValueTypeBasisCoeff , utils::MemorySpace memorySpace, size_type dim>
std::shared_ptr<linearAlgebra::LinAlgOpContext<memorySpace> > dftefe::ksdft::ExchangeCorrelationFE< ValueTypeBasisData, ValueTypeBasisCoeff, memorySpace, dim >::d_linAlgOpContext
private

◆ d_rho

template<typename ValueTypeBasisData , typename ValueTypeBasisCoeff , utils::MemorySpace memorySpace, size_type dim>
utils::MemoryStorage<RealType, utils::MemorySpace::HOST>* dftefe::ksdft::ExchangeCorrelationFE< ValueTypeBasisData, ValueTypeBasisCoeff, memorySpace, dim >::d_rho
private

◆ d_xcPotentialQuad

template<typename ValueTypeBasisData , typename ValueTypeBasisCoeff , utils::MemorySpace memorySpace, size_type dim>
std::shared_ptr< quadrature::QuadratureValuesContainer<RealType, memorySpace> > dftefe::ksdft::ExchangeCorrelationFE< ValueTypeBasisData, ValueTypeBasisCoeff, memorySpace, dim >::d_xcPotentialQuad
private

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