|
| CompletenessOptimizer () |
| Constructor. More...
|
|
virtual | ~CompletenessOptimizer () |
| Destructor.
|
|
int | get_ntau () const |
| Get moment of completeness profile to optimize.
|
|
void | set_ntau (int n) |
| Set moment of completeness profile to optimize.
|
|
int | get_nfull () const |
| Get amount of fully optimized exponents.
|
|
void | set_nfull (int n) |
| Set amount of fully optimized exponents.
|
|
arma::vec | optimize_completeness (int am, double min, double max, int Nf, double &mog) |
| Get exponents.
|
|
arma::vec | maxwidth_exps_table (int am, double tol, size_t nexp, double &width) |
| Get completeness-optimized exponents.
|
|
arma::vec | span_width (int am, double tol, double &width, int nx) |
| Span necessary width.
|
|
virtual BasisSetLibrary | form_basis (const std::vector< coprof_t > &cpl) |
| Form a basis set.
|
|
void | save_limits (const std::vector< coprof_t > &cpl, const std::string &fname) const |
| Save the limits.
|
|
std::vector< coprof_t > | load_limits (const std::string &fname) |
| Load limits.
|
|
std::vector< coprof_t > | load_limits (const BasisSetLibrary &baslib, double tol, int maxam) |
| Generate limits from existing basis set.
|
|
std::vector< coprof_t > | initial_profile (const std::vector< int > &nshells, int nexp, double cotol=1e-4) |
|
std::vector< coprof_t > | initial_profile (const std::vector< size_t > &nfuncs, double cotol=1e-4) |
|
std::vector< coprof_t > | initial_profile (const std::vector< size_t > &nfuncs, std::vector< double > offsets, double cotol=1e-4) |
|
virtual std::vector< ValueType > | compute_values (const std::vector< BasisSetLibrary > &baslib)=0 |
| Compute values with given basis sets (implementation can be parallellized)
|
|
std::vector< ValueType > | compute_values (const std::vector< std::vector< coprof_t > > &cpl) |
| Compute value with given basis set.
|
|
virtual double | compute_mog (const ValueType &val, const ValueType &ref, double failval)=0 |
|
double | check_polarization (std::vector< coprof_t > &cpl, ValueType &curval, int am_max, double minpol, double maxpol, double dpol, bool polinterp, double cotol, int nx, bool forcesub=false) |
|
bool | comply_subset (std::vector< coprof_t > &cpl, ValueType &curval) |
| Reform to comply to subset requirement.
|
|
double | scan_profile (std::vector< coprof_t > &cpl, ValueType &curval, int npoints, double dpol, double tol, bool allam=true, bool bothsd=true, bool forcesub=false) |
|
double | extend_profile (std::vector< coprof_t > &cpl, ValueType &curval, double tau, int next=3, int nxadd=1, bool forcesub=false) |
| Extend the current shells until mog < tau. Returns maximal mog.
|
|
double | tighten_profile (std::vector< coprof_t > &cpl, ValueType &curval, double tau, int nxadd=1, bool forcesub=false) |
| Tighten the shells until mog < tau. Returns maximal mog.
|
|
virtual int | atom_am () const =0 |
| Get SCF free-atom angular momentum.
|
|
virtual void | print_value (const ValueType &value, std::string msg)=0 |
| Print value.
|
|
void | find_cbs_limit (std::vector< coprof_t > &cpl, ValueType &curval, double cotol, double minpol, double maxpol, double dpol, bool extend=true, int next=3, bool scan=true, int nscan=5, bool polinterp=true, int nxpol=1, bool doadd=true, int nxext=1, int am_max=max_am, bool cbsinterp=true, double cbsthr=0.0, double delta=0.9, bool allam=true, bool bothsd=true, bool forcesub=false) |
| Extend the basis set till the CBS limit.
|
|
double | reduce_profile (std::vector< coprof_t > &cpl, ValueType &curval, const ValueType &refval, double tol=0.0, int nred=3, bool saveall=false, bool allelectron=true, bool forcesub=false) |
| Reduce the profile until only a single function is left on the highest am shell (polarization / correlation consistence)
|
|
void | reduce_basis (const std::vector< coprof_t > &cbscpl, std::vector< coprof_t > &cpl, int nred=3, bool docontr=true, bool restr=true, double nelcutoff=0.01, double Porth=true, double saveall=false, double tol=0.0, bool allelectron=true, bool forcesub=false) |
|
virtual std::vector< size_t > | update_contraction (const std::vector< coprof_t > &cpl, double cutoff)=0 |
| Update the contraction coefficients, return the amount of electrons in each am shell.
|
|
BasisSetLibrary | contract_basis (const std::vector< coprof_t > &cpl, const ValueType &refval, double tol, double nelcutoff, bool Porth=true, bool restr=true) |
| Contract basis set. nel holds amount of states of each angular momentum. P toggles intermediate P-orthogonalization; returned basis is always generally contracted.
|
|
template<typename ValueType>
class CompletenessOptimizer< ValueType >
Completeness optimizer class.