#include <KineticFE.h>
Public Types | |
using | ValueType = linearAlgebra::blasLapack::scalar_type< ValueTypeBasisData, ValueTypeBasisCoeff > |
using | RealType = linearAlgebra::blasLapack::real_type< ValueType > |
using | Storage = utils::MemoryStorage< ValueTypeBasisData, memorySpace > |
Public Member Functions | |
KineticFE (std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeBasisData, memorySpace > > feBasisDataStorage, std::shared_ptr< linearAlgebra::LinAlgOpContext< memorySpace > > linAlgOpContext, const size_type cellBlockSize) | |
Constructor. More... | |
~KineticFE ()=default | |
void | reinit (std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeBasisData, memorySpace > > feBasisDataStorage) |
void | getLocal (Storage &cellWiseStorage) const override |
void | evalEnergy (const std::vector< RealType > &occupation, const basis::FEBasisManager< ValueTypeBasisCoeff, ValueTypeBasisData, memorySpace, dim > &feBMPsi, const linearAlgebra::MultiVector< ValueTypeBasisCoeff, memorySpace > &waveFunc, const size_type waveFuncBatchSize) |
RealType | getEnergy () const override |
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< const basis::FEBasisDataStorage< ValueTypeBasisData, memorySpace > > | d_feBasisDataStorage |
std::shared_ptr< basis::FEBasisOperations< ValueTypeBasisCoeff, ValueTypeBasisData, memorySpace, dim > > | d_feBasisOp |
RealType | d_energy |
const size_type | d_cellBlockSize |
std::shared_ptr< linearAlgebra::LinAlgOpContext< memorySpace > > | d_linAlgOpContext |
using dftefe::ksdft::KineticFE< ValueTypeBasisData, ValueTypeBasisCoeff, memorySpace, dim >::RealType = linearAlgebra::blasLapack::real_type<ValueType> |
using dftefe::ksdft::KineticFE< ValueTypeBasisData, ValueTypeBasisCoeff, memorySpace, dim >::Storage = utils::MemoryStorage<ValueTypeBasisData, memorySpace> |
using dftefe::ksdft::KineticFE< ValueTypeBasisData, ValueTypeBasisCoeff, memorySpace, dim >::ValueType = linearAlgebra::blasLapack::scalar_type<ValueTypeBasisData, ValueTypeBasisCoeff> |
dftefe::ksdft::KineticFE< ValueTypeBasisData, ValueTypeBasisCoeff, memorySpace, dim >::KineticFE | ( | std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeBasisData, memorySpace > > | feBasisDataStorage, |
std::shared_ptr< linearAlgebra::LinAlgOpContext< memorySpace > > | linAlgOpContext, | ||
const size_type | cellBlockSize | ||
) |
Constructor.
|
default |
void dftefe::ksdft::KineticFE< ValueTypeBasisData, ValueTypeBasisCoeff, memorySpace, dim >::evalEnergy | ( | const std::vector< RealType > & | occupation, |
const basis::FEBasisManager< ValueTypeBasisCoeff, ValueTypeBasisData, memorySpace, dim > & | feBMPsi, | ||
const linearAlgebra::MultiVector< ValueTypeBasisCoeff, memorySpace > & | waveFunc, | ||
const size_type | waveFuncBatchSize | ||
) |
|
overridevirtual |
|
overridevirtual |
Implements dftefe::ksdft::Hamiltonian< ValueTypeBasisData, memorySpace >.
void dftefe::ksdft::KineticFE< ValueTypeBasisData, ValueTypeBasisCoeff, memorySpace, dim >::reinit | ( | std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeBasisData, memorySpace > > | feBasisDataStorage | ) |
|
private |
|
private |
|
private |
|
private |
|
private |