mpqc::lcao::ESolveDensityBuilder< Tile, Policy > Class Template Reference
Collaboration diagram for mpqc::lcao::ESolveDensityBuilder< Tile, Policy >:
Documentation
template<typename Tile, typename Policy>
class mpqc::lcao::ESolveDensityBuilder< Tile, Policy >
Computes new density and orbitals from a Fock matrix using an eigensolver.
Public Types | |
using | array_type = typename DensityBuilder< Tile, Policy >::array_type |
using | arrayvec_type = typename DensityBuilder< Tile, Policy >::arrayvec_type |
Public Types inherited from mpqc::lcao::DensityBuilder< Tile, Policy > | |
using | array_type = TA::DistArray< Tile, Policy > |
using | arrayvec_type = TA::DistArrayVector< Tile, Policy > |
Public Member Functions | |
ESolveDensityBuilder ()=default | |
ESolveDensityBuilder (ESolveDensityBuilder const &)=default | |
ESolveDensityBuilder (ESolveDensityBuilder &&)=default | |
ESolveDensityBuilder & | operator= (ESolveDensityBuilder const &)=default |
ESolveDensityBuilder & | operator= (ESolveDensityBuilder &&)=default |
~ESolveDensityBuilder () noexcept=default | |
ESolveDensityBuilder (array_type const &S, int64_t nalpha, int64_t nbeta, int64_t nclusters, double TcutC=0.0, std::string const &metric_decomp_type="cholesky_inverse", double target_condition_number=1.0e8, std::shared_ptr< OrbitalLocalizer< Tile, Policy >> localizer=nullptr, bool localize_core=false, int64_t ncore=0, bool clustered_coeffs=false, const arrayvec_type &r_xyz={}) | |
std::pair< arrayvec_type, arrayvec_type > | operator() (arrayvec_type const &F) const override |
double | condition_num_threshold () const |
void | condition_num_threshold (double thresh) |
double | TcutC () const |
bool | localize () const |
const Eigen::VectorXd & | orbital_energies () const |
array_type | C () const |
Public Member Functions inherited from mpqc::lcao::DensityBuilder< Tile, Policy > | |
DensityBuilder ()=default | |
DensityBuilder (DensityBuilder const &)=default | |
DensityBuilder (DensityBuilder &&)=default | |
DensityBuilder & | operator= (DensityBuilder const &)=default |
DensityBuilder & | operator= (DensityBuilder &&)=default |
virtual | ~DensityBuilder () |
virtual std::pair< arrayvec_type, arrayvec_type > | operator() (arrayvec_type const &) const =0 |
virtual void | log_iter (std::ostream &os=ExEnv::out0()) const |
Member Typedef Documentation
◆ array_type
template<typename Tile , typename Policy >
using mpqc::lcao::ESolveDensityBuilder< Tile, Policy >::array_type = typename DensityBuilder<Tile, Policy>::array_type |
◆ arrayvec_type
template<typename Tile , typename Policy >
using mpqc::lcao::ESolveDensityBuilder< Tile, Policy >::arrayvec_type = typename DensityBuilder<Tile, Policy>::arrayvec_type |
Constructor & Destructor Documentation
◆ ESolveDensityBuilder() [1/4]
template<typename Tile , typename Policy >
|
default |
◆ ESolveDensityBuilder() [2/4]
template<typename Tile , typename Policy >
|
default |
◆ ESolveDensityBuilder() [3/4]
template<typename Tile , typename Policy >
|
default |
◆ ~ESolveDensityBuilder()
template<typename Tile , typename Policy >
|
defaultnoexcept |
◆ ESolveDensityBuilder() [4/4]
template<typename Tile , typename Policy >
mpqc::lcao::ESolveDensityBuilder< Tile, Policy >::ESolveDensityBuilder | ( | array_type const & | S, |
int64_t | nalpha, | ||
int64_t | nbeta, | ||
int64_t | nclusters, | ||
double | TcutC = 0.0 , |
||
std::string const & | metric_decomp_type = "cholesky_inverse" , |
||
double | target_condition_number = 1.0e8 , |
||
std::shared_ptr< OrbitalLocalizer< Tile, Policy >> | localizer = nullptr , |
||
bool | localize_core = false , |
||
int64_t | ncore = 0 , |
||
bool | clustered_coeffs = false , |
||
const arrayvec_type & | r_xyz = {} |
||
) |
- Parameters
-
S the AO overlap matrix nalpha the number of spin-up ( ) electrons nbeta the number of spin-down ( ) electrons nclusters the target number of clusters to form from the MOs TcutC threshold to use for truncating tiles of orbitals metric_decomp_type how to orthonormalize the basis target_condition_number the target condition number to use when computing the orthonormal basis localizer pointer to the OrbitalLocalizer object used to localize orbitals localize_core whether to localize the core orbitals ncore the number of core orbitals clustered_coeffs whether to cluster localized MOs r_xyz AO dipole moment integrals, only used if clustered_coeffs
is true
Member Function Documentation
◆ C()
template<typename Tile , typename Policy >
|
inline |
◆ condition_num_threshold() [1/2]
template<typename Tile , typename Policy >
|
inline |
◆ condition_num_threshold() [2/2]
template<typename Tile , typename Policy >
|
inline |
◆ localize()
template<typename Tile , typename Policy >
|
inline |
◆ operator()()
template<typename Tile , typename Policy >
|
override |
◆ operator=() [1/2]
template<typename Tile , typename Policy >
|
default |
◆ operator=() [2/2]
template<typename Tile , typename Policy >
|
default |
◆ orbital_energies()
template<typename Tile , typename Policy >
|
inline |
◆ TcutC()
template<typename Tile , typename Policy >
|
inline |
The documentation for this class was generated from the following files:
- mpqc/chemistry/qc/lcao/scf/eigen_solve_density_builder.h
- mpqc/chemistry/qc/lcao/scf/eigen_solve_density_builder.ipp