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

#include <DensityCalculator.h>

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

Public Types

using ValueType = linearAlgebra::blasLapack::scalar_type< ValueTypeBasisData, ValueTypeBasisCoeff >
 
using RealType = linearAlgebra::blasLapack::real_type< ValueType >
 

Public Member Functions

 DensityCalculator (std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeBasisData, memorySpace > > feBasisDataStorage, const basis::FEBasisManager< ValueTypeBasisCoeff, ValueTypeBasisData, memorySpace, dim > &feBMPsi, std::shared_ptr< linearAlgebra::LinAlgOpContext< memorySpace > > linAlgOpContext, const size_type cellBlockSize, const size_type waveFuncBatchSize)
 Constructor. More...
 
 ~DensityCalculator ()
 Default Destructor. More...
 
void reinit (std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeBasisData, memorySpace > > feBasisDataStorage, const basis::FEBasisManager< ValueTypeBasisCoeff, ValueTypeBasisData, memorySpace, dim > &feBMPsi)
 
void computeRho (const std::vector< RealType > &occupation, const linearAlgebra::MultiVector< ValueTypeBasisCoeff, memorySpace > &waveFunc, quadrature::QuadratureValuesContainer< RealType, memorySpace > &rho)
 

Private Attributes

std::shared_ptr< const quadrature::QuadratureRuleContainerd_quadRuleContainer
 
std::shared_ptr< basis::FEBasisOperations< ValueTypeBasisCoeff, ValueTypeBasisData, memorySpace, dim > > d_feBasisOp
 
const basis::FEBasisManager< ValueTypeBasisCoeff, ValueTypeBasisData, memorySpace, dim > * d_feBMPsi
 
const size_type d_cellBlockSize
 
const size_type d_waveFuncBatchSize
 
std::shared_ptr< linearAlgebra::LinAlgOpContext< memorySpace > > d_linAlgOpContext
 
quadrature::QuadratureValuesContainer< ValueType, memorySpace > * d_psiBatchQuad
 
quadrature::QuadratureValuesContainer< RealType, memorySpace > * d_psiModSqBatchQuad
 
quadrature::QuadratureValuesContainer< RealType, memorySpace > * d_rhoBatch
 
linearAlgebra::MultiVector< ValueTypeBasisCoeff, memorySpace > * d_psiBatch
 
quadrature::QuadratureValuesContainer< ValueType, memorySpace > * d_psiBatchSmallQuad
 
quadrature::QuadratureValuesContainer< RealType, memorySpace > * d_psiModSqBatchSmallQuad
 
linearAlgebra::MultiVector< ValueTypeBasisCoeff, memorySpace > * d_psiBatchSmall
 
size_type d_batchSizeSmall
 

Member Typedef Documentation

◆ RealType

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

◆ ValueType

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

Constructor & Destructor Documentation

◆ DensityCalculator()

template<typename ValueTypeBasisData , typename ValueTypeBasisCoeff , utils::MemorySpace memorySpace, size_type dim>
dftefe::ksdft::DensityCalculator< ValueTypeBasisData, ValueTypeBasisCoeff, memorySpace, dim >::DensityCalculator ( std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeBasisData, memorySpace > >  feBasisDataStorage,
const basis::FEBasisManager< ValueTypeBasisCoeff, ValueTypeBasisData, memorySpace, dim > &  feBMPsi,
std::shared_ptr< linearAlgebra::LinAlgOpContext< memorySpace > >  linAlgOpContext,
const size_type  cellBlockSize,
const size_type  waveFuncBatchSize 
)

Constructor.

Here is the call graph for this function:

◆ ~DensityCalculator()

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

Default Destructor.

Member Function Documentation

◆ computeRho()

template<typename ValueTypeBasisData , typename ValueTypeBasisCoeff , utils::MemorySpace memorySpace, size_type dim>
void dftefe::ksdft::DensityCalculator< ValueTypeBasisData, ValueTypeBasisCoeff, memorySpace, dim >::computeRho ( const std::vector< RealType > &  occupation,
const linearAlgebra::MultiVector< ValueTypeBasisCoeff, memorySpace > &  waveFunc,
quadrature::QuadratureValuesContainer< RealType, memorySpace > &  rho 
)
Here is the call graph for this function:

◆ reinit()

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

Member Data Documentation

◆ d_batchSizeSmall

template<typename ValueTypeBasisData , typename ValueTypeBasisCoeff , utils::MemorySpace memorySpace, size_type dim>
size_type dftefe::ksdft::DensityCalculator< ValueTypeBasisData, ValueTypeBasisCoeff, memorySpace, dim >::d_batchSizeSmall
private

◆ d_cellBlockSize

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

◆ d_feBasisOp

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

◆ d_feBMPsi

template<typename ValueTypeBasisData , typename ValueTypeBasisCoeff , utils::MemorySpace memorySpace, size_type dim>
const basis::FEBasisManager<ValueTypeBasisCoeff, ValueTypeBasisData, memorySpace, dim>* dftefe::ksdft::DensityCalculator< ValueTypeBasisData, ValueTypeBasisCoeff, memorySpace, dim >::d_feBMPsi
private

◆ d_linAlgOpContext

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

◆ d_psiBatch

template<typename ValueTypeBasisData , typename ValueTypeBasisCoeff , utils::MemorySpace memorySpace, size_type dim>
linearAlgebra::MultiVector<ValueTypeBasisCoeff, memorySpace>* dftefe::ksdft::DensityCalculator< ValueTypeBasisData, ValueTypeBasisCoeff, memorySpace, dim >::d_psiBatch
private

◆ d_psiBatchQuad

template<typename ValueTypeBasisData , typename ValueTypeBasisCoeff , utils::MemorySpace memorySpace, size_type dim>
quadrature::QuadratureValuesContainer<ValueType, memorySpace>* dftefe::ksdft::DensityCalculator< ValueTypeBasisData, ValueTypeBasisCoeff, memorySpace, dim >::d_psiBatchQuad
private

◆ d_psiBatchSmall

template<typename ValueTypeBasisData , typename ValueTypeBasisCoeff , utils::MemorySpace memorySpace, size_type dim>
linearAlgebra::MultiVector<ValueTypeBasisCoeff, memorySpace>* dftefe::ksdft::DensityCalculator< ValueTypeBasisData, ValueTypeBasisCoeff, memorySpace, dim >::d_psiBatchSmall
private

◆ d_psiBatchSmallQuad

template<typename ValueTypeBasisData , typename ValueTypeBasisCoeff , utils::MemorySpace memorySpace, size_type dim>
quadrature::QuadratureValuesContainer<ValueType, memorySpace>* dftefe::ksdft::DensityCalculator< ValueTypeBasisData, ValueTypeBasisCoeff, memorySpace, dim >::d_psiBatchSmallQuad
private

◆ d_psiModSqBatchQuad

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

◆ d_psiModSqBatchSmallQuad

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

◆ d_quadRuleContainer

template<typename ValueTypeBasisData , typename ValueTypeBasisCoeff , utils::MemorySpace memorySpace, size_type dim>
std::shared_ptr<const quadrature::QuadratureRuleContainer> dftefe::ksdft::DensityCalculator< ValueTypeBasisData, ValueTypeBasisCoeff, memorySpace, dim >::d_quadRuleContainer
private

◆ d_rhoBatch

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

◆ d_waveFuncBatchSize

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

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