SIRIUS 7.5.0
Electronic structure library and applications
Public Member Functions | Protected Attributes | Private Member Functions | Private Attributes | List of all members
sirius::Atom_type Class Reference

Defines the properties of atom type. More...

#include <atom_type.hpp>

Public Member Functions

 Atom_type (Simulation_parameters const &parameters__, std::string symbol__, std::string name__, int zn__, double mass__, std::vector< atomic_level_descriptor > const &levels__)
 Constructor. More...
 
 Atom_type (Simulation_parameters const &parameters__, int id__, std::string label__, std::string file_name__)
 Constructor. More...
 
 Atom_type (Atom_type &&src)=default
 Move constructor.
 
void init ()
 Initialize the atom type. More...
 
void init_free_atom_density (bool smooth)
 Initialize the free atom density (smooth or true). More...
 
void add_hubbard_orbital (int n__, int l__, double occ__, double U, double J, const double *hub_coef__, double alpha__, double beta__, double J0__, std::vector< double > initial_occupancy__, const bool use_for_calculations__)
 Add a hubbard orbital to a list. More...
 
void print_info (std::ostream &out__) const
 Print basic info to standard output. More...
 
void set_radial_grid (radial_grid_t grid_type__, int num_points__, double rmin__, double rmax__, double p__)
 Set the radial grid of the given type. More...
 
void set_radial_grid (int num_points__, double const *points__)
 Set external radial grid. More...
 
void set_free_atom_radial_grid (int num_points__, double const *points__)
 Set radial grid of the free atom. More...
 
void set_free_atom_radial_grid (Radial_grid< double > &&rgrid__)
 
void add_aw_descriptor (int n, int l, double enu, int dme, int auto_enu)
 Add augmented-wave descriptor. More...
 
void add_lo_descriptor (int ilo, int n, int l, double enu, int dme, int auto_enu)
 Add local orbital descriptor. More...
 
void add_lo_descriptor (local_orbital_descriptor const &lod__)
 Add the entire local orbital descriptor. More...
 
void add_ps_atomic_wf (int n__, angular_momentum am__, std::vector< double > f__, double occ__=0.0)
 Add atomic radial function to the list. More...
 
auto const & ps_atomic_wf (int idx__) const
 Return a tuple describing a given atomic radial function. More...
 
void add_beta_radial_function (angular_momentum am__, std::vector< double > beta__)
 Add a radial function of beta-projector to a list of functions. More...
 
int num_beta_radial_functions () const
 Number of beta-radial functions. More...
 
auto const & beta_radial_function (rf_index idxrf__) const
 Return a radial beta function. More...
 
void add_q_radial_function (int idxrf1__, int idxrf2__, int l__, std::vector< double > qrf__)
 Add radial function of the augmentation charge. More...
 
bool augment () const
 Return true if this atom type has an augementation charge. More...
 
std::vector< double > & local_potential (std::vector< double > vloc__)
 Set the radial function of the local potential. More...
 
std::vector< double > const & local_potential () const
 Get the radial function of the local potential. More...
 
std::vector< double > & ps_core_charge_density (std::vector< double > ps_core__)
 
std::vector< double > const & ps_core_charge_density () const
 
std::vector< double > & ps_total_charge_density (std::vector< double > ps_dens__)
 
std::vector< double > const & ps_total_charge_density () const
 
void add_ae_paw_wf (std::vector< double > f__)
 Add all-electron PAW wave-function. More...
 
std::vector< double > const & ae_paw_wf (int i__) const
 Get all-electron PAW wave-function. More...
 
int num_ae_paw_wf () const
 Get the number of all-electron PAW wave-functions. More...
 
void add_ps_paw_wf (std::vector< double > f__)
 
std::vector< double > const & ps_paw_wf (int i__) const
 
int num_ps_paw_wf () const
 
auto const & ae_paw_wfs_array () const
 
auto const & ps_paw_wfs_array () const
 
auto const & paw_ae_core_charge_density () const
 
auto & paw_ae_core_charge_density (std::vector< double > inp__)
 
auto const & paw_wf_occ () const
 
auto & paw_wf_occ (std::vector< double > inp__)
 
int id () const
 Return atom type id. More...
 
int zn () const
 Return ionic charge (as positive integer). More...
 
int zn (int zn__)
 Set ionic charge. More...
 
std::string const & symbol () const
 
std::string const & name () const
 
double mass () const
 Return atomic mass. More...
 
double mt_radius () const
 Return muffin-tin radius. More...
 
int num_mt_points () const
 Return number of muffin-tin radial grid points. More...
 
Radial_grid< double > const & radial_grid () const
 
Radial_grid< double > const & free_atom_radial_grid () const
 
double radial_grid (int ir) const
 
double free_atom_radial_grid (int ir) const
 
int num_atomic_levels () const
 
atomic_level_descriptor const & atomic_level (int idx) const
 
double num_core_electrons () const
 
double num_valence_electrons () const
 
double free_atom_density (const int idx) const
 Get free atom density at i-th point of radial grid. More...
 
double free_atom_density (double x) const
 Get free atom density at point x. More...
 
void free_atom_density (std::vector< double > rho__)
 Set the free atom all-electron density. More...
 
int num_aw_descriptors () const
 
auto const & aw_descriptor (int l) const
 
int num_lo_descriptors () const
 
auto const & lo_descriptor (int idx) const
 
int max_aw_order () const
 
int aw_order (int l__) const
 Order of augmented wave radial functions for a given l. More...
 
auto const & indexr () const
 Return const reference to the index of radial functions. More...
 
auto const & indexr_wfs () const
 
auto const & indexr_hub () const
 
auto const & indexr (int i) const
 
int indexr_by_l_order (int l, int order) const
 
int indexr_by_idxlo (int idxlo) const
 
auto const & indexb () const
 
auto const & indexb (int i) const
 
int indexb_by_l_m_order (int l, int m, int order) const
 
int indexb_by_lm_order (int lm, int order) const
 
int mt_aw_basis_size () const
 
int mt_lo_basis_size () const
 
int mt_basis_size () const
 Total number of muffin-tin basis functions (APW + LO). More...
 
int mt_radial_basis_size () const
 Total number of radial basis functions. More...
 
auto const & indexb_wfs () const
 
auto const & indexb_hub () const
 Return whole index of hubbard basis functions. More...
 
auto const & hubbard_radial_function (int i) const
 
void set_symbol (const std::string symbol__)
 
