DFT-EFE
 
Loading...
Searching...
No Matches
dftefe::basis::Field< ValueTypeBasisCoeff, memorySpace > Class Template Reference

#include <Field.h>

Public Types

using value_type = typename linearAlgebra::MultiVector< ValueTypeBasisCoeff, memorySpace >::value_type
 
using pointer = typename linearAlgebra::MultiVector< ValueTypeBasisCoeff, memorySpace >::pointer
 
using reference = typename linearAlgebra::MultiVector< ValueTypeBasisCoeff, memorySpace >::reference
 
using const_reference = typename linearAlgebra::MultiVector< ValueTypeBasisCoeff, memorySpace >::const_reference
 
using iterator = typename linearAlgebra::MultiVector< ValueTypeBasisCoeff, memorySpace >::iterator
 
using const_iterator = typename linearAlgebra::MultiVector< ValueTypeBasisCoeff, memorySpace >::const_iterator
 

Public Member Functions

 Field (std::shared_ptr< const BasisManager< ValueTypeBasisCoeff, memorySpace > > basisManager, const size_type numVectors, std::shared_ptr< dftefe::linearAlgebra::LinAlgOpContext< memorySpace > > linAlgOpContext)
 
 ~Field ()=default
 
void reinit (std::shared_ptr< const BasisManager< ValueTypeBasisCoeff, memorySpace > > basisManager, const size_type numVectors, std::shared_ptr< dftefe::linearAlgebra::LinAlgOpContext< memorySpace > > linAlgOpContext)
 
void applyConstraintsParentToChild ()
 
void applyConstraintsChildToParent ()
 
linearAlgebra::MultiVector< ValueTypeBasisCoeff, memorySpace > & getVector ()
 
const linearAlgebra::MultiVector< ValueTypeBasisCoeff, memorySpace > & getVector () const
 
const BasisManager< ValueTypeBasisCoeff, memorySpace > & getBasisManager () const
 
iterator begin ()
 
const_iterator begin () const
 
iterator end ()
 
const_iterator end () const
 
void updateGhostValues (const size_type communicationChannel=0)
 
void accumulateAddLocallyOwned (const size_type communicationChannel=0)
 
void updateGhostValuesBegin (const size_type communicationChannel=0)
 
void updateGhostValuesEnd ()
 
void accumulateAddLocallyOwnedBegin (const size_type communicationChannel=0)
 
void accumulateAddLocallyOwnedEnd ()
 
linearAlgebra::LinAlgOpContext< memorySpace > & getLinAlgOpContext () const
 

Private Attributes

std::shared_ptr< dftefe::linearAlgebra::LinAlgOpContext< memorySpace > > d_linAlgOpContext
 
std::shared_ptr< const BasisManager< ValueTypeBasisCoeff, memorySpace > > d_basisManager
 
std::shared_ptr< linearAlgebra::MultiVector< ValueTypeBasisCoeff, memorySpace > > d_vector
 

Detailed Description

template<typename ValueTypeBasisCoeff, utils::MemorySpace memorySpace>
class dftefe::basis::Field< ValueTypeBasisCoeff, memorySpace >

An abstract class to handle a physical field, such as Kohn-Sham orbital, electrostatic potential, etc

Member Typedef Documentation

◆ const_iterator

template<typename ValueTypeBasisCoeff , utils::MemorySpace memorySpace>
using dftefe::basis::Field< ValueTypeBasisCoeff, memorySpace >::const_iterator = typename linearAlgebra::MultiVector<ValueTypeBasisCoeff, memorySpace>::const_iterator

◆ const_reference

template<typename ValueTypeBasisCoeff , utils::MemorySpace memorySpace>
using dftefe::basis::Field< ValueTypeBasisCoeff, memorySpace >::const_reference = typename linearAlgebra::MultiVector<ValueTypeBasisCoeff, memorySpace>::const_reference

◆ iterator

