![]() |
QMCPACK
|
collection of orbital info for SPOSet instance or builder More...
Public Types | |
using | RealType = QMCTraits::RealType |
using | states_t = std::vector< SPOInfo * > |
using | orderings = spoinfo::orderings |
Public Member Functions | |
SPOSetInfo () | |
~SPOSetInfo () | |
void | add (SPOInfo &state) |
void | add (SPOInfo *state) |
void | add (std::vector< SPOInfo *> &state_vector) |
void | add (SPOSetInfo &other) |
void | finish (orderings ord=spoinfo::no_order, RealType tol=1e-6) |
renders collection immutable, must be called at end of initialization More... | |
bool | complete () const |
bool | partial () const |
bool | has_indices () const |
bool | has_energies () const |
int | size () const |
const SPOInfo * | operator[] (int s) const |
const SPOInfo * | operator[] (int s) |
int | min_index () const |
int | max_index () const |
RealType | energy_tolerance () const |
bool | contiguous () const |
bool | unordered () const |
bool | index_ordered () const |
bool | energy_ordered () const |
void | report (const std::string &pad="") |
template<typename SPOI > | |
void | finish (std::vector< SPOI *> &state_vector, orderings ord=spoinfo::no_order, RealType tol=1e-6) |
template<typename SPOI > | |
void | finish (std::vector< int > &subset, std::vector< SPOI *> &state_vector, orderings ord=spoinfo::no_order, RealType tol=1e-6) |
Private Member Functions | |
void | index_sort () |
sort states by index More... | |
void | energy_sort (RealType tol) |
sort states by energy More... | |
void | count_degeneracies () |
count energetic degeneracy of states More... | |
void | determine_order (RealType tol) |
determine the ordering of the states, if any More... | |
void | modify () |
render collection mutable More... | |
void | clear () |
empty collection and render mutable More... | |
Private Attributes | |
bool | is_complete |
whether initialization is complete and SPOSetInfo is ready for use More... | |
bool | indices_present |
whether all states have an index assigned More... | |
bool | energies_present |
whether all states have an energy assigned More... | |
orderings | order |
enum for how states are ordered More... | |
RealType | energy_tol |
tolerance used to sort energies More... | |
int | index_min |
minimum orbital index in the set (w.r.t the full set) More... | |
int | index_max |
maximum orbital index in the set (w.r.t the full set) More... | |
std::vector< SPOInfo * > | states |
collection of SPOInfo More... | |
Friends | |
class | SPOSetBuilder |
collection of orbital info for SPOSet instance or builder
Definition at line 25 of file SPOSetInfo.h.
using orderings = spoinfo::orderings |
Definition at line 30 of file SPOSetInfo.h.
using RealType = QMCTraits::RealType |
Definition at line 28 of file SPOSetInfo.h.
Definition at line 29 of file SPOSetInfo.h.
SPOSetInfo | ( | ) |
Definition at line 28 of file SPOSetInfo.cpp.
~SPOSetInfo | ( | ) |
Definition at line 30 of file SPOSetInfo.cpp.
References qmcplusplus::delete_iter().
void add | ( | SPOInfo & | state | ) |
Definition at line 34 of file SPOSetInfo.cpp.
References SPOInfo::copy().
Referenced by SPOSetInfo::finish(), and BsplineReader::initialize_spo2band().
void add | ( | SPOInfo * | state | ) |
Definition at line 36 of file SPOSetInfo.cpp.
References SPOInfo::copy().
void add | ( | std::vector< SPOInfo *> & | state_vector | ) |
void add | ( | SPOSetInfo & | other | ) |
Definition at line 44 of file SPOSetInfo.cpp.
References qmcplusplus::simd::add(), and SPOSetInfo::states.
|
private |
empty collection and render mutable
Definition at line 241 of file SPOSetInfo.cpp.
References qmcplusplus::delete_iter().
bool complete | ( | ) | const |
Definition at line 83 of file SPOSetInfo.cpp.
bool contiguous | ( | ) | const |
Definition at line 109 of file SPOSetInfo.cpp.
|
private |
count energetic degeneracy of states
Definition at line 166 of file SPOSetInfo.cpp.
References qmcplusplus::abs(), qmcplusplus::spoinfo::energy_ordered, qmcplusplus::n, and qmcplusplus::Units::time::s.
|
private |
determine the ordering of the states, if any
Definition at line 195 of file SPOSetInfo.cpp.
References qmcplusplus::spoinfo::energy_and_index_ordered, qmcplusplus::spoinfo::energy_ordered, qmcplusplus::spoinfo::index_order(), qmcplusplus::spoinfo::index_ordered, qmcplusplus::Units::time::s, and qmcplusplus::spoinfo::unordered.
bool energy_ordered | ( | ) | const |
Definition at line 115 of file SPOSetInfo.cpp.
References qmcplusplus::spoinfo::energy_and_index_ordered, and qmcplusplus::spoinfo::energy_ordered.
Referenced by SPOSetInputInfo::occupy_energies().
|
private |
sort states by energy
Definition at line 155 of file SPOSetInfo.cpp.
References APP_ABORT, and qmcplusplus::spoinfo::energy_ordered.
RealType energy_tolerance | ( | ) | const |
Definition at line 105 of file SPOSetInfo.cpp.
void finish | ( | orderings | ord = spoinfo::no_order , |
RealType | tol = 1e-6 |
||
) |
renders collection immutable, must be called at end of initialization
Definition at line 51 of file SPOSetInfo.cpp.
References APP_ABORT, qmcplusplus::spoinfo::energy_ordered, qmcplusplus::spoinfo::index_ordered, omptarget::min(), and qmcplusplus::Units::time::s.
Referenced by SPOSetInfo::finish().
|
inline |
Definition at line 71 of file SPOSetInfo.h.
References SPOSetInfo::add(), and SPOSetInfo::finish().
|
inline |
Definition at line 79 of file SPOSetInfo.h.
References SPOSetInfo::add(), and SPOSetInfo::finish().
bool has_energies | ( | ) | const |
Definition at line 89 of file SPOSetInfo.cpp.
Referenced by SPOSetInputInfo::get_indices().
bool has_indices | ( | ) | const |
Definition at line 87 of file SPOSetInfo.cpp.
Referenced by SPOSetInputInfo::get_indices().
bool index_ordered | ( | ) | const |
Definition at line 113 of file SPOSetInfo.cpp.
References qmcplusplus::spoinfo::energy_and_index_ordered, and qmcplusplus::spoinfo::index_ordered.
|
private |
sort states by index
Definition at line 149 of file SPOSetInfo.cpp.
References qmcplusplus::spoinfo::index_order(), and qmcplusplus::spoinfo::index_ordered.
int max_index | ( | ) | const |
Definition at line 103 of file SPOSetInfo.cpp.
int min_index | ( | ) | const |
Definition at line 101 of file SPOSetInfo.cpp.
|
private |
render collection mutable
Definition at line 230 of file SPOSetInfo.cpp.
References qmcplusplus::no_energy_tol, qmcplusplus::no_index, and qmcplusplus::spoinfo::no_order.
const SPOInfo * operator[] | ( | int | s | ) | const |
Definition at line 95 of file SPOSetInfo.cpp.
References qmcplusplus::Units::time::s.
const SPOInfo * operator[] | ( | int | s | ) |
Definition at line 97 of file SPOSetInfo.cpp.
References qmcplusplus::Units::time::s.
bool partial | ( | ) | const |
void report | ( | const std::string & | pad = "" | ) |
Definition at line 122 of file SPOSetInfo.cpp.
References qmcplusplus::app_log(), qmcplusplus::spoinfo::energy_ordered, qmcplusplus::Units::time::ns, and qmcplusplus::Units::time::s.
int size | ( | void | ) | const |
Definition at line 93 of file SPOSetInfo.cpp.
Referenced by SPOSetInputInfo::get_indices(), SPOSetInputInfo::occupy_ecut(), SPOSetInputInfo::occupy_energies(), and SPOSetInputInfo::occupy_energy_range().
bool unordered | ( | ) | const |
Definition at line 111 of file SPOSetInfo.cpp.
References qmcplusplus::spoinfo::unordered.
|
friend |
Definition at line 132 of file SPOSetInfo.h.
|
private |
whether all states have an energy assigned
Definition at line 97 of file SPOSetInfo.h.
|
private |
tolerance used to sort energies
Definition at line 103 of file SPOSetInfo.h.
|
private |
maximum orbital index in the set (w.r.t the full set)
Definition at line 109 of file SPOSetInfo.h.
|
private |
minimum orbital index in the set (w.r.t the full set)
Definition at line 106 of file SPOSetInfo.h.
|
private |
whether all states have an index assigned
Definition at line 94 of file SPOSetInfo.h.
|
private |
whether initialization is complete and SPOSetInfo is ready for use
Definition at line 91 of file SPOSetInfo.h.
|
private |
enum for how states are ordered
Definition at line 100 of file SPOSetInfo.h.
|
private |