void set_zn (int zn__)
 
void set_mass (double mass__)
 
void set_configuration (int n, int l, int k, double occupancy, bool core)
 
int num_atoms () const
 Return number of atoms of a given type. More...
 
int atom_id (int idx) const
 Return atom ID (global index) by the index of atom within a given type. More...
 
void add_atom_id (int atom_id__)
 Add global index of atom to this atom type. More...
 
bool initialized () const
 
std::string const & label () const
 
std::string const & file_name () const
 
void d_mtrx_ion (sddk::matrix< double > const &d_mtrx_ion__)
 
auto const & d_mtrx_ion () const
 
bool is_paw () const
 
bool is_paw (bool is_paw__)
 
double paw_core_energy () const
 
double paw_core_energy (double paw_core_energy__)
 
auto const & idx_radial_integrals () const
 
auto & rf_coef () const
 
auto & vrf_coef () const
 
auto const & parameters () const
 
auto f_coefficients (int xi1, int xi2, int s1, int s2) const
 
auto const & q_radial_function (int idxrf1__, int idxrf2__, int l__) const
 
bool spin_orbit_coupling () const
 
bool spin_orbit_coupling (bool so__)
 
bool hubbard_correction () const
 Get the Hubbard correction switch. More...
 
bool hubbard_correction (bool ldapu__)
 Set the Hubbard correction switch. More...
 
bool compare_index_beta_functions (const int xi, const int xj) const
 Compare indices of beta projectors. More...
 
const auto & lo_descriptor_hub () const
 
auto const & lo_descriptor_hub (int idx__) const
 
int lmax_apw () const
 
int lmmax_apw () const
 
int lmax_lo () const
 
int lmax_ps_atomic_wf () const
 Return maximum orbital quantum number for the atomic wave-functions. More...
 
int lmax_beta () const
 Maximum orbital quantum number between all beta-projector radial functions. More...
 
auto const & gaunt_coefs () const
 

Protected Attributes

Radial_grid< double > radial_grid_
 Radial grid of the muffin-tin sphere. More...
 
Spline< double > free_atom_density_spline_
 Density of a free atom. More...
 
std::vector< double > free_atom_density_
 Density of a free atom as read from the input file. More...
 
Radial_grid< double > free_atom_radial_grid_
 Radial grid of a free atom. More...
 

Private Member Functions

void read_hubbard_input ()
 Pass information from the hubbard input section (parsed in input.hpp) to the atom type. More...
 
void generate_f_coefficients ()
 Generate coefficients used in spin-orbit case. More...
 
void read_input_core (nlohmann::json const &parser)
 
void read_input_aw (nlohmann::json const &parser)
 
void read_input_lo (nlohmann::json const &parser)
 
void read_pseudo_uspp (nlohmann::json const &parser)
 
void read_pseudo_paw (nlohmann::json const &parser)
 
void read_input (std::string const &str__)
 Read atomic parameters from json file or string. More...
 
void init_aw_descriptors ()
 Initialize descriptors of the augmented-wave radial functions. More...
 
 Atom_type (Atom_type const &src)=delete
 
Atom_typeoperator= (Atom_type const &src)=delete
 

Private Attributes

Simulation_parameters const & parameters_
 Basic parameters. More...
 
int id_ {-1}
 Unique id of atom type in the range [0, \( N_{types} \)). More...
 
std::string label_
 Unique string label for the atom type. More...
 
std::string symbol_
 Chemical element symbol. More...
 
std::string name_
 Chemical element name. More...
 
int zn_ {0}
 Nucleus charge or pseudocharge, treated as positive(!) integer. More...
 
double mass_ {0}
 Atom mass. More...
 
std::vector< atomic_level_descriptoratomic_levels_
 List of atomic levels. More...
 
double num_core_electrons_ {0}
 Number of core electrons. More...
 
double num_valence_electrons_ {0}
 Number of valence electrons. More...
 
radial_solution_descriptor_set aw_default_l_
 Default augmented wave configuration. More...
 
std::vector< radial_solution_descriptor_setaw_specific_l_
 Augmented wave configuration for specific l. More...
 
std::vector< radial_solution_descriptor_setaw_descriptors_
 List of radial descriptor sets used to construct augmented waves. More...
 
std::vector< local_orbital_descriptorlo_descriptors_
 List of radial descriptor sets used to construct local orbitals. More...
 
int max_aw_order_ {0}
 Maximum number of AW radial functions across angular momentums. More...
 
radial_functions_index indexr_
 Index of radial basis functions. More...
 
basis_functions_index indexb_
 Index of atomic basis functions (radial function * spherical harmonic). More...
 
radial_functions_index indexr_wfs_
 Index for the radial atomic functions. More...
 
basis_functions_index indexb_wfs_
 Index of atomic wavefunctions (radial function * spherical harmonic). More...
 
std::vector< hubbard_orbital_descriptorlo_descriptors_hub_
 List of Hubbard orbital descriptors. More...
 
radial_functions_index indexr_hub_
 Index of radial functions for hubbard orbitals. More...
 
basis_functions_index indexb_hub_
 Index of basis functions for hubbard orbitals. More...
 
std::vector< std::pair< angular_momentum, Spline< double > > > beta_radial_functions_
 Radial functions of beta-projectors. More...
 
std::vector< ps_atomic_wf_descriptorps_atomic_wfs_
 Atomic wave-functions used to setup the initial subspace and to apply U-correction. More...
 
sddk::mdarray< Spline< double >, 2 > q_radial_functions_l_
 Radial functions of the Q-operator. More...
 
bool augment_ {false}
 True if the pseudopotential is soft and charge augmentation is required. More...
 
std::vector< double > local_potential_
 Local part of pseudopotential. More...
 
std::vector< double > ps_core_charge_density_
 Pseudo-core charge density (used by PP-PW method in non-linear core correction). More...
 
std::vector< double > ps_total_charge_density_
 Total pseudo-charge density (used by PP-PW method to setup initial density). More...
 
sddk::mdarray< double, 2 > d_mtrx_ion_
 Ionic part of D-operator matrix. More...
 
bool is_paw_ {false}
 True if the pseudopotential is used for PAW. More...
 
bool paw_core_energy_ {0}
 Core energy of PAW. More...
 
std::vector< std::vector< double > > ae_paw_wfs_
 List of all-electron wave functions of the PAW method. More...
 
sddk::mdarray< double, 2 > ae_paw_wfs_array_
 All-electron wave functions of the PAW method packed in a single array. More...
 
