#include <seminumerical_exchange.h>
|
| | SemiNumericalExchange (const gto::AOBasis &, const occ::numint::GridSettings &={}) |
| |
| Mat | compute_K (const qm::MolecularOrbitals &mo, double precision=std::numeric_limits< double >::epsilon(), const occ::Mat &Schwarz=occ::Mat(), double omega=0.0) const |
| | Seminumerical exchange for one operator.
|
| |
| Mat | compute_K_range_separated (const qm::MolecularOrbitals &mo, double alpha, double beta, double omega, double precision=std::numeric_limits< double >::epsilon()) const |
| | Fused range-separated exchange: builds the full Hartree-Fock exchange matrix of a range-separated hybrid, K = (alpha+beta)*K[1/r] - beta*K[erf(omega*r)/r], in a SINGLE grid sweep.
|
| |
| Mat | compute_overlap_matrix () const |
| |
| const auto & | engine () const |
| |
| void | set_use_esp (bool use_esp) |
| | Enable or disable the ESP-based approach (default: disabled for backward compatibility)
|
| |
| bool | use_esp () const |
| |
| void | set_use_spatial_hierarchy (bool use_hierarchy) |
| | Enable or disable spatial hierarchy (default: enabled)
|
| |
| bool | use_spatial_hierarchy () const |
| |
| void | set_settings (const Settings &settings) |
| | Configuration settings.
|
| |
| const Settings & | settings () const |
| |
| size_t | num_grid_points () const |
| | Range-separation parameter for the exchange operator.
|
| |
| size_t | num_batches () const |
| |
| size_t | num_atoms () const |
| |
| const occ::numint::MolecularGrid & | grid () const |
| | Get the underlying molecular grid.
|
| |
◆ SemiNumericalExchange()
◆ compute_K()
| Mat occ::qm::cosx::SemiNumericalExchange::compute_K |
( |
const qm::MolecularOrbitals & |
mo, |
|
|
double |
precision = std::numeric_limits< double >::epsilon(), |
|
|
const occ::Mat & |
Schwarz = occ::Mat(), |
|
|
double |
omega = 0.0 |
|
) |
| const |
Seminumerical exchange for one operator.
omega selects it: zero for the full Coulomb 1/r, nonzero for the attenuated erf(omega r)/r. Passed rather than held, because nothing here is cached per operator – the grid, the shell-pair map and the density contraction are shared, and only the analytic ESP integral looks at omega at all.
◆ compute_K_range_separated()
| Mat occ::qm::cosx::SemiNumericalExchange::compute_K_range_separated |
( |
const qm::MolecularOrbitals & |
mo, |
|
|
double |
alpha, |
|
|
double |
beta, |
|
|
double |
omega, |
|
|
double |
precision = std::numeric_limits< double >::epsilon() |
|
) |
| const |
Fused range-separated exchange: builds the full Hartree-Fock exchange matrix of a range-separated hybrid, K = (alpha+beta)*K[1/r] - beta*K[erf(omega*r)/r], in a SINGLE grid sweep.
The grid-point basis values, density contraction, shell-pair screening and final back-contraction are shared between the two operators; only the analytic ESP integral is evaluated twice per shell pair. Equivalent to compute_K(full) and compute_K(long-range) combined, but without duplicating the per-batch overhead. (Restricted only.)
◆ compute_overlap_matrix()
| Mat occ::qm::cosx::SemiNumericalExchange::compute_overlap_matrix |
( |
| ) |
const |
◆ engine()
| const auto & occ::qm::cosx::SemiNumericalExchange::engine |
( |
| ) |
const |
|
inline |
◆ grid()
Get the underlying molecular grid.
◆ num_atoms()
| size_t occ::qm::cosx::SemiNumericalExchange::num_atoms |
( |
| ) |
const |
◆ num_batches()
| size_t occ::qm::cosx::SemiNumericalExchange::num_batches |
( |
| ) |
const |
◆ num_grid_points()
| size_t occ::qm::cosx::SemiNumericalExchange::num_grid_points |
( |
| ) |
const |
Range-separation parameter for the exchange operator.
Get grid information
◆ set_settings()
| void occ::qm::cosx::SemiNumericalExchange::set_settings |
( |
const Settings & |
settings | ) |
|
◆ set_use_esp()
| void occ::qm::cosx::SemiNumericalExchange::set_use_esp |
( |
bool |
use_esp | ) |
|
|
inline |
Enable or disable the ESP-based approach (default: disabled for backward compatibility)
◆ set_use_spatial_hierarchy()
| void occ::qm::cosx::SemiNumericalExchange::set_use_spatial_hierarchy |
( |
bool |
use_hierarchy | ) |
|
|
inline |
Enable or disable spatial hierarchy (default: enabled)
◆ settings()
| const Settings & occ::qm::cosx::SemiNumericalExchange::settings |
( |
| ) |
const |
|
inline |
◆ use_esp()
| bool occ::qm::cosx::SemiNumericalExchange::use_esp |
( |
| ) |
const |
|
inline |
◆ use_spatial_hierarchy()
| bool occ::qm::cosx::SemiNumericalExchange::use_spatial_hierarchy |
( |
| ) |
const |
|
inline |
The documentation for this class was generated from the following file: