MADNESS 0.10.1
Public Member Functions | Private Types | Private Attributes | List of all members
madness::Subspace< T, NDIM > Class Template Reference

The SubspaceK class is a container class holding previous orbitals and residuals. More...

#include <solver.h>

Collaboration diagram for madness::Subspace< T, NDIM >:
Collaboration graph
[legend]

Public Member Functions

 Subspace (World &world, const ElectronicStructureParams &params)
 
void reproject ()
 
void update_subspace (vecfuncT &awfs_new, vecfuncT &bwfs_new, const vecfuncT &awfs_old, const vecfuncT &bwfs_old, const vecfuncT &rm)
 

Private Types

typedef Function< valueT, NDIMfunctionT
 
typedef std::pair< vecfuncT, vecfuncTpairvecfuncT
 
typedef std::vector< pairvecfuncTsubspaceT
 
typedef Tensor< valueTtensorT
 
typedef std::complex< TvalueT
 
typedef std::vector< functionTvecfuncT
 

Private Attributes

std::vector< KPoint_kpoints
 
ElectronicStructureParams _params
 
tensorT _Q
 
subspaceT _subspace
 
World_world
 

Detailed Description

template<typename T, int NDIM>
class madness::Subspace< T, NDIM >

The SubspaceK class is a container class holding previous orbitals and residuals.

The Solver class uses the Krylov Accelerated Inexact Newton Solver (KAIN) accelerate the convergence a given calculation. The KAIN solver needs to store a subspace of previous orbitals and residuals.

Member Typedef Documentation

◆ functionT

template<typename T , int NDIM>
typedef Function<valueT,NDIM> madness::Subspace< T, NDIM >::functionT
private

◆ pairvecfuncT

template<typename T , int NDIM>
typedef std::pair<vecfuncT,vecfuncT> madness::Subspace< T, NDIM >::pairvecfuncT
private

◆ subspaceT

template<typename T , int NDIM>
typedef std::vector<pairvecfuncT> madness::Subspace< T, NDIM >::subspaceT
private

◆ tensorT

template<typename T , int NDIM>
typedef Tensor<valueT> madness::Subspace< T, NDIM >::tensorT
private

◆ valueT

template<typename T , int NDIM>
typedef std::complex<T> madness::Subspace< T, NDIM >::valueT
private

◆ vecfuncT

template<typename T , int NDIM>
typedef std::vector<functionT> madness::Subspace< T, NDIM >::vecfuncT
private

Constructor & Destructor Documentation

◆ Subspace()

template<typename T , int NDIM>
madness::Subspace< T, NDIM >::Subspace ( World world,
const ElectronicStructureParams params 
)
inline

Member Function Documentation

◆ reproject()

template<typename T , int NDIM>
void madness::Subspace< T, NDIM >::reproject ( )
inline

◆ update_subspace()

template<typename T , int NDIM>
void madness::Subspace< T, NDIM >::update_subspace ( vecfuncT awfs_new,
vecfuncT bwfs_new,
const vecfuncT awfs_old,
const vecfuncT bwfs_old,
const vecfuncT rm 
)
inline

Member Data Documentation

◆ _kpoints

template<typename T , int NDIM>
std::vector<KPoint> madness::Subspace< T, NDIM >::_kpoints
private

◆ _params

template<typename T , int NDIM>
ElectronicStructureParams madness::Subspace< T, NDIM >::_params
private

◆ _Q

template<typename T , int NDIM>
tensorT madness::Subspace< T, NDIM >::_Q
private

◆ _subspace

template<typename T , int NDIM>
subspaceT madness::Subspace< T, NDIM >::_subspace
private

◆ _world

template<typename T , int NDIM>
World& madness::Subspace< T, NDIM >::_world
private

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