std::vector< std::vector< double > > ps_paw_wfs_
 List of pseudo wave functions of the PAW method. More...
 
sddk::mdarray< double, 2 > ps_paw_wfs_array_
 Pseudo wave functions of the PAW method packed in a single array. More...
 
std::vector< double > paw_wf_occ_
 Occupations of PAW wave-functions. More...
 
std::vector< double > paw_ae_core_charge_density_
 Core electron contribution to all electron charge density in PAW method. More...
 
bool spin_orbit_coupling_ {false}
 True if the pseudo potential includes spin orbit coupling. More...
 
bool hubbard_correction_ {false}
 Hubbard correction. More...
 
sddk::matrix< std::complex< double > > p_mtrx_
 Inverse of (Q_{\xi \xi'j}^{-1} + beta_pw^{H}_{\xi} * beta_pw_{xi'}) More...
 
sddk::mdarray< std::complex< double >, 4 > f_coefficients_
 
std::vector< int > atom_id_
 List of atom indices (global) for a given type. More...
 
std::string file_name_
 Name of the input file for this atom type. More...
 
sddk::mdarray< int, 2 > idx_radial_integrals_
 
sddk::mdarray< double, 3 > rf_coef_
 
sddk::mdarray< double, 3 > vrf_coef_
 
std::unique_ptr< Gaunt_coefficients< std::complex< double > > > gaunt_coefs_ {nullptr}
 Non-zero Gaunt coefficients. More...
 
int lmax_apw_ {-1}
 Maximul orbital quantum number of LAPW basis functions. More...
 
bool initialized_ {false}
 True if the atom type was initialized. More...
 

Detailed Description

Defines the properties of atom type.

Atoms wth the same properties are grouped by type.

Definition at line 92 of file atom_type.hpp.

Constructor & Destructor Documentation

◆ Atom_type() [1/2]

sirius::Atom_type::Atom_type ( Simulation_parameters const &  parameters__,
std::string  symbol__,
std::string  name__,
int  zn__,
double  mass__,
std::vector< atomic_level_descriptor > const &  levels__ 
)
inline

Constructor.

Basic parameters of atom type are passed as constructor arguments.

Definition at line 339 of file atom_type.hpp.

◆ Atom_type() [2/2]

sirius::Atom_type::Atom_type ( Simulation_parameters const &  parameters__,
int  id__,
std::string  label__,
std::string  file_name__ 
)
inline

Constructor.

ID of atom type and label are passed as arguments. The rest of parameters are obtained from the species input file.

Definition at line 353 of file atom_type.hpp.

Member Function Documentation

◆ read_hubbard_input()

void sirius::Atom_type::read_hubbard_input ( )
private

Pass information from the hubbard input section (parsed in input.hpp) to the atom type.

Definition at line 803 of file atom_type.cpp.

◆ generate_f_coefficients()

void sirius::Atom_type::generate_f_coefficients ( )
private

Generate coefficients used in spin-orbit case.

Definition at line 749 of file atom_type.cpp.

◆ read_input_core()

void sirius::Atom_type::read_input_core ( nlohmann::json const &  parser)
inlineprivate

Definition at line 382 of file atom_type.cpp.

◆ read_input_aw()

void sirius::Atom_type::read_input_aw ( nlohmann::json const &  parser)
inlineprivate

Definition at line 444 of file atom_type.cpp.

◆ read_input_lo()

void sirius::Atom_type::read_input_lo ( nlohmann::json const &  parser)
inlineprivate

Definition at line 474 of file atom_type.cpp.

◆ read_pseudo_uspp()

void sirius::Atom_type::read_pseudo_uspp ( nlohmann::json const &  parser)
inlineprivate

Definition at line 504 of file atom_type.cpp.

◆ read_pseudo_paw()

void sirius::Atom_type::read_pseudo_paw ( nlohmann::json const &  parser)
inlineprivate

Definition at line 646 of file atom_type.cpp.

◆ read_input()

void sirius::Atom_type::read_input ( std::string const &  str__)
inlineprivate

Read atomic parameters from json file or string.

Definition at line 701 of file atom_type.cpp.

◆ init_aw_descriptors()

void sirius::Atom_type::init_aw_descriptors ( )
inlineprivate

Initialize descriptors of the augmented-wave radial functions.

Definition at line 291 of file atom_type.hpp.

◆ init()

void sirius::Atom_type::init ( )

Initialize the atom type.

Once the unit cell is populated with all atom types and atoms, each atom type can be initialized.

Definition at line 31 of file atom_type.cpp.

◆ init_free_atom_density()

void sirius::Atom_type::init_free_atom_density ( bool  smooth)

Initialize the free atom density (smooth or true).

  • write smoothed density *‍/

Definition at line 241 of file atom_type.cpp.

◆ add_hubbard_orbital()

void sirius::Atom_type::add_hubbard_orbital ( int  n__,
int  l__,
double  occ__,
double  U,
double  J,
const double *  hub_coef__,
double  alpha__,
double  beta__,
double  J0__,
std::vector< double >  initial_occupancy__,
const bool  use_for_calculations__ 
)

Add a hubbard orbital to a list.

All atomic functions must already be loaded prior to callinig this function. Atomic wave-functions (chi in the uspp file) are used as a definition of "localized orbitals" to which U-correction is applied. Full treatment of spin is not considered. In case of spinor wave-functions the are averaged between l+1/2 and l-1/2 states.

Definition at line 889 of file atom_type.cpp.

◆ print_info()

void sirius::Atom_type::print_info ( std::ostream &  out__) const

Print basic info to standard output.

Definition at line 277 of file atom_type.cpp.

◆ set_radial_grid() [1/2]

void sirius::Atom_type::set_radial_grid ( radial_grid_t  grid_type__,
int  num_points__,
double  rmin__,
double  rmax__,
double  p__ 
)
inline

Set the radial grid of the given type.

Definition at line 384 of file atom_type.hpp.

◆ set_radial_grid() [2/2]

void sirius::Atom_type::set_radial_grid ( int  num_points__,
double const *  points__ 
)
inline

Set external radial grid.

Definition at line 393 of file atom_type.hpp.

◆ set_free_atom_radial_grid() [1/2]

void sirius::Atom_type::set_free_atom_radial_grid ( int  num_points__,
double const *  points__ 
)
inline

Set radial grid of the free atom.

The grid is extended to effective infinity (usually > 100 a.u.)

