25#ifndef __ATOM_TYPE_BASE_HPP__
26#define __ATOM_TYPE_BASE_HPP__
79 for (
auto& e : atomic_conf[
zn_ - 1]) {
83 if (c.n == e.n && c.l == e.l && c.k == e.k) {
119 :
zn_(atomic_zn.at(symbol__))
127 inline int zn()
const
134 inline int zn(
int zn__)
147 inline std::string
const&
name()
const
Basic atomic data information.
Base class for sirius::Atom_type and sirius::Free_atom classes.
std::string symbol_
Chemical element symbol.
int zn_
Nucleus charge or pseudocharge, treated as positive(!) integer.
double mass() const
Get atomic mass.
int zn(int zn__)
Set atomic charge.
std::string const & symbol() const
Get atomic symbol.
int num_atomic_levels() const
Return number of the atomic levels.
std::vector< double > free_atom_density_
Density of a free atom as read from the input file.
int zn() const
Get atomic charge.
Atom_type_base(int zn__)
Constructor.
std::string const & name() const
Get name of the element.
std::vector< atomic_level_descriptor > atomic_levels_
List of atomic levels.
double free_atom_radial_grid(int ir) const
Get the radial point at a given index.
std::string name_
Chemical element name.
Spline< double > free_atom_density_spline_
Density of a free atom.
Radial_grid< double > free_atom_radial_grid_
Radial grid of a free atom.
Atom_type_base(std::string symbol__)
Constructor.
Radial_grid< double > const & free_atom_radial_grid() const
Get the whole radial grid.
void init()
Initialize atomic levels of neutral atom and radial grid.
Namespace of the SIRIUS library.
Contains declaraion and partial implementation of sirius::Radial_grid class.
Describes single atomic level.