Octopus 16.0
real-space, real-time, TDDFT code
pseudopotential::upf1 Class Reference

#include <upf1.hpp>

Inheritance diagram for pseudopotential::upf1:
Collaboration diagram for pseudopotential::upf1:

Public Member Functions

 upf1 (const std::string &filename, bool uniform_grid=false)
 
pseudopotential::format format () const
 
int size () const
 
std::string description () const
 
std::string symbol () const
 
int atomic_number () const
 
double mass () const
 
double valence_charge () const
 
pseudopotential::exchange exchange () const
 
pseudopotential::correlation correlation () const
 
void local_potential (std::vector< double > &potential) const
 
int nprojectors () const
 
int nprojectors_per_l (int l) const
 
void projector (int l, int i, std::vector< double > &proj) const
 
bool has_radial_function (int l) const
 
void radial_function (int l, std::vector< double > &function) const
 
void radial_potential (int l, std::vector< double > &function) const
 
bool has_nlcc () const
 
void nlcc_density (std::vector< double > &density) const
 
bool has_density () const
 
void density (std::vector< double > &val) const
 
int nwavefunctions () const
 
void wavefunction (int index, int &n, int &l, double &occ, std::vector< double > &proj) const
 
bool has_total_angular_momentum () const
 
int projector_2j (int l, int ic) const
 
int wavefunction_2j (int ii) const
 
- Public Member Functions inherited from pseudopotential::upf
 upf (bool uniform_grid)
 
double d_ij (int l, int i, int j) const
 
- Public Member Functions inherited from pseudopotential::anygrid
 anygrid (bool uniform_grid)
 
double mesh_spacing () const
 
int mesh_size () const
 
virtual void grid (std::vector< double > &val) const
 
virtual void grid_weights (std::vector< double > &val) const
 
- Public Member Functions inherited from pseudopotential::base
virtual ~base ()
 
virtual pseudopotential::type type () const
 
virtual int lmax () const
 
virtual pseudopotential::format format () const =0
 
virtual int size () const =0
 
virtual std::string description () const =0
 
virtual std::string symbol () const =0
 
virtual int atomic_number () const =0
 
virtual double mass () const =0
 
virtual double valence_charge () const =0
 
virtual int llocal () const =0
 
virtual int nchannels () const =0
 
virtual double mesh_spacing () const =0
 
virtual int mesh_size () const =0
 
virtual void local_potential (std::vector< double > &potential) const =0
 
virtual int nprojectors () const =0
 
virtual int nprojectors_per_l (int l) const =0
 
virtual void projector (int l, int i, std::vector< double > &proj) const =0
 
virtual double d_ij (int l, int i, int j) const =0
 
virtual bool has_radial_function (int l) const =0
 
virtual void radial_function (int l, std::vector< double > &function) const =0
 
virtual void radial_potential (int l, std::vector< double > &function) const =0
 
virtual void grid (std::vector< double > &val) const
 
virtual void grid_weights (std::vector< double > &val) const
 
virtual int nquad () const
 
virtual double rquad () const
 
virtual bool has_nlcc () const
 
virtual void nlcc_density (std::vector< double > &density) const
 
virtual void beta (int index, int &l, std::vector< double > &proj) const
 
virtual void dnm_zero (int nbeta, std::vector< std::vector< double > > &dnm) const
 
virtual bool has_rinner () const
 
virtual void rinner (std::vector< double > &val) const
 
virtual void qnm (int index, int &l1, int &l2, int &n, int &m, std::vector< double > &val) const
 
virtual void qfcoeff (int index, int ltot, std::vector< double > &val) const
 
virtual bool has_density () const
 
virtual void density (std::vector< double > &val) const
 
virtual int nwavefunctions () const
 
virtual void wavefunction (int index, int &n, int &l, double &occ, std::vector< double > &val) const
 
virtual pseudopotential::exchange exchange () const
 
virtual pseudopotential::correlation correlation () const
 
virtual bool has_total_angular_momentum () const
 
virtual int projector_2j (int l, int ic) const
 
virtual int wavefunction_2j (int ii) const
 

Private Attributes

std::ifstream file_
 
std::vector< char > buffer_
 
rapidxml::xml_document doc_
 
std::string symbol_
 
std::string xc_functional_
 
double zval_
 
int nwavefunctions_
 
int nprojectors_
 
std::vector< int > proj_l_
 
std::vector< int > proj_c_
 

Additional Inherited Members

- Protected Member Functions inherited from pseudopotential::upf
int llocal () const
 
int nchannels () const
 
double & d_ij (int l, int i, int j)
 
void extrapolate_first_point (std::vector< double > &function_) const
 
- Protected Member Functions inherited from pseudopotential::anygrid
void interpolate (std::vector< double > &function) const
 
- Static Protected Member Functions inherited from pseudopotential::base
template<typename Type >
static Type value (const rapidxml::xml_base<> *node)
 
- Protected Attributes inherited from pseudopotential::upf
std::vector< double > dij_
 
int llocal_
 
int start_point_
 
int nchannels_
 
- Protected Attributes inherited from pseudopotential::anygrid
bool uniform_grid_
 