Definition at line 403 of file atom_type.hpp.

◆ set_free_atom_radial_grid() [2/2]

void sirius::Atom_type::set_free_atom_radial_grid ( Radial_grid< double > &&  rgrid__)
inline

Definition at line 411 of file atom_type.hpp.

◆ add_aw_descriptor()

void sirius::Atom_type::add_aw_descriptor ( int  n,
int  l,
double  enu,
int  dme,
int  auto_enu 
)
inline

Add augmented-wave descriptor.

Definition at line 417 of file atom_type.hpp.

◆ add_lo_descriptor() [1/2]

void sirius::Atom_type::add_lo_descriptor ( int  ilo,
int  n,
int  l,
double  enu,
int  dme,
int  auto_enu 
)
inline

Add local orbital descriptor.

Definition at line 445 of file atom_type.hpp.

◆ add_lo_descriptor() [2/2]

void sirius::Atom_type::add_lo_descriptor ( local_orbital_descriptor const &  lod__)
inline

Add the entire local orbital descriptor.

Definition at line 485 of file atom_type.hpp.

◆ add_ps_atomic_wf()

void sirius::Atom_type::add_ps_atomic_wf ( int  n__,
angular_momentum  am__,
std::vector< double >  f__,
double  occ__ = 0.0 
)
inline

Add atomic radial function to the list.

Definition at line 491 of file atom_type.hpp.

◆ ps_atomic_wf()

auto const & sirius::Atom_type::ps_atomic_wf ( int  idx__) const
inline

Return a tuple describing a given atomic radial function.

Definition at line 506 of file atom_type.hpp.

◆ add_beta_radial_function()

void sirius::Atom_type::add_beta_radial_function ( angular_momentum  am__,
std::vector< double >  beta__ 
)
inline

Add a radial function of beta-projector to a list of functions.

This is the only allowed way to add beta projectors.

Definition at line 513 of file atom_type.hpp.

◆ num_beta_radial_functions()

int sirius::Atom_type::num_beta_radial_functions ( ) const
inline

Number of beta-radial functions.

Definition at line 523 of file atom_type.hpp.

◆ beta_radial_function()

auto const & sirius::Atom_type::beta_radial_function ( rf_index  idxrf__) const
inline

Return a radial beta function.

Definition at line 529 of file atom_type.hpp.

◆ add_q_radial_function()

void sirius::Atom_type::add_q_radial_function ( int  idxrf1__,
int  idxrf2__,
int  l__,
std::vector< double >  qrf__ 
)
inline

Add radial function of the augmentation charge.

Radial functions of beta projectors must be added already. Their total number will be used to deterimine the storage size for the radial functions of the augmented charge.

Definition at line 537 of file atom_type.hpp.

◆ augment()

bool sirius::Atom_type::augment ( ) const
inline

Return true if this atom type has an augementation charge.

Definition at line 569 of file atom_type.hpp.

◆ local_potential() [1/2]

std::vector< double > & sirius::Atom_type::local_potential ( std::vector< double >  vloc__)
inline

Set the radial function of the local potential.

Definition at line 575 of file atom_type.hpp.

◆ local_potential() [2/2]

std::vector< double > const & sirius::Atom_type::local_potential ( ) const
inline

Get the radial function of the local potential.

Definition at line 582 of file atom_type.hpp.

◆ ps_core_charge_density() [1/2]

std::vector< double > & sirius::Atom_type::ps_core_charge_density ( std::vector< double >  ps_core__)
inline

Definition at line 587 of file atom_type.hpp.

◆ ps_core_charge_density() [2/2]

std::vector< double > const & sirius::Atom_type::ps_core_charge_density ( ) const
inline

Definition at line 593 of file atom_type.hpp.

◆ ps_total_charge_density() [1/2]

std::vector< double > & sirius::Atom_type::ps_total_charge_density ( std::vector< double >  ps_dens__)
inline

Definition at line 598 of file atom_type.hpp.

◆ ps_total_charge_density() [2/2]

std::vector< double > const & sirius::Atom_type::ps_total_charge_density ( ) const
inline

Definition at line 604 of file atom_type.hpp.

◆ add_ae_paw_wf()

void sirius::Atom_type::add_ae_paw_wf ( std::vector< double >  f__)
inline

Add all-electron PAW wave-function.

Definition at line 610 of file atom_type.hpp.

◆ ae_paw_wf()

std::vector< double > const & sirius::Atom_type::ae_paw_wf ( int  i__) const
inline

Get all-electron PAW wave-function.

Definition at line 616 of file atom_type.hpp.

◆ num_ae_paw_wf()

int sirius::Atom_type::num_ae_paw_wf ( ) const
inline

Get the number of all-electron PAW wave-functions.

Definition at line 622 of file atom_type.hpp.

◆ add_ps_paw_wf()

void sirius::Atom_type::add_ps_paw_wf ( std::vector< double >  f__)
inline

Definition at line 627 of file atom_type.hpp.

◆ ps_paw_wf()

std::vector< double > const & sirius::Atom_type::ps_paw_wf ( int  i__) const
inline

Definition at line 632 of file atom_type.hpp.

◆ num_ps_paw_wf()

int sirius::Atom_type::num_ps_paw_wf ( ) const
inline

Definition at line 637 of file atom_type.hpp.

◆ ae_paw_wfs_array()

auto const & sirius::Atom_type::ae_paw_wfs_array ( ) const
inline

Definition at line 642 of file atom_type.hpp.

◆ ps_paw_wfs_array()

auto const & sirius::Atom_type::ps_paw_wfs_array ( ) const
inline

Definition at line 647 of file atom_type.hpp.

◆ paw_ae_core_charge_density() [1/2]

auto const & sirius::Atom_type::paw_ae_core_charge_density ( ) const
inline

Definition at line 652 of file atom_type.hpp.

◆ paw_ae_core_charge_density() [2/2]

auto & sirius::Atom_type::paw_ae_core_charge_density ( std::vector< double >  inp__)
inline

Definition at line 657 of file atom_type.hpp.

◆ paw_wf_occ() [1/2]

auto const & sirius::Atom_type::paw_wf_occ ( ) const
inline

Definition at line 663 of file atom_type.hpp.

◆ paw_wf_occ() [2/2]

auto & sirius::Atom_type::paw_wf_occ ( std::vector< double >  inp__)
inline

Definition at line 668 of file atom_type.hpp.

◆ id()

int sirius::Atom_type::id ( ) const
inline

Return atom type id.

