MADNESS
0.10.1
|
The main class of the periodic DFT solver. More...
#include <solver.h>
Classes | |
struct | GuessDensity |
Public Member Functions | |
Solver (World &world, const rfunctionT &vnucrhon, const vecfuncT &phis, const std::vector< T > &eigs, const ElectronicStructureParams ¶ms, MolecularEntity mentity) | |
Solver (World &world, const std::string &filename) | |
Solver (World &world, rfunctionT vnucrhon, vecfuncT phis, std::vector< T > eigs, std::vector< KPoint > kpoints, std::vector< double > occs, ElectronicStructureParams params, MolecularEntity mentity) | |
Solver (World &world, rfunctionT vnucrhon, vecfuncT phisa, vecfuncT phisb, std::vector< T > eigsa, std::vector< T > eigsb, ElectronicStructureParams params, MolecularEntity mentity) | |
virtual | ~Solver () |
void | apply_hf_exchange (vecfuncT &phisa, vecfuncT &phisb, vecfuncT &funcsa, vecfuncT &funcsb) |
void | apply_hf_exchange3 (vecfuncT &phisa, vecfuncT &phisb, vecfuncT &funcsa, vecfuncT &funcsb, double &xc) |
void | apply_hf_exchange4 (vecfuncT &phisa, vecfuncT &phisb, vecfuncT &funcsa, vecfuncT &funcsb, double &xc) |
void | apply_potential (vecfuncT &pfuncsa, vecfuncT &pfuncsb, const vecfuncT &phisa, const vecfuncT &phisb, const rfunctionT &rhoa, const rfunctionT &rhob, const rfunctionT &rho) |
Applies the LDA effective potential to each orbital. Currently only lda and spin-polarized is not implemented. More... | |
tensorT | build_fock_matrix (vecfuncT &psi, vecfuncT &vpsi, KPoint kpoint) |
double | calculate_kinetic_energy () |
vecfuncT | compute_residual (const vecfuncT &awfs, const vecfuncT &bwfs) |
rfunctionT | compute_rho (const vecfuncT &phis, std::vector< KPoint > kpoints, std::vector< double > occs) |
rfunctionT | compute_rho_slow (const vecfuncT &phis, std::vector< KPoint > kpoints, std::vector< double > occs) |
Compute the electronic density for either a molecular or periodic system. More... | |
ctensorT | csqrt (const ctensorT &s, double tol=1e-8) |
Computes matrix square root (not used any more?) More... | |
void | do_rhs (vecfuncT &wf, vecfuncT &vwf, std::vector< KPoint > kpoints, std::vector< T > &alpha, std::vector< double > &eigs) |
void | do_rhs_simple (vecfuncT &wf, vecfuncT &vwf, std::vector< KPoint > kpoints, std::vector< T > &alpha, std::vector< double > &eigs) |
void | END_TIMER (World &world, const char *msg) |
KPoint | find_kpt_from_orb (unsigned int idx) |
void | fix_occupations (const std::vector< T > &eps, std::vector< double > &occs) |
std::vector< KPoint > | genkmesh (unsigned int ngridk0, unsigned ngridk1, unsigned int ngridk2, double koffset0, double koffset1, double koffset2, double R) |
void | gram_schmidt (vecfuncT &f, KPoint kpoint) |
void | init (const std::string &filename) |
void | initial_guess () |
Initializes alpha and beta mos, occupation numbers, eigenvalues. More... | |
void | load_orbitals () |
std::vector< poperatorT > | make_bsh_operators (const std::vector< T > &eigs) |
tensor_complex | make_kinetic_matrix (World &world, const vector_complex_function_3d &v, const KPoint &k) |
rfunctionT | make_lda_potential (World &world, const rfunctionT &arho, const rfunctionT &brho, const rfunctionT &adelrhosq, const rfunctionT &bdelrhosq) |
void | make_nuclear_charge_density_impl () |
void | make_nuclear_potential () |
void | make_nuclear_potential_impl () |
ctensorT | matrix_exponential (const ctensorT &A) |
void | orthonormalize (vecfuncT &wf, KPoint kpoint) |
void | print_fock_matrix_eigs (const vecfuncT &wf, const vecfuncT &vwf, KPoint kpoint) |
void | print_potential_matrix_eigs (const vecfuncT &wf, const vecfuncT &vwf) |
template<typename Q > | |
void | print_tensor2d (ostream &os, Tensor< Q > t) |
vecfuncT | project_ao_basis (World &world, KPoint kpt) |
tensorT | Q3 (const tensorT &s) |
Given overlap matrix, return rotation with 3rd order error to orthonormalize the vectors. More... | |
void | reproject () |
void | save_orbitals () |
void | set_occs2 (const std::vector< KPoint > &kpoints, const std::vector< double > &eigsa, const std::vector< double > &eigsb, std::vector< double > &occsa, std::vector< double > &occsb) |
void | solve () |
void | START_TIMER (World &world) |
void | step_restriction (vecfuncT &owfs, vecfuncT &nwfs, int aorb) |
template<typename Q > | |
void | test_periodicity (const Function< Q, 3 > &f) |
void | update_orbitals (vecfuncT &awfs, vecfuncT &bwfs, std::vector< KPoint > kpoints) |
Public Attributes | |
double | sss |
double | ttt |
Private Types | |
typedef Tensor< std::complex< double > > | ctensorT |
typedef FunctionFactory< valueT, NDIM > | factoryT |
typedef Function< valueT, NDIM > | functionT |
typedef Vector< double, NDIM > | kvecT |
typedef SeparatedConvolution< T, 3 > | operatorT |
typedef std::pair< vecfuncT, vecfuncT > | pairvecfuncT |
typedef std::shared_ptr< operatorT> | poperatorT |
typedef FunctionFactory< T, NDIM > | rfactoryT |
typedef Function< T, NDIM > | rfunctionT |
typedef Tensor< double > | rtensorT |
typedef std::vector< pairvecfuncT > | subspaceT |
typedef Tensor< valueT > | tensorT |
typedef std::complex< T > | valueT |
typedef std::vector< functionT > | vecfuncT |
typedef std::vector< subspaceT > | vecsubspaceT |
typedef std::vector< tensorT > | vectensorT |
Private Attributes | |
AtomicBasisSet | _aobasis |
cvecfuncT | _aobasisf |
SeparatedConvolution< T, NDIM > * | _cop |
std::ofstream | _eigF |
std::vector< T > | _eigsa |
std::vector< T > | _eigsb |
int | _it |
std::ofstream | _kmeshF |
std::vector< KPoint > | _kpoints |
std::ofstream | _matF |
double | _maxthresh |
MolecularEntity | _mentity |
int | _nao |
std::vector< double > | _occsa |
std::vector< double > | _occsb |
std::ofstream | _outputF |
ElectronicStructureParams | _params |
vecfuncT | _phisa |
vecfuncT | _phisb |
double | _residual |
rfunctionT | _rho |
rfunctionT | _rhoa |
rfunctionT | _rhob |
Subspace< T, NDIM > * | _subspace |
rfunctionT | _vnuc |
rfunctionT | _vnucrhon |
World & | _world |
The main class of the periodic DFT solver.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
inline |
References madness::Solver< T, NDIM >::_params, madness::Solver< T, NDIM >::_residual, madness::Solver< T, NDIM >::_subspace, madness::BC_PERIODIC, madness::filename, madness::Solver< T, NDIM >::init(), madness::Solver< T, NDIM >::initial_guess(), madness::Solver< T, NDIM >::make_nuclear_potential(), madness::ElectronicStructureParams::periodic, madness::ElectronicStructureParams::restart, and madness::FunctionDefaults< NDIM >::set_bc().
|
inline |
References madness::Solver< T, NDIM >::_cop, madness::Solver< T, NDIM >::_residual, madness::Solver< T, NDIM >::_vnuc, madness::Solver< T, NDIM >::_vnucrhon, madness::apply(), madness::copy(), madness::CoulombOperatorPtr(), madness::ElectronicStructureParams::ispotential, madness::ElectronicStructureParams::lo, and madness::ElectronicStructureParams::thresh.
|
inline |
References madness::Solver< T, NDIM >::_cop, madness::Solver< T, NDIM >::_residual, madness::Solver< T, NDIM >::_vnuc, madness::Solver< T, NDIM >::_vnucrhon, madness::apply(), madness::copy(), madness::CoulombOperatorPtr(), madness::FunctionDefaults< NDIM >::get_cell_width(), madness::ElectronicStructureParams::ispotential, madness::ElectronicStructureParams::lo, madness::ElectronicStructureParams::periodic, and madness::ElectronicStructureParams::thresh.
|
inline |
References madness::Solver< T, NDIM >::_cop, madness::Solver< T, NDIM >::_residual, madness::Solver< T, NDIM >::_vnuc, madness::Solver< T, NDIM >::_vnucrhon, madness::apply(), madness::copy(), madness::CoulombOperatorPtr(), madness::FunctionDefaults< NDIM >::get_cell_width(), madness::ElectronicStructureParams::ispotential, madness::ElectronicStructureParams::lo, madness::ElectronicStructureParams::periodic, and madness::ElectronicStructureParams::thresh.
|
inlinevirtual |
|
inline |
References madness::Solver< T, NDIM >::_cop, madness::Solver< T, NDIM >::_kpoints, madness::Solver< T, NDIM >::_params, madness::Solver< T, NDIM >::_phisa, madness::Solver< T, NDIM >::_world, madness::abs(), madness::apply(), madness::conj(), e(), madness::f, k1, k2, madness::ElectronicStructureParams::lo, MADNESS_ASSERT, madness::Function< T, NDIM >::norm2(), madness::PeriodicHFExchangeOperator(), and q().
|
inline |
References madness::Solver< T, NDIM >::_cop, madness::apply(), madness::inner(), madness::real(), madness::Function< T, NDIM >::truncate(), and xc.
Referenced by madness::Solver< T, NDIM >::apply_potential().
|
inline |
References madness::Solver< T, NDIM >::_params, madness::Solver< T, NDIM >::_world, madness::apply(), madness::conj(), madness::Solver< T, NDIM >::find_kpt_from_orb(), madness::inner(), madness::ElectronicStructureParams::L, madness::ElectronicStructureParams::lo, madness::PeriodicHFExchangeOperator(), q(), madness::real(), madness::Function< T, NDIM >::truncate(), and xc.
Referenced by madness::Solver< T, NDIM >::apply_potential().
|
inline |
References madness::Solver< T, NDIM >::_outputF, madness::Solver< T, NDIM >::_params, madness::Solver< T, NDIM >::_world, madness::conj_transpose(), madness::Solver< T, NDIM >::END_TIMER(), madness::WorldGopInterface::fence(), madness::World::gop, madness::Solver< T, NDIM >::make_kinetic_matrix(), madness::matrix_inner(), madness::ElectronicStructureParams::periodic, potential(), madness::print(), psi(), madness::World::rank(), and madness::Solver< T, NDIM >::START_TIMER().
Referenced by madness::Solver< T, NDIM >::do_rhs(), and madness::Solver< T, NDIM >::do_rhs_simple().
|
inline |
References madness::Solver< T, NDIM >::_params, madness::Solver< T, NDIM >::_phisa, madness::Solver< T, NDIM >::_phisb, madness::Solver< T, NDIM >::_world, madness::inner(), madness::ElectronicStructureParams::periodic, madness::real(), and madness::ElectronicStructureParams::spinpol.
Referenced by madness::Solver< T, NDIM >::apply_potential().
|
inline |
References madness::Solver< T, NDIM >::_outputF, madness::Solver< T, NDIM >::_params, madness::Solver< T, NDIM >::_phisa, madness::Solver< T, NDIM >::_phisb, madness::Solver< T, NDIM >::_residual, madness::Solver< T, NDIM >::_world, madness::World::rank(), madness::ElectronicStructureParams::spinpol, and madness::sub().
Referenced by madness::Solver< T, NDIM >::update_orbitals().
|
inline |
References madness::Solver< T, NDIM >::_outputF, madness::Solver< T, NDIM >::_world, madness::abssq(), madness::Function< T, NDIM >::compress(), madness::compress(), madness::WorldGopInterface::fence(), madness::Function< T, NDIM >::gaxpy(), madness::World::gop, madness::norm2s(), madness::World::rank(), madness::reconstruct(), madness::Function< T, NDIM >::truncate(), and madness::KPoint::weight().
Referenced by madness::Solver< T, NDIM >::solve().
|
inline |
Computes matrix square root (not used any more?)
References c, e(), m, MADNESS_ASSERT, MADNESS_EXCEPTION, madness::print(), and madness::syev().
Referenced by madness::Solver< T, NDIM >::orthonormalize().
|
inline |
References madness::_(), madness::Solver< T, NDIM >::_eigF, madness::Solver< T, NDIM >::_it, madness::Solver< T, NDIM >::_params, madness::Solver< T, NDIM >::_world, madness::Tensor< T >::absmax(), alpha, madness::arg(), madness::Solver< T, NDIM >::build_fock_matrix(), c, madness::ElectronicStructureParams::canon, madness::conj_transpose(), madness::copy(), e(), eshift, madness::gaxpy(), madness::inner(), is_equal(), k0, k1, k2, madness::Solver< T, NDIM >::matrix_exponential(), madness::matrix_inner(), max, madness::ElectronicStructureParams::periodic, madness::phase(), madness::print(), madness::ElectronicStructureParams::print_matrices, q(), madness::World::rank(), madness::real(), madness::rot(), madness::World::size(), madness::sygv(), T(), thresh, madness::ElectronicStructureParams::thresh, and madness::transform().
|
inline |
References madness::_(), madness::Solver< T, NDIM >::_eigF, madness::Solver< T, NDIM >::_it, madness::Solver< T, NDIM >::_params, madness::Solver< T, NDIM >::_world, madness::Tensor< T >::absmax(), alpha, madness::arg(), madness::Solver< T, NDIM >::build_fock_matrix(), madness::conj_transpose(), madness::copy(), e(), eshift, madness::inner(), is_equal(), k0, k1, k2, madness::Solver< T, NDIM >::matrix_exponential(), madness::matrix_inner(), max, madness::ElectronicStructureParams::periodic, madness::phase(), madness::print(), madness::ElectronicStructureParams::print_matrices, q(), madness::World::rank(), madness::real(), madness::rot(), madness::World::size(), madness::ElectronicStructureParams::solver, madness::sygv(), T(), thresh, madness::ElectronicStructureParams::thresh, and madness::transform().
Referenced by madness::Solver< T, NDIM >::solve().
|
inline |
References madness::cpu_time(), madness::World::rank(), madness::Solver< T, NDIM >::sss, madness::Solver< T, NDIM >::ttt, and madness::wall_time().
Referenced by madness::Solver< T, NDIM >::apply_potential(), madness::Solver< T, NDIM >::build_fock_matrix(), madness::Solver< T, NDIM >::initial_guess(), madness::Solver< T, NDIM >::print_fock_matrix_eigs(), madness::Solver< T, NDIM >::print_potential_matrix_eigs(), and madness::Solver< T, NDIM >::solve().
|
inline |
References madness::Solver< T, NDIM >::_kpoints, k1, and MADNESS_EXCEPTION.
Referenced by madness::Solver< T, NDIM >::apply_hf_exchange4().
|
inline |
|
inline |
References k, k0, k1, k2, madness::constants::pi, R, and weight().
Referenced by madness::Solver< T, NDIM >::init().
|
inline |
References madness::f, madness::inner(), and madness::norm2().
Referenced by madness::Solver< T, NDIM >::load_orbitals(), and madness::Solver< T, NDIM >::update_orbitals().
|
inline |
References madness::Solver< T, NDIM >::_aobasis, madness::Solver< T, NDIM >::_eigF, madness::Solver< T, NDIM >::_kmeshF, madness::Solver< T, NDIM >::_kpoints, madness::Solver< T, NDIM >::_matF, madness::Solver< T, NDIM >::_mentity, madness::Solver< T, NDIM >::_outputF, madness::Solver< T, NDIM >::_params, madness::Solver< T, NDIM >::_world, madness::ElectronicStructureParams::basis, madness::WorldGopInterface::broadcast_serializable(), MolecularEntity::center(), madness::ElectronicStructureParams::centered, madness::filename, madness::ElectronicStructureParams::fractional, madness::Solver< T, NDIM >::genkmesh(), madness::World::gop, madness::ElectronicStructureParams::koffset0, madness::ElectronicStructureParams::koffset1, madness::ElectronicStructureParams::koffset2, madness::ElectronicStructureParams::L, madness::Solver< T, NDIM >::load_orbitals(), madness::ElectronicStructureParams::nbands, madness::ElectronicStructureParams::ncharge, madness::ElectronicStructureParams::nelec, madness::ElectronicStructureParams::nempty, madness::ElectronicStructureParams::ngridk0, madness::ElectronicStructureParams::ngridk1, madness::ElectronicStructureParams::ngridk2, madness::ElectronicStructureParams::periodic, madness::constants::pi, madness::World::rank(), madness::ElectronicStructureParams::read_file(), MolecularEntity::read_file(), madness::AtomicBasisSet::read_file(), madness::ElectronicStructureParams::restart, madness::FunctionDefaults< NDIM >::set_cubic_cell(), madness::FunctionDefaults< NDIM >::set_k(), madness::FunctionDefaults< NDIM >::set_thresh(), madness::ElectronicStructureParams::thresh, MolecularEntity::total_nuclear_charge(), madness::ElectronicStructureParams::waveorder, and madness::KPoint::weight().
Referenced by madness::Solver< T, NDIM >::Solver().
|
inline |
Initializes alpha and beta mos, occupation numbers, eigenvalues.
References madness::_(), madness::Solver< T, NDIM >::_aobasis, madness::Solver< T, NDIM >::_eigsa, madness::Solver< T, NDIM >::_eigsb, madness::Solver< T, NDIM >::_kpoints, madness::Solver< T, NDIM >::_mentity, madness::Solver< T, NDIM >::_nao, madness::Solver< T, NDIM >::_occsa, madness::Solver< T, NDIM >::_occsb, madness::Solver< T, NDIM >::_params, madness::Solver< T, NDIM >::_phisa, madness::Solver< T, NDIM >::_phisb, madness::Solver< T, NDIM >::_rhoa, madness::Solver< T, NDIM >::_rhob, madness::Solver< T, NDIM >::_vnuc, madness::Solver< T, NDIM >::_world, madness::apply(), c, madness::compress(), madness::conj_transpose(), madness::CoulombOperatorPtr(), madness::BaseTensor::dim(), e(), madness::Solver< T, NDIM >::END_TIMER(), madness::WorldGopInterface::fence(), madness::FunctionDefaults< NDIM >::get_cell_width(), madness::World::gop, madness::ElectronicStructureParams::L, madness::ElectronicStructureParams::lo, MADNESS_EXCEPTION, madness::Solver< T, NDIM >::make_lda_potential(), madness::matrix_inner(), madness::ElectronicStructureParams::nbands, madness::AtomicBasisSet::nbf(), madness::ElectronicStructureParams::ncharge, madness::normalize(), oi, op(), madness::ElectronicStructureParams::periodic, madness::plot_line(), madness::plotdx(), potential(), madness::print(), madness::Solver< T, NDIM >::project_ao_basis(), madness::World::rank(), madness::real(), madness::Function< T, NDIM >::reconstruct(), madness::reconstruct(), madness::ElectronicStructureParams::restart, madness::Function< T, NDIM >::scale(), madness::Solver< T, NDIM >::START_TIMER(), madness::syev(), madness::sygv(), madness::ElectronicStructureParams::thresh, madness::Function< T, NDIM >::trace(), madness::transform(), and madness::truncate().
Referenced by madness::Solver< T, NDIM >::Solver().
|
inline |
References madness::Solver< T, NDIM >::_eigsa, madness::Solver< T, NDIM >::_eigsb, madness::Solver< T, NDIM >::_kpoints, madness::Solver< T, NDIM >::_occsa, madness::Solver< T, NDIM >::_occsb, madness::Solver< T, NDIM >::_params, madness::Solver< T, NDIM >::_phisa, madness::Solver< T, NDIM >::_phisb, madness::Solver< T, NDIM >::_world, madness::WorldGopInterface::fence(), madness::FunctionDefaults< NDIM >::get_k(), madness::FunctionDefaults< NDIM >::get_thresh(), madness::World::gop, madness::Solver< T, NDIM >::gram_schmidt(), k, madness::project(), madness::reconstruct(), madness::ElectronicStructureParams::spinpol, and thresh.
Referenced by madness::Solver< T, NDIM >::init().
|
inline |
|
inline |
References madness::apply(), f1, f2, f3, I, k, kx, ky, kz, madness::matrix_inner(), and v.
Referenced by madness::Solver< T, NDIM >::build_fock_matrix().
|
inline |
References madness::copy(), and madness::Function< T, NDIM >::unaryop().
Referenced by madness::Solver< T, NDIM >::initial_guess().
|
inline |
References madness::Solver< T, NDIM >::_cop, madness::Solver< T, NDIM >::_mentity, madness::Solver< T, NDIM >::_params, madness::Solver< T, NDIM >::_vnuc, madness::Solver< T, NDIM >::_vnucrhon, madness::Solver< T, NDIM >::_world, madness::apply(), MolecularEntity::get_atom(), madness::ElectronicStructureParams::L, MolecularEntity::natom(), madness::ElectronicStructureParams::periodic, madness::print(), madness::World::rank(), thresh, madness::ElectronicStructureParams::thresh, madness::Function< T, NDIM >::trace(), madness::Function< T, NDIM >::truncate(), madness::wall_time(), madness::Atom::x, madness::Atom::y, and madness::Atom::z.
Referenced by madness::Solver< T, NDIM >::make_nuclear_potential().
|
inline |
References madness::Solver< T, NDIM >::_cop, madness::Solver< T, NDIM >::_params, madness::Solver< T, NDIM >::_world, madness::CoulombOperatorPtr(), madness::FunctionDefaults< NDIM >::get_cell(), madness::ElectronicStructureParams::ispotential, madness::ElectronicStructureParams::lo, madness::Solver< T, NDIM >::make_nuclear_charge_density_impl(), madness::Solver< T, NDIM >::make_nuclear_potential_impl(), madness::print(), and madness::World::rank().
Referenced by madness::Solver< T, NDIM >::Solver(), and madness::Solver< T, NDIM >::reproject().
|
inline |
References madness::Solver< T, NDIM >::_mentity, madness::Solver< T, NDIM >::_params, madness::Solver< T, NDIM >::_vnuc, madness::Solver< T, NDIM >::_vnucrhon, madness::Solver< T, NDIM >::_world, madness::copy(), and madness::ElectronicStructureParams::thresh.
Referenced by madness::Solver< T, NDIM >::make_nuclear_potential().
|
inline |
References A(), B, madness::BaseTensor::dim(), e(), madness::inner(), k, MADNESS_ASSERT, madness::Tensor< T >::normf(), madness::Tensor< T >::scale(), and madness::scale().
Referenced by madness::Solver< T, NDIM >::do_rhs(), and madness::Solver< T, NDIM >::do_rhs_simple().
|
inline |
|
inline |
References madness::Solver< T, NDIM >::_outputF, madness::Solver< T, NDIM >::_params, madness::Solver< T, NDIM >::_world, c, madness::conj_transpose(), e(), madness::Solver< T, NDIM >::END_TIMER(), madness::WorldGopInterface::fence(), madness::World::gop, madness::matrix_inner(), madness::ElectronicStructureParams::periodic, potential(), madness::print(), madness::World::rank(), madness::Solver< T, NDIM >::START_TIMER(), madness::syev(), and madness::sygv().
Referenced by madness::Solver< T, NDIM >::solve().
|
inline |
References madness::Solver< T, NDIM >::_world, madness::BaseTensor::dim(), madness::Solver< T, NDIM >::END_TIMER(), madness::WorldGopInterface::fence(), madness::World::gop, madness::matrix_inner(), potential(), madness::print(), madness::World::rank(), madness::Solver< T, NDIM >::START_TIMER(), and madness::sygv().
|
inline |
References madness::BaseTensor::dim().
|
inline |
References madness::Solver< T, NDIM >::_aobasis, madness::Solver< T, NDIM >::_mentity, madness::Solver< T, NDIM >::_params, madness::WorldGopInterface::fence(), madness::AtomicBasisSet::get_atomic_basis_function(), madness::World::gop, madness::ElectronicStructureParams::L, and madness::AtomicBasisSet::nbf().
Referenced by madness::Solver< T, NDIM >::initial_guess().
|
inline |
Given overlap matrix, return rotation with 3rd order error to orthonormalize the vectors.
References madness::inner(), and Q().
|
inline |
References madness::Solver< T, NDIM >::_cop, madness::Solver< T, NDIM >::_outputF, madness::Solver< T, NDIM >::_params, madness::Solver< T, NDIM >::_phisa, madness::Solver< T, NDIM >::_phisb, madness::Solver< T, NDIM >::_subspace, madness::Solver< T, NDIM >::_world, madness::WorldGopInterface::fence(), madness::World::gop, madness::Solver< T, NDIM >::make_nuclear_potential(), madness::normalize(), madness::project(), madness::World::rank(), madness::reconstruct(), madness::FunctionDefaults< NDIM >::set_k(), madness::FunctionDefaults< NDIM >::set_thresh(), madness::ElectronicStructureParams::spinpol, madness::ElectronicStructureParams::thresh, madness::truncate(), and madness::ElectronicStructureParams::waveorder.
Referenced by madness::Solver< T, NDIM >::solve().
|
inline |
References madness::Solver< T, NDIM >::_kpoints, madness::Solver< T, NDIM >::_params, madness::Solver< T, NDIM >::_phisa, madness::Solver< T, NDIM >::_phisb, madness::Solver< T, NDIM >::_world, madness::ElectronicStructureParams::nio, and madness::ElectronicStructureParams::spinpol.
Referenced by madness::Solver< T, NDIM >::solve().
|
inline |
|
inline |
References madness::Solver< T, NDIM >::_eigsa, madness::Solver< T, NDIM >::_eigsb, madness::Solver< T, NDIM >::_it, madness::Solver< T, NDIM >::_kpoints, madness::Solver< T, NDIM >::_occsa, madness::Solver< T, NDIM >::_occsb, madness::Solver< T, NDIM >::_outputF, madness::Solver< T, NDIM >::_params, madness::Solver< T, NDIM >::_phisa, madness::Solver< T, NDIM >::_phisb, madness::Solver< T, NDIM >::_residual, madness::Solver< T, NDIM >::_rho, madness::Solver< T, NDIM >::_rhoa, madness::Solver< T, NDIM >::_rhob, madness::Solver< T, NDIM >::_world, alpha, madness::apply(), madness::Solver< T, NDIM >::apply_potential(), madness::Solver< T, NDIM >::compute_rho(), madness::BaseTensor::dim(), madness::Solver< T, NDIM >::do_rhs_simple(), madness::Solver< T, NDIM >::END_TIMER(), k0, k1, k2, madness::Solver< T, NDIM >::make_bsh_operators(), madness::matrix_inner(), madness::ElectronicStructureParams::maxits, madness::norm2s(), madness::plotdx(), madness::ElectronicStructureParams::plotorbs, madness::print(), madness::Solver< T, NDIM >::print_fock_matrix_eigs(), madness::World::rank(), madness::ElectronicStructureParams::rcriterion, madness::Solver< T, NDIM >::reproject(), madness::Solver< T, NDIM >::save_orbitals(), madness::scale(), madness::Solver< T, NDIM >::set_occs2(), madness::ElectronicStructureParams::spinpol, madness::Solver< T, NDIM >::START_TIMER(), madness::syev(), madness::ElectronicStructureParams::thresh, madness::Function< T, NDIM >::trace(), and madness::Solver< T, NDIM >::update_orbitals().
Referenced by main(), and test_hf_he().
|
inline |
References madness::cpu_time(), madness::WorldGopInterface::fence(), madness::World::gop, madness::Solver< T, NDIM >::sss, madness::Solver< T, NDIM >::ttt, and madness::wall_time().
Referenced by madness::Solver< T, NDIM >::apply_potential(), madness::Solver< T, NDIM >::build_fock_matrix(), madness::Solver< T, NDIM >::initial_guess(), madness::Solver< T, NDIM >::print_fock_matrix_eigs(), madness::Solver< T, NDIM >::print_potential_matrix_eigs(), and madness::Solver< T, NDIM >::solve().
|
inline |
|
inline |
|
inline |
References madness::Solver< T, NDIM >::_params, madness::Solver< T, NDIM >::_phisa, madness::Solver< T, NDIM >::_phisb, madness::Solver< T, NDIM >::_subspace, madness::Solver< T, NDIM >::_world, madness::Solver< T, NDIM >::compute_residual(), madness::Solver< T, NDIM >::gram_schmidt(), madness::ElectronicStructureParams::maxsub, madness::norm2(), madness::ElectronicStructureParams::solver, madness::ElectronicStructureParams::spinpol, and madness::Solver< T, NDIM >::step_restriction().
Referenced by madness::Solver< T, NDIM >::solve().
|
private |
|
private |
|
private |
Referenced by madness::Solver< T, NDIM >::Solver(), madness::Solver< T, NDIM >::apply_hf_exchange(), madness::Solver< T, NDIM >::apply_hf_exchange3(), madness::Solver< T, NDIM >::apply_potential(), madness::Solver< T, NDIM >::make_nuclear_charge_density_impl(), madness::Solver< T, NDIM >::make_nuclear_potential(), and madness::Solver< T, NDIM >::reproject().
|
private |
|
private |
|
private |
|
private |
|
private |
Referenced by madness::Solver< T, NDIM >::init().
|
private |
Referenced by madness::Solver< T, NDIM >::apply_hf_exchange(), madness::Solver< T, NDIM >::find_kpt_from_orb(), madness::Solver< T, NDIM >::fix_occupations(), madness::Solver< T, NDIM >::init(), madness::Solver< T, NDIM >::initial_guess(), madness::Solver< T, NDIM >::load_orbitals(), madness::Solver< T, NDIM >::save_orbitals(), and madness::Solver< T, NDIM >::solve().
|
private |
Referenced by madness::Solver< T, NDIM >::~Solver(), and madness::Solver< T, NDIM >::init().
|
private |
|
private |
|
private |
Referenced by madness::Solver< T, NDIM >::initial_guess().
|
private |
|
private |
|
private |
Referenced by madness::Solver< T, NDIM >::~Solver(), madness::Solver< T, NDIM >::build_fock_matrix(), madness::Solver< T, NDIM >::compute_residual(), madness::Solver< T, NDIM >::compute_rho(), madness::Solver< T, NDIM >::compute_rho_slow(), madness::Solver< T, NDIM >::init(), madness::Solver< T, NDIM >::print_fock_matrix_eigs(), madness::Solver< T, NDIM >::reproject(), and madness::Solver< T, NDIM >::solve().
|
private |
Referenced by madness::Solver< T, NDIM >::Solver(), madness::Solver< T, NDIM >::apply_hf_exchange(), madness::Solver< T, NDIM >::apply_hf_exchange4(), madness::Solver< T, NDIM >::apply_potential(), madness::Solver< T, NDIM >::build_fock_matrix(), madness::Solver< T, NDIM >::calculate_kinetic_energy(), madness::Solver< T, NDIM >::compute_residual(), madness::Solver< T, NDIM >::do_rhs(), madness::Solver< T, NDIM >::do_rhs_simple(), madness::Solver< T, NDIM >::fix_occupations(), madness::Solver< T, NDIM >::init(), madness::Solver< T, NDIM >::initial_guess(), madness::Solver< T, NDIM >::load_orbitals(), madness::Solver< T, NDIM >::make_bsh_operators(), madness::Solver< T, NDIM >::make_nuclear_charge_density_impl(), madness::Solver< T, NDIM >::make_nuclear_potential(), madness::Solver< T, NDIM >::make_nuclear_potential_impl(), madness::Solver< T, NDIM >::orthonormalize(), madness::Solver< T, NDIM >::print_fock_matrix_eigs(), madness::Solver< T, NDIM >::project_ao_basis(), madness::Solver< T, NDIM >::reproject(), madness::Solver< T, NDIM >::save_orbitals(), madness::Solver< T, NDIM >::set_occs2(), madness::Solver< T, NDIM >::solve(), madness::Solver< T, NDIM >::step_restriction(), madness::Solver< T, NDIM >::test_periodicity(), and madness::Solver< T, NDIM >::update_orbitals().
|
private |
Referenced by madness::Solver< T, NDIM >::apply_hf_exchange(), madness::Solver< T, NDIM >::apply_potential(), madness::Solver< T, NDIM >::calculate_kinetic_energy(), madness::Solver< T, NDIM >::compute_residual(), madness::Solver< T, NDIM >::initial_guess(), madness::Solver< T, NDIM >::load_orbitals(), madness::Solver< T, NDIM >::reproject(), madness::Solver< T, NDIM >::save_orbitals(), madness::Solver< T, NDIM >::solve(), and madness::Solver< T, NDIM >::update_orbitals().
|
private |
Referenced by madness::Solver< T, NDIM >::apply_potential(), madness::Solver< T, NDIM >::calculate_kinetic_energy(), madness::Solver< T, NDIM >::compute_residual(), madness::Solver< T, NDIM >::initial_guess(), madness::Solver< T, NDIM >::load_orbitals(), madness::Solver< T, NDIM >::reproject(), madness::Solver< T, NDIM >::save_orbitals(), madness::Solver< T, NDIM >::solve(), and madness::Solver< T, NDIM >::update_orbitals().
|
private |
|
private |
Referenced by madness::Solver< T, NDIM >::solve().
|
private |
Referenced by madness::Solver< T, NDIM >::initial_guess(), and madness::Solver< T, NDIM >::solve().
|
private |
Referenced by madness::Solver< T, NDIM >::initial_guess(), and madness::Solver< T, NDIM >::solve().
|
private |
|
private |
|
private |
Referenced by madness::Solver< T, NDIM >::apply_hf_exchange(), madness::Solver< T, NDIM >::apply_hf_exchange4(), madness::Solver< T, NDIM >::apply_potential(), madness::Solver< T, NDIM >::build_fock_matrix(), madness::Solver< T, NDIM >::calculate_kinetic_energy(), madness::Solver< T, NDIM >::compute_residual(), madness::Solver< T, NDIM >::compute_rho(), madness::Solver< T, NDIM >::compute_rho_slow(), madness::Solver< T, NDIM >::do_rhs(), madness::Solver< T, NDIM >::do_rhs_simple(), madness::Solver< T, NDIM >::init(), madness::Solver< T, NDIM >::initial_guess(), madness::Solver< T, NDIM >::load_orbitals(), madness::Solver< T, NDIM >::make_bsh_operators(), madness::Solver< T, NDIM >::make_nuclear_charge_density_impl(), madness::Solver< T, NDIM >::make_nuclear_potential(), madness::Solver< T, NDIM >::make_nuclear_potential_impl(), madness::Solver< T, NDIM >::orthonormalize(), madness::Solver< T, NDIM >::print_fock_matrix_eigs(), madness::Solver< T, NDIM >::print_potential_matrix_eigs(), madness::Solver< T, NDIM >::reproject(), madness::Solver< T, NDIM >::save_orbitals(), madness::Solver< T, NDIM >::set_occs2(), madness::Solver< T, NDIM >::solve(), madness::Solver< T, NDIM >::step_restriction(), and madness::Solver< T, NDIM >::update_orbitals().
double madness::Solver< T, NDIM >::sss |
Referenced by madness::Solver< T, NDIM >::END_TIMER(), and madness::Solver< T, NDIM >::START_TIMER().
double madness::Solver< T, NDIM >::ttt |
Referenced by madness::Solver< T, NDIM >::END_TIMER(), and madness::Solver< T, NDIM >::START_TIMER().