std::vector< double > grid_
 
std::vector< double > grid_weights_
 
int mesh_size_
 
- Protected Attributes inherited from pseudopotential::base
std::string filename_
 
pseudopotential::type type_
 
int lmax_
 

Constructor & Destructor Documentation

◆ upf1()

pseudopotential::upf1::upf1 ( const std::string filename,
bool  uniform_grid = false 
)
inline

Member Function Documentation

◆ format()

pseudopotential::format pseudopotential::upf1::format ( ) const
inlinevirtual

Implements pseudopotential::base.

◆ size()

int pseudopotential::upf1::size ( ) const
inlinevirtual

Implements pseudopotential::base.

◆ description()

std::string pseudopotential::upf1::description ( ) const
inlinevirtual

Implements pseudopotential::base.

◆ symbol()

std::string pseudopotential::upf1::symbol ( ) const
inlinevirtual

Implements pseudopotential::base.

◆ atomic_number()

int pseudopotential::upf1::atomic_number ( ) const
inlinevirtual

Implements pseudopotential::base.

◆ mass()

double pseudopotential::upf1::mass ( ) const
inlinevirtual

Implements pseudopotential::base.

◆ valence_charge()

double pseudopotential::upf1::valence_charge ( ) const
inlinevirtual

Implements pseudopotential::base.

◆ exchange()

pseudopotential::exchange pseudopotential::upf1::exchange ( ) const
inlinevirtual

Reimplemented from pseudopotential::base.

◆ correlation()

pseudopotential::correlation pseudopotential::upf1::correlation ( ) const
inlinevirtual

Reimplemented from pseudopotential::base.

◆ local_potential()

void pseudopotential::upf1::local_potential ( std::vector< double > &  potential) const
inlinevirtual

Implements pseudopotential::base.

◆ nprojectors()

int pseudopotential::upf1::nprojectors ( ) const
inlinevirtual

Implements pseudopotential::base.

◆ nprojectors_per_l()

int pseudopotential::upf1::nprojectors_per_l ( int  l) const
inlinevirtual

Implements pseudopotential::base.

◆ projector()

void pseudopotential::upf1::projector ( int  l,
int  i,
std::vector< double > &  proj 
) const
inlinevirtual

Implements pseudopotential::base.

◆ has_radial_function()

bool pseudopotential::upf1::has_radial_function ( int  l) const
inlinevirtual

Implements pseudopotential::base.

◆ radial_function()

void pseudopotential::upf1::radial_function ( int  l,
std::vector< double > &  function 
) const
inlinevirtual

Implements pseudopotential::base.

◆ radial_potential()

void pseudopotential::upf1::radial_potential ( int  l,
std::vector< double > &  function 
) const
inlinevirtual

Implements pseudopotential::base.

◆ has_nlcc()

bool pseudopotential::upf1::has_nlcc ( ) const
inlinevirtual

Reimplemented from pseudopotential::base.

◆ nlcc_density()

void pseudopotential::upf1::nlcc_density ( std::vector< double > &  density) const
inlinevirtual

Reimplemented from pseudopotential::base.

◆ has_density()

bool pseudopotential::upf1::has_density ( ) const
inlinevirtual

Reimplemented from pseudopotential::base.

◆ density()

void pseudopotential::upf1::density ( std::vector< double > &  val) const
inlinevirtual

Reimplemented from pseudopotential::base.

◆ nwavefunctions()

int pseudopotential::upf1::nwavefunctions ( ) const
inlinevirtual

Reimplemented from pseudopotential::base.

◆ wavefunction()

void pseudopotential::upf1::wavefunction ( int  index,
int &  n,
int &  l,
double &  occ,
std::vector< double > &  proj 
) const
inlinevirtual

Reimplemented from pseudopotential::base.

◆ has_total_angular_momentum()

bool pseudopotential::upf1::has_total_angular_momentum ( ) const
inlinevirtual

Reimplemented from pseudopotential::base.

◆ projector_2j()

int pseudopotential::upf1::projector_2j ( int  l,
int  ic 
) const
inlinevirtual

Reimplemented from pseudopotential::base.

◆ wavefunction_2j()

int pseudopotential::upf1::wavefunction_2j ( int  ii) const
inlinevirtual

Reimplemented from pseudopotential::base.

Member Data Documentation

◆ file_

std::ifstream pseudopotential::upf1::file_
private

◆ buffer_

std::vector<char> pseudopotential::upf1::buffer_
private

◆ doc_

rapidxml::xml_document pseudopotential::upf1::doc_
private

◆ symbol_

std::string pseudopotential::upf1::symbol_
private

◆ xc_functional_

std::string pseudopotential::upf1::xc_functional_
private

◆ zval_

double pseudopotential::upf1::zval_
private

◆ nwavefunctions_

int pseudopotential::upf1::nwavefunctions_
private

◆ nprojectors_

int pseudopotential::upf1::nprojectors_
private

◆ proj_l_

std::vector<int> pseudopotential::upf1::proj_l_
private

◆ proj_c_

std::vector<int> pseudopotential::upf1::proj_c_
private

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