Definition at line 675 of file atom_type.hpp.

◆ zn() [1/2]

int sirius::Atom_type::zn ( ) const
inline

Return ionic charge (as positive integer).

Definition at line 681 of file atom_type.hpp.

◆ zn() [2/2]

int sirius::Atom_type::zn ( int  zn__)
inline

Set ionic charge.

Definition at line 688 of file atom_type.hpp.

◆ symbol()

std::string const & sirius::Atom_type::symbol ( ) const
inline

Definition at line 694 of file atom_type.hpp.

◆ name()

std::string const & sirius::Atom_type::name ( ) const
inline

Definition at line 699 of file atom_type.hpp.

◆ mass()

double sirius::Atom_type::mass ( ) const
inline

Return atomic mass.

Definition at line 705 of file atom_type.hpp.

◆ mt_radius()

double sirius::Atom_type::mt_radius ( ) const
inline

Return muffin-tin radius.

This is the last point of the radial grid.

Definition at line 712 of file atom_type.hpp.

◆ num_mt_points()

int sirius::Atom_type::num_mt_points ( ) const
inline

Return number of muffin-tin radial grid points.

Definition at line 718 of file atom_type.hpp.

◆ radial_grid() [1/2]

Radial_grid< double > const & sirius::Atom_type::radial_grid ( ) const
inline

Definition at line 724 of file atom_type.hpp.

◆ free_atom_radial_grid() [1/2]

Radial_grid< double > const & sirius::Atom_type::free_atom_radial_grid ( ) const
inline

Definition at line 730 of file atom_type.hpp.

◆ radial_grid() [2/2]

double sirius::Atom_type::radial_grid ( int  ir) const
inline

Definition at line 735 of file atom_type.hpp.

◆ free_atom_radial_grid() [2/2]

double sirius::Atom_type::free_atom_radial_grid ( int  ir) const
inline

Definition at line 740 of file atom_type.hpp.

◆ num_atomic_levels()

int sirius::Atom_type::num_atomic_levels ( ) const
inline

Definition at line 745 of file atom_type.hpp.

◆ atomic_level()

atomic_level_descriptor const & sirius::Atom_type::atomic_level ( int  idx) const
inline

Definition at line 750 of file atom_type.hpp.

◆ num_core_electrons()

double sirius::Atom_type::num_core_electrons ( ) const
inline

Definition at line 755 of file atom_type.hpp.

◆ num_valence_electrons()

double sirius::Atom_type::num_valence_electrons ( ) const
inline

Definition at line 760 of file atom_type.hpp.

◆ free_atom_density() [1/3]

double sirius::Atom_type::free_atom_density ( const int  idx) const
inline

Get free atom density at i-th point of radial grid.

Definition at line 766 of file atom_type.hpp.

◆ free_atom_density() [2/3]

double sirius::Atom_type::free_atom_density ( double  x) const
inline

Get free atom density at point x.

Definition at line 772 of file atom_type.hpp.

◆ free_atom_density() [3/3]

void sirius::Atom_type::free_atom_density ( std::vector< double >  rho__)
inline

Set the free atom all-electron density.

Definition at line 778 of file atom_type.hpp.

◆ num_aw_descriptors()

int sirius::Atom_type::num_aw_descriptors ( ) const
inline

Definition at line 783 of file atom_type.hpp.

◆ aw_descriptor()

auto const & sirius::Atom_type::aw_descriptor ( int  l) const
inline

Definition at line 788 of file atom_type.hpp.

◆ num_lo_descriptors()

int sirius::Atom_type::num_lo_descriptors ( ) const
inline

Definition at line 794 of file atom_type.hpp.

◆ lo_descriptor()

auto const & sirius::Atom_type::lo_descriptor ( int  idx) const
inline

Definition at line 799 of file atom_type.hpp.

◆ max_aw_order()

int sirius::Atom_type::max_aw_order ( ) const
inline

Definition at line 804 of file atom_type.hpp.

◆ aw_order()

int sirius::Atom_type::aw_order ( int  l__) const
inline

Order of augmented wave radial functions for a given l.

Definition at line 810 of file atom_type.hpp.

◆ indexr() [1/2]

auto const & sirius::Atom_type::indexr ( ) const
inline

Return const reference to the index of radial functions.

The index can be used to determine the total number of radial functions

Definition at line 817 of file atom_type.hpp.

◆ indexr_wfs()

auto const & sirius::Atom_type::indexr_wfs ( ) const
inline

Definition at line 822 of file atom_type.hpp.

◆ indexr_hub()

auto const & sirius::Atom_type::indexr_hub ( ) const
inline

Definition at line 827 of file atom_type.hpp.

◆ indexr() [2/2]

auto const & sirius::Atom_type::indexr ( int  i) const
inline

Definition at line 832 of file atom_type.hpp.

◆ indexr_by_l_order()

int sirius::Atom_type::indexr_by_l_order ( int  l,
int  order 
) const
inline

Definition at line 838 of file atom_type.hpp.

◆ indexr_by_idxlo()

int sirius::Atom_type::indexr_by_idxlo ( int  idxlo) const
inline

Definition at line 843 of file atom_type.hpp.

◆ indexb() [1/2]

auto const & sirius::Atom_type::indexb ( ) const
inline

Definition at line 848 of file atom_type.hpp.

◆ indexb() [2/2]

auto const & sirius::Atom_type::indexb ( int  i) const
inline

Definition at line 853 of file atom_type.hpp.

◆ indexb_by_l_m_order()

int sirius::Atom_type::indexb_by_l_m_order ( int  l,
int  m,
int  order 
) const
inline

Definition at line 859 of file atom_type.hpp.

◆ indexb_by_lm_order()

int sirius::Atom_type::indexb_by_lm_order ( int  lm,
int  order 
) const
inline

Definition at line 864 of file atom_type.hpp.

◆ mt_aw_basis_size()

int sirius::Atom_type::mt_aw_basis_size ( ) const
inline

Definition at line 869 of file atom_type.hpp.

◆ mt_lo_basis_size()

int sirius::Atom_type::mt_lo_basis_size ( ) const
inline

Definition at line 874 of file atom_type.hpp.

◆ mt_basis_size()

int sirius::Atom_type::mt_basis_size ( ) const
inline

Total number of muffin-tin basis functions (APW + LO).

Definition at line 880 of file atom_type.hpp.

◆ mt_radial_basis_size()

int sirius::Atom_type::mt_radial_basis_size ( ) const
inline