template<typename ValueTypeBasisCoeff , utils::MemorySpace memorySpace>
using dftefe::basis::Field< ValueTypeBasisCoeff, memorySpace >::iterator = typename linearAlgebra::MultiVector<ValueTypeBasisCoeff, memorySpace>::iterator

◆ pointer

template<typename ValueTypeBasisCoeff , utils::MemorySpace memorySpace>
using dftefe::basis::Field< ValueTypeBasisCoeff, memorySpace >::pointer = typename linearAlgebra::MultiVector<ValueTypeBasisCoeff, memorySpace>::pointer

◆ reference

template<typename ValueTypeBasisCoeff , utils::MemorySpace memorySpace>
using dftefe::basis::Field< ValueTypeBasisCoeff, memorySpace >::reference = typename linearAlgebra::MultiVector<ValueTypeBasisCoeff, memorySpace>::reference

◆ value_type

template<typename ValueTypeBasisCoeff , utils::MemorySpace memorySpace>
using dftefe::basis::Field< ValueTypeBasisCoeff, memorySpace >::value_type = typename linearAlgebra::MultiVector<ValueTypeBasisCoeff, memorySpace>::value_type

Constructor & Destructor Documentation

◆ Field()

template<typename ValueTypeBasisCoeff , utils::MemorySpace memorySpace>
dftefe::basis::Field< ValueTypeBasisCoeff, memorySpace >::Field ( std::shared_ptr< const BasisManager< ValueTypeBasisCoeff, memorySpace > >  basisManager,
const size_type  numVectors,
std::shared_ptr< dftefe::linearAlgebra::LinAlgOpContext< memorySpace > >  linAlgOpContext 
)

◆ ~Field()

template<typename ValueTypeBasisCoeff , utils::MemorySpace memorySpace>
dftefe::basis::Field< ValueTypeBasisCoeff, memorySpace >::~Field ( )
default

Member Function Documentation

◆ accumulateAddLocallyOwned()

template<typename ValueTypeBasisCoeff , utils::MemorySpace memorySpace>
void dftefe::basis::Field< ValueTypeBasisCoeff, memorySpace >::accumulateAddLocallyOwned ( const size_type  communicationChannel = 0)

◆ accumulateAddLocallyOwnedBegin()

template<typename ValueTypeBasisCoeff , utils::MemorySpace memorySpace>
void dftefe::basis::Field< ValueTypeBasisCoeff, memorySpace >::accumulateAddLocallyOwnedBegin ( const size_type  communicationChannel = 0)

◆ accumulateAddLocallyOwnedEnd()

template<typename ValueTypeBasisCoeff , utils::MemorySpace memorySpace>
void dftefe::basis::Field< ValueTypeBasisCoeff, memorySpace >::accumulateAddLocallyOwnedEnd

◆ applyConstraintsChildToParent()

template<typename ValueTypeBasisCoeff , utils::MemorySpace memorySpace>
void dftefe::basis::Field< ValueTypeBasisCoeff, memorySpace >::applyConstraintsChildToParent
Here is the call graph for this function:

◆ applyConstraintsParentToChild()

template<typename ValueTypeBasisCoeff , utils::MemorySpace memorySpace>
void dftefe::basis::Field< ValueTypeBasisCoeff, memorySpace >::applyConstraintsParentToChild
Here is the call graph for this function:
Here is the caller graph for this function:

◆ begin() [1/2]

template<typename ValueTypeBasisCoeff , utils::MemorySpace memorySpace>
Field< ValueTypeBasisCoeff, memorySpace >::iterator dftefe::basis::Field< ValueTypeBasisCoeff, memorySpace >::begin
Here is the caller graph for this function:

◆ begin() [2/2]

template<typename ValueTypeBasisCoeff , utils::MemorySpace memorySpace>
Field< ValueTypeBasisCoeff, memorySpace >::const_iterator dftefe::basis::Field< ValueTypeBasisCoeff, memorySpace >::begin

◆ end() [1/2]

