26#ifndef dftefeKineticFE_h
27#define dftefeKineticFE_h
39 template <
typename ValueTypeBasisData,
40 typename ValueTypeBasisCoeff,
44 :
public Hamiltonian<ValueTypeBasisData, memorySpace>,
45 public Energy<linearAlgebra::blasLapack::real_type<
46 linearAlgebra::blasLapack::scalar_type<ValueTypeBasisData,
47 ValueTypeBasisCoeff>>>
81 evalEnergy(
const std::vector<RealType> & occupation,
87 memorySpace> &waveFunc);
96 bool updateGhostY)
const override;
115 std::shared_ptr<linearAlgebra::LinAlgOpContext<memorySpace>>
An abstract class to store and access data for a given basis, such as the basis function values on a ...
Definition: FEBasisDataStorage.h:54
An abstract class to encapsulate the partitioning of a finite element basis across multiple processor...
Definition: FEBasisManager.h:44
Definition: FEBasisOperations.h:57
Definition: Hamiltonian.h:35
Definition: KineticFE.h:48
bool hasNonLocalComponent() const override
Definition: KineticFE.t.cpp:285
void applyNonLocal(linearAlgebra::MultiVector< ValueTypeBasisCoeff, memorySpace > &X, linearAlgebra::MultiVector< ValueTypeBasisCoeff, memorySpace > &Y, bool updateGhostX, bool updateGhostY) const override
Definition: KineticFE.t.cpp:258
void getLocal(Storage &cellWiseStorage) const override
Definition: KineticFE.t.cpp:108
linearAlgebra::blasLapack::scalar_type< ValueTypeBasisData, ValueTypeBasisCoeff > ValueType
Definition: KineticFE.h:52
Storage d_cellWiseStorageKineticEnergy
Definition: KineticFE.h:118
void reinit(std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeBasisData, memorySpace > > feBasisDataStorage)
Definition: KineticFE.t.cpp:72
std::shared_ptr< linearAlgebra::LinAlgOpContext< memorySpace > > d_linAlgOpContext
Definition: KineticFE.h:116
const size_type d_waveFuncBatchSize
Definition: KineticFE.h:114
RealType d_energy
Definition: KineticFE.h:113
RealType getEnergy() const override
Definition: KineticFE.t.cpp:247
const size_type d_maxCellBlock
Definition: KineticFE.h:114
quadrature::QuadratureValuesContainer< ValueType, memorySpace > * d_gradPsi
Definition: KineticFE.h:117
~KineticFE()
Definition: KineticFE.t.cpp:57
void evalEnergy(const std::vector< RealType > &occupation, const basis::FEBasisManager< ValueTypeBasisCoeff, ValueTypeBasisData, memorySpace, dim > &feBMPsi, const linearAlgebra::MultiVector< ValueTypeBasisCoeff, memorySpace > &waveFunc)
Definition: KineticFE.t.cpp:119
std::shared_ptr< basis::FEBasisOperations< ValueTypeBasisCoeff, ValueTypeBasisData, memorySpace, dim > > d_feBasisOp
Definition: KineticFE.h:112
std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeBasisData, memorySpace > > d_feBasisDataStorage
Definition: KineticFE.h:107
linearAlgebra::blasLapack::real_type< ValueType > RealType
Definition: KineticFE.h:54
bool hasLocalComponent() const override
Definition: KineticFE.t.cpp:274
Definition: LinAlgOpContext.h:38
An class template to encapsulate a MultiVector. A MultiVector is a collection of vectors belonging t...
Definition: MultiVector.h:134
Definition: QuadratureValuesContainer.h:39
blas::scalar_type< ValueType1, ValueType2 > scalar_type
Definition: BlasLapackTypedef.h:70
blas::real_type< ValueType > real_type
Definition: BlasLapackTypedef.h:64
MemorySpace
Definition: MemorySpaceType.h:37
dealii includes
Definition: AtomFieldDataSpherical.cpp:31
unsigned int size_type
Definition: TypeConfig.h:8