Total number of radial basis functions.

Definition at line 886 of file atom_type.hpp.

◆ indexb_wfs()

auto const & sirius::Atom_type::indexb_wfs ( ) const
inline

Definition at line 891 of file atom_type.hpp.

◆ indexb_hub()

auto const & sirius::Atom_type::indexb_hub ( ) const
inline

Return whole index of hubbard basis functions.

Definition at line 897 of file atom_type.hpp.

◆ hubbard_radial_function()

auto const & sirius::Atom_type::hubbard_radial_function ( int  i) const
inline

Definition at line 902 of file atom_type.hpp.

◆ set_symbol()

void sirius::Atom_type::set_symbol ( const std::string  symbol__)
inline

Definition at line 907 of file atom_type.hpp.

◆ set_zn()

void sirius::Atom_type::set_zn ( int  zn__)
inline

Definition at line 912 of file atom_type.hpp.

◆ set_mass()

void sirius::Atom_type::set_mass ( double  mass__)
inline

Definition at line 917 of file atom_type.hpp.

◆ set_configuration()

void sirius::Atom_type::set_configuration ( int  n,
int  l,
int  k,
double  occupancy,
bool  core 
)
inline

Definition at line 922 of file atom_type.hpp.

◆ num_atoms()

int sirius::Atom_type::num_atoms ( ) const
inline

Return number of atoms of a given type.

Definition at line 934 of file atom_type.hpp.

◆ atom_id()

int sirius::Atom_type::atom_id ( int  idx) const
inline

Return atom ID (global index) by the index of atom within a given type.

Definition at line 940 of file atom_type.hpp.

◆ add_atom_id()

void sirius::Atom_type::add_atom_id ( int  atom_id__)
inline

Add global index of atom to this atom type.

Definition at line 946 of file atom_type.hpp.

◆ initialized()

bool sirius::Atom_type::initialized ( ) const
inline

Definition at line 951 of file atom_type.hpp.

◆ label()

std::string const & sirius::Atom_type::label ( ) const
inline

Definition at line 956 of file atom_type.hpp.

◆ file_name()

std::string const & sirius::Atom_type::file_name ( ) const
inline

Definition at line 961 of file atom_type.hpp.

◆ d_mtrx_ion() [1/2]

void sirius::Atom_type::d_mtrx_ion ( sddk::matrix< double > const &  d_mtrx_ion__)
inline

Definition at line 966 of file atom_type.hpp.

◆ d_mtrx_ion() [2/2]

auto const & sirius::Atom_type::d_mtrx_ion ( ) const
inline

Definition at line 973 of file atom_type.hpp.

◆ is_paw() [1/2]

bool sirius::Atom_type::is_paw ( ) const
inline

Definition at line 978 of file atom_type.hpp.

◆ is_paw() [2/2]

bool sirius::Atom_type::is_paw ( bool  is_paw__)
inline

Definition at line 983 of file atom_type.hpp.

◆ paw_core_energy() [1/2]

double sirius::Atom_type::paw_core_energy ( ) const
inline

Definition at line 989 of file atom_type.hpp.

◆ paw_core_energy() [2/2]

double sirius::Atom_type::paw_core_energy ( double  paw_core_energy__)
inline

Definition at line 994 of file atom_type.hpp.

◆ idx_radial_integrals()

auto const & sirius::Atom_type::idx_radial_integrals ( ) const
inline

Definition at line 1000 of file atom_type.hpp.

◆ rf_coef()

auto & sirius::Atom_type::rf_coef ( ) const
inline

Definition at line 1005 of file atom_type.hpp.

◆ vrf_coef()

auto & sirius::Atom_type::vrf_coef ( ) const
inline

Definition at line 1010 of file atom_type.hpp.

◆ parameters()

auto const & sirius::Atom_type::parameters ( ) const
inline

Definition at line 1015 of file atom_type.hpp.

◆ f_coefficients()

auto sirius::Atom_type::f_coefficients ( int  xi1,
int  xi2,
int  s1,
int  s2 
) const
inline

Definition at line 1020 of file atom_type.hpp.

◆ q_radial_function()

auto const & sirius::Atom_type::q_radial_function ( int  idxrf1__,
int  idxrf2__,
int  l__ 
) const
inline

Definition at line 1025 of file atom_type.hpp.

◆ spin_orbit_coupling() [1/2]

bool sirius::Atom_type::spin_orbit_coupling ( ) const
inline

Definition at line 1036 of file atom_type.hpp.

◆ spin_orbit_coupling() [2/2]

bool sirius::Atom_type::spin_orbit_coupling ( bool  so__)
inline

Definition at line 1041 of file atom_type.hpp.

◆ hubbard_correction() [1/2]

bool sirius::Atom_type::hubbard_correction ( ) const
inline

Get the Hubbard correction switch.

Definition at line 1048 of file atom_type.hpp.

◆ hubbard_correction() [2/2]

bool sirius::Atom_type::hubbard_correction ( bool  ldapu__)
inline

Set the Hubbard correction switch.

Definition at line 1054 of file atom_type.hpp.

◆ compare_index_beta_functions()

bool sirius::Atom_type::compare_index_beta_functions ( const int  xi,
const int  xj 
) const
inline

Compare indices of beta projectors.

Compare the angular, total angular momentum and radial part of the beta projectors, leaving the m index free. Only useful when spin orbit coupling is included.

Definition at line 1063 of file atom_type.hpp.

◆ lo_descriptor_hub() [1/2]

const auto & sirius::Atom_type::lo_descriptor_hub ( ) const
inline

Return a vector containing all information about the localized atomic orbitals used to generate the Hubbard subspace.

Definition at line 1070 of file atom_type.hpp.

◆ lo_descriptor_hub() [2/2]

auto const & sirius::Atom_type::lo_descriptor_hub ( int  idx__) const
inline

Definition at line 1075 of file atom_type.hpp.

◆ lmax_apw()

int sirius::Atom_type::lmax_apw ( ) const
inline

Definition at line 1080 of file atom_type.hpp.

◆ lmmax_apw()

int sirius::Atom_type::lmmax_apw ( ) const
inline

Definition at line 1089 of file atom_type.hpp.

◆ lmax_lo()

int sirius::Atom_type::lmax_lo ( ) const
inline

Definition at line 1094 of file atom_type.hpp.

◆ lmax_ps_atomic_wf()

int sirius::Atom_type::lmax_ps_atomic_wf ( ) const
inline