template<typename ValueTypeBasisCoeff , utils::MemorySpace memorySpace>
Field< ValueTypeBasisCoeff, memorySpace >::iterator dftefe::basis::Field< ValueTypeBasisCoeff, memorySpace >::end

◆ end() [2/2]

template<typename ValueTypeBasisCoeff , utils::MemorySpace memorySpace>
Field< ValueTypeBasisCoeff, memorySpace >::const_iterator dftefe::basis::Field< ValueTypeBasisCoeff, memorySpace >::end

◆ getBasisManager()

template<typename ValueTypeBasisCoeff , utils::MemorySpace memorySpace>
const BasisManager< ValueTypeBasisCoeff, memorySpace > & dftefe::basis::Field< ValueTypeBasisCoeff, memorySpace >::getBasisManager
Here is the caller graph for this function:

◆ getLinAlgOpContext()

template<typename ValueTypeBasisCoeff , utils::MemorySpace memorySpace>
linearAlgebra::LinAlgOpContext< memorySpace > & dftefe::basis::Field< ValueTypeBasisCoeff, memorySpace >::getLinAlgOpContext

◆ getVector() [1/2]

template<typename ValueTypeBasisCoeff , utils::MemorySpace memorySpace>
linearAlgebra::MultiVector< ValueTypeBasisCoeff, memorySpace > & dftefe::basis::Field< ValueTypeBasisCoeff, memorySpace >::getVector
Here is the caller graph for this function:

◆ getVector() [2/2]

template<typename ValueTypeBasisCoeff , utils::MemorySpace memorySpace>
const linearAlgebra::MultiVector< ValueTypeBasisCoeff, memorySpace > & dftefe::basis::Field< ValueTypeBasisCoeff, memorySpace >::getVector

◆ reinit()

template<typename ValueTypeBasisCoeff , utils::MemorySpace memorySpace>
void dftefe::basis::Field< ValueTypeBasisCoeff, memorySpace >::reinit ( std::shared_ptr< const BasisManager< ValueTypeBasisCoeff, memorySpace > >  basisManager,
const size_type  numVectors,
std::shared_ptr< dftefe::linearAlgebra::LinAlgOpContext< memorySpace > >  linAlgOpContext 
)

◆ updateGhostValues()

template<typename ValueTypeBasisCoeff , utils::MemorySpace memorySpace>
void dftefe::basis::Field< ValueTypeBasisCoeff, memorySpace >::updateGhostValues ( const size_type  communicationChannel = 0)
Here is the caller graph for this function:

◆ updateGhostValuesBegin()

template<typename ValueTypeBasisCoeff , utils::MemorySpace memorySpace>
void dftefe::basis::Field< ValueTypeBasisCoeff, memorySpace >::updateGhostValuesBegin ( const size_type  communicationChannel = 0)

◆ updateGhostValuesEnd()

template<typename ValueTypeBasisCoeff , utils::MemorySpace memorySpace>
void dftefe::basis::Field< ValueTypeBasisCoeff, memorySpace >::updateGhostValuesEnd

Member Data Documentation

◆ d_basisManager

template<typename ValueTypeBasisCoeff , utils::MemorySpace memorySpace>
std::shared_ptr<const BasisManager<ValueTypeBasisCoeff, memorySpace> > dftefe::basis::Field< ValueTypeBasisCoeff, memorySpace >::d_basisManager
private

◆ d_linAlgOpContext

template<typename ValueTypeBasisCoeff , utils::MemorySpace memorySpace>
std::shared_ptr<dftefe::linearAlgebra::LinAlgOpContext<memorySpace> > dftefe::basis::Field< ValueTypeBasisCoeff, memorySpace >::d_linAlgOpContext
private

◆ d_vector

template<typename ValueTypeBasisCoeff , utils::MemorySpace memorySpace>
std::shared_ptr< linearAlgebra::MultiVector<ValueTypeBasisCoeff, memorySpace> > dftefe::basis::Field< ValueTypeBasisCoeff, memorySpace >::d_vector
private

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