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

A derived class of linearAlgebra::OperatorContext to encapsulate the action of a discrete operator on vectors, matrices, etc. More...

#include <ElectrostaticFE.h>

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

Public Types

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

Public Member Functions

virtual ~ElectrostaticFE ()=default
 
virtual void getLocal (Storage &cellWiseStorage) const =0
 
virtual RealType getEnergy () const =0
 
virtual const quadrature::QuadratureValuesContainer< ValueType, memorySpace > & getFunctionalDerivative () const =0
 
virtual void applyNonLocal (linearAlgebra::MultiVector< ValueType, memorySpace > &X, linearAlgebra::MultiVector< ValueType, memorySpace > &Y, bool updateGhostX, bool updateGhostY) const =0
 
virtual bool hasLocalComponent () const =0
 
virtual bool hasNonLocalComponent () const =0
 
- Public Member Functions inherited from dftefe::ksdft::Hamiltonian< linearAlgebra::blasLapack::scalar_type< linearAlgebra::blasLapack::scalar_type< ValueTypeBasisData, ValueTypeWaveFnBasisData >, ValueTypeBasisCoeff >, memorySpace >
virtual ~Hamiltonian ()=default
 
virtual void getLocal (utils::MemoryStorage< linearAlgebra::blasLapack::scalar_type< linearAlgebra::blasLapack::scalar_type< ValueTypeBasisData, ValueTypeWaveFnBasisData >, ValueTypeBasisCoeff >, memorySpace > &cellWiseStorage) const=0
 
virtual void applyNonLocal (linearAlgebra::MultiVector< linearAlgebra::blasLapack::scalar_type< linearAlgebra::blasLapack::scalar_type< ValueTypeBasisData, ValueTypeWaveFnBasisData >, ValueTypeBasisCoeff >, memorySpace > &X, linearAlgebra::MultiVector< linearAlgebra::blasLapack::scalar_type< linearAlgebra::blasLapack::scalar_type< ValueTypeBasisData, ValueTypeWaveFnBasisData >, ValueTypeBasisCoeff >, memorySpace > &Y, bool updateGhostX, bool updateGhostY) const=0
 
virtual bool hasLocalComponent () const=0
 
virtual bool hasNonLocalComponent () const=0
 
- Public Member Functions inherited from dftefe::ksdft::Energy< linearAlgebra::blasLapack::real_type< linearAlgebra::blasLapack::scalar_type< ValueTypeBasisData, ValueTypeBasisCoeff > > >
virtual ~Energy ()=default
 
virtual linearAlgebra::blasLapack::real_type< linearAlgebra::blasLapack::scalar_type< ValueTypeBasisData, ValueTypeBasisCoeff > > getEnergy () const=0
 

Detailed Description

template<typename ValueTypeBasisData, typename ValueTypeBasisCoeff, typename ValueTypeWaveFnBasisData, utils::MemorySpace memorySpace, size_type dim>
class dftefe::ksdft::ElectrostaticFE< ValueTypeBasisData, ValueTypeBasisCoeff, ValueTypeWaveFnBasisData, memorySpace, dim >

A derived class of linearAlgebra::OperatorContext to encapsulate the action of a discrete operator on vectors, matrices, etc.

Template Parameters
ValueTypeOperatorThe datatype (float, double, complex<double>, etc.) for the underlying operator on which the operator will act
memorySpaceThe meory sapce (HOST, DEVICE, HOST_PINNED, etc.) in which the data of the operator and its operands reside

Member Typedef Documentation

◆ RealType

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

◆ Storage

template<typename ValueTypeBasisData , typename ValueTypeBasisCoeff , typename ValueTypeWaveFnBasisData , utils::MemorySpace memorySpace, size_type dim>
using dftefe::ksdft::ElectrostaticFE< ValueTypeBasisData, ValueTypeBasisCoeff, ValueTypeWaveFnBasisData, memorySpace, dim >::Storage = utils::MemoryStorage< linearAlgebra::blasLapack::scalar_type< linearAlgebra::blasLapack::scalar_type<ValueTypeBasisData, ValueTypeWaveFnBasisData>, ValueTypeBasisCoeff>, memorySpace>

◆ ValueType

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

Constructor & Destructor Documentation

◆ ~ElectrostaticFE()

template<typename ValueTypeBasisData , typename ValueTypeBasisCoeff , typename ValueTypeWaveFnBasisData , utils::MemorySpace memorySpace, size_type dim>
virtual dftefe::ksdft::ElectrostaticFE< ValueTypeBasisData, ValueTypeBasisCoeff, ValueTypeWaveFnBasisData, memorySpace, dim >::~ElectrostaticFE ( )
virtualdefault

Member Function Documentation

◆ applyNonLocal()

template<typename ValueTypeBasisData , typename ValueTypeBasisCoeff , typename ValueTypeWaveFnBasisData , utils::MemorySpace memorySpace, size_type dim>
virtual void dftefe::ksdft::ElectrostaticFE< ValueTypeBasisData, ValueTypeBasisCoeff, ValueTypeWaveFnBasisData, memorySpace, dim >::applyNonLocal ( linearAlgebra::MultiVector< ValueType, memorySpace > &  X,
linearAlgebra::MultiVector< ValueType, memorySpace > &  Y,
bool  updateGhostX,
bool  updateGhostY 
) const
pure virtual

◆ getEnergy()

◆ getFunctionalDerivative()

template<typename ValueTypeBasisData , typename ValueTypeBasisCoeff , typename ValueTypeWaveFnBasisData , utils::MemorySpace memorySpace, size_type dim>
virtual const quadrature::QuadratureValuesContainer< ValueType, memorySpace > & dftefe::ksdft::ElectrostaticFE< ValueTypeBasisData, ValueTypeBasisCoeff, ValueTypeWaveFnBasisData, memorySpace, dim >::getFunctionalDerivative ( ) const
pure virtual

◆ getLocal()

template<typename ValueTypeBasisData , typename ValueTypeBasisCoeff , typename ValueTypeWaveFnBasisData , utils::MemorySpace memorySpace, size_type dim>
virtual void dftefe::ksdft::ElectrostaticFE< ValueTypeBasisData, ValueTypeBasisCoeff, ValueTypeWaveFnBasisData, memorySpace, dim >::getLocal ( Storage cellWiseStorage) const
pure virtual

◆ hasLocalComponent()

◆ hasNonLocalComponent()


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