Return maximum orbital quantum number for the atomic wave-functions.

Definition at line 1104 of file atom_type.hpp.

◆ lmax_beta()

int sirius::Atom_type::lmax_beta ( ) const
inline

Maximum orbital quantum number between all beta-projector radial functions.

Definition at line 1115 of file atom_type.hpp.

◆ gaunt_coefs()

auto const & sirius::Atom_type::gaunt_coefs ( ) const
inline

Definition at line 1125 of file atom_type.hpp.

Member Data Documentation

◆ parameters_

Simulation_parameters const& sirius::Atom_type::parameters_
private

Basic parameters.

Definition at line 96 of file atom_type.hpp.

◆ id_

int sirius::Atom_type::id_ {-1}
private

Unique id of atom type in the range [0, \( N_{types} \)).

Definition at line 99 of file atom_type.hpp.

◆ label_

std::string sirius::Atom_type::label_
private

Unique string label for the atom type.

Definition at line 102 of file atom_type.hpp.

◆ symbol_

std::string sirius::Atom_type::symbol_
private

Chemical element symbol.

Definition at line 105 of file atom_type.hpp.

◆ name_

std::string sirius::Atom_type::name_
private

Chemical element name.

Definition at line 108 of file atom_type.hpp.

◆ zn_

int sirius::Atom_type::zn_ {0}
private

Nucleus charge or pseudocharge, treated as positive(!) integer.

Definition at line 111 of file atom_type.hpp.

◆ mass_

double sirius::Atom_type::mass_ {0}
private

Atom mass.

Definition at line 114 of file atom_type.hpp.

◆ atomic_levels_

std::vector<atomic_level_descriptor> sirius::Atom_type::atomic_levels_
private

List of atomic levels.

Low-energy levels are core states. Information about core states is defined in the species file.

Definition at line 118 of file atom_type.hpp.

◆ num_core_electrons_

double sirius::Atom_type::num_core_electrons_ {0}
private

Number of core electrons.

Definition at line 121 of file atom_type.hpp.

◆ num_valence_electrons_

double sirius::Atom_type::num_valence_electrons_ {0}
private

Number of valence electrons.

Definition at line 124 of file atom_type.hpp.

◆ aw_default_l_

radial_solution_descriptor_set sirius::Atom_type::aw_default_l_
private

Default augmented wave configuration.

Definition at line 127 of file atom_type.hpp.

◆ aw_specific_l_

std::vector<radial_solution_descriptor_set> sirius::Atom_type::aw_specific_l_
private

Augmented wave configuration for specific l.

Definition at line 130 of file atom_type.hpp.

◆ aw_descriptors_

std::vector<radial_solution_descriptor_set> sirius::Atom_type::aw_descriptors_
private

List of radial descriptor sets used to construct augmented waves.

Definition at line 133 of file atom_type.hpp.

◆ lo_descriptors_

std::vector<local_orbital_descriptor> sirius::Atom_type::lo_descriptors_
private

List of radial descriptor sets used to construct local orbitals.

In case of LAPW this list defines all local orbitals for a given atom type. In case of PP-PW this is a list of all beta-projectors.

Definition at line 138 of file atom_type.hpp.

◆ max_aw_order_

int sirius::Atom_type::max_aw_order_ {0}
private

Maximum number of AW radial functions across angular momentums.

Definition at line 141 of file atom_type.hpp.

◆ indexr_

radial_functions_index sirius::Atom_type::indexr_
private

Index of radial basis functions.

In LAPW this index is used to iterate over combined set of APW and local-orbital radial functions. In pseudo_potential case this index is used to iterate over radial part of beta-projectors.

Definition at line 146 of file atom_type.hpp.

◆ indexb_

basis_functions_index sirius::Atom_type::indexb_
private

Index of atomic basis functions (radial function * spherical harmonic).

This index is used in LAPW to combine APW and local-orbital muffin-tin functions

Definition at line 150 of file atom_type.hpp.

◆ indexr_wfs_

radial_functions_index sirius::Atom_type::indexr_wfs_
private

Index for the radial atomic functions.

Definition at line 153 of file atom_type.hpp.

◆ indexb_wfs_

basis_functions_index sirius::Atom_type::indexb_wfs_
private

Index of atomic wavefunctions (radial function * spherical harmonic).

Definition at line 156 of file atom_type.hpp.

◆ lo_descriptors_hub_

std::vector<hubbard_orbital_descriptor> sirius::Atom_type::lo_descriptors_hub_
private

List of Hubbard orbital descriptors.

List of sirius::hubbard_orbital_descriptor for each orbital. Each element of the list contains information about radial function and U and J parameters for the Hubbard correction. The list is compatible with the indexr_hub_ radial index.

Definition at line 162 of file atom_type.hpp.

◆ indexr_hub_

radial_functions_index sirius::Atom_type::indexr_hub_
private

Index of radial functions for hubbard orbitals.

Definition at line 165 of file atom_type.hpp.

◆ indexb_hub_

basis_functions_index sirius::Atom_type::indexb_hub_
private

Index of basis functions for hubbard orbitals.

Definition at line 168 of file atom_type.hpp.

◆ beta_radial_functions_

std::vector<std::pair<angular_momentum, Spline<double> > > sirius::Atom_type::beta_radial_functions_
private

Radial functions of beta-projectors.

This are the beta-function in the USPP file. Pairs of [l, beta_l(r)] are stored. In case of spin-orbit coupling orbital quantum numbers in this list can be positive and negative. This is used to derive the total angular momentum of the orbitals:

\[ j = \left\{ \begin{array}{ll} |\ell| - 0.5 & \ell < 0 \\ \ell + 0.5 & \ell > 0 \end{array} \right. \]

Definition at line 181 of file atom_type.hpp.

◆ ps_atomic_wfs_

std::vector<ps_atomic_wf_descriptor> sirius::Atom_type::ps_atomic_wfs_
private

Atomic wave-functions used to setup the initial subspace and to apply U-correction.

This are the chi wave-function in the USPP file. Lists of [n, j, occ, chi_l(r)] are stored. In case of spin-orbit coupling orbital angular quantum number j is equal to l +/- 1/2. Otherwise it is just l.

Definition at line 186 of file atom_type.hpp.

◆ q_radial_functions_l_

sddk::mdarray<Spline<double>, 2> sirius::Atom_type::q_radial_functions_l_
private

Radial functions of the Q-operator.

The dimension of this array is fully determined by the number and lmax of beta-projectors. Beta-projectors must be loaded before loading the Q radial functions.

Definition at line 191 of file atom_type.hpp.

◆ augment_

bool sirius::Atom_type::augment_ {false}
private

True if the pseudopotential is soft and charge augmentation is required.

Definition at line 194 of file atom_type.hpp.

◆ local_potential_

std::vector<double> sirius::Atom_type::local_potential_
private

Local part of pseudopotential.

Definition at line 197 of file atom_type.hpp.

◆ ps_core_charge_density_

std::vector<double> sirius::Atom_type::ps_core_charge_density_
private

Pseudo-core charge density (used by PP-PW method in non-linear core correction).

Definition at line 200 of file atom_type.hpp.

◆ ps_total_charge_density_

std::vector<double> sirius::Atom_type::ps_total_charge_density_
private

Total pseudo-charge density (used by PP-PW method to setup initial density).

Definition at line 203 of file atom_type.hpp.

◆ d_mtrx_ion_

sddk::mdarray<double, 2> sirius::Atom_type::d_mtrx_ion_
private

Ionic part of D-operator matrix.

Definition at line 206 of file atom_type.hpp.

◆ is_paw_

bool sirius::Atom_type::is_paw_ {false}
private

True if the pseudopotential is used for PAW.

Definition at line 209 of file atom_type.hpp.

◆ paw_core_energy_

bool sirius::Atom_type::paw_core_energy_ {0}
private

Core energy of PAW.

Definition at line 212 of file atom_type.hpp.

◆ ae_paw_wfs_

std::vector<std::vector<double> > sirius::Atom_type::ae_paw_wfs_
private

List of all-electron wave functions of the PAW method.

Definition at line 215 of file atom_type.hpp.

◆ ae_paw_wfs_array_

sddk::mdarray<double, 2> sirius::Atom_type::ae_paw_wfs_array_
private

All-electron wave functions of the PAW method packed in a single array.

The number of wave functions is equal to the number of beta-projectors.

Definition at line 219 of file atom_type.hpp.

◆ ps_paw_wfs_

std::vector<std::vector<double> > sirius::Atom_type::ps_paw_wfs_
private

List of pseudo wave functions of the PAW method.

Definition at line 222 of file atom_type.hpp.

◆ ps_paw_wfs_array_

sddk::mdarray<double, 2> sirius::Atom_type::ps_paw_wfs_array_
private

Pseudo wave functions of the PAW method packed in a single array.

The number of wave functions is equal to the number of beta-projectors.

Definition at line 226 of file atom_type.hpp.

◆ paw_wf_occ_

std::vector<double> sirius::Atom_type::paw_wf_occ_
private

Occupations of PAW wave-functions.

Length of vector is the same as the number of beta projectors. This is used for the initial guess of oribtal occupancies.

Definition at line 231 of file atom_type.hpp.

◆ paw_ae_core_charge_density_

std::vector<double> sirius::Atom_type::paw_ae_core_charge_density_
private

Core electron contribution to all electron charge density in PAW method.

Definition at line 234 of file atom_type.hpp.

◆ spin_orbit_coupling_

bool sirius::Atom_type::spin_orbit_coupling_ {false}
private

True if the pseudo potential includes spin orbit coupling.

Definition at line 237 of file atom_type.hpp.

◆ hubbard_correction_

bool sirius::Atom_type::hubbard_correction_ {false}
private

Hubbard correction.

Definition at line 240 of file atom_type.hpp.

◆ p_mtrx_

sddk::matrix<std::complex<double> > sirius::Atom_type::p_mtrx_
private

Inverse of (Q_{\xi \xi'j}^{-1} + beta_pw^{H}_{\xi} * beta_pw_{xi'})

Used in Chebyshev iterative solver as a block-diagonal preconditioner

Definition at line 244 of file atom_type.hpp.

◆ f_coefficients_

sddk::mdarray<std::complex<double>, 4> sirius::Atom_type::f_coefficients_
private

f_coefficients defined in doi:10.1103/PhysRevB.71.115106 Eq.9 only valid when SO interactions are on

Definition at line 248 of file atom_type.hpp.

◆ atom_id_

std::vector<int> sirius::Atom_type::atom_id_
private

List of atom indices (global) for a given type.

Definition at line 251 of file atom_type.hpp.

◆ file_name_

std::string sirius::Atom_type::file_name_
private

Name of the input file for this atom type.

Definition at line 254 of file atom_type.hpp.

◆ idx_radial_integrals_

sddk::mdarray<int, 2> sirius::Atom_type::idx_radial_integrals_
private

Definition at line 256 of file atom_type.hpp.

◆ rf_coef_

sddk::mdarray<double, 3> sirius::Atom_type::rf_coef_
mutableprivate

Definition at line 258 of file atom_type.hpp.

◆ vrf_coef_

sddk::mdarray<double, 3> sirius::Atom_type::vrf_coef_
mutableprivate

Definition at line 259 of file atom_type.hpp.

◆ gaunt_coefs_

std::unique_ptr<Gaunt_coefficients<std::complex<double> > > sirius::Atom_type::gaunt_coefs_ {nullptr}
private

Non-zero Gaunt coefficients.

Definition at line 262 of file atom_type.hpp.

◆ lmax_apw_

int sirius::Atom_type::lmax_apw_ {-1}
private

Maximul orbital quantum number of LAPW basis functions.

Definition at line 265 of file atom_type.hpp.

◆ initialized_

bool sirius::Atom_type::initialized_ {false}
private

True if the atom type was initialized.

After initialization it is forbidden to modify the parameters of the atom type.

Definition at line 269 of file atom_type.hpp.

◆ radial_grid_

Radial_grid<double> sirius::Atom_type::radial_grid_
protected

Radial grid of the muffin-tin sphere.

Definition at line 324 of file atom_type.hpp.

◆ free_atom_density_spline_

Spline<double> sirius::Atom_type::free_atom_density_spline_
protected

Density of a free atom.

Definition at line 327 of file atom_type.hpp.

◆ free_atom_density_

std::vector<double> sirius::Atom_type::free_atom_density_
protected

Density of a free atom as read from the input file.

Does not contain 4 Pi and r^2 prefactors.

Definition at line 331 of file atom_type.hpp.

◆ free_atom_radial_grid_

Radial_grid<double> sirius::Atom_type::free_atom_radial_grid_
protected

Radial grid of a free atom.

Definition at line 334 of file atom_type.hpp.


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