#include <seminumerical_exchange.h>
◆ SemiNumericalExchange()
◆ compute_K()
◆ 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_separated_omega()
| double occ::qm::cosx::SemiNumericalExchange::range_separated_omega |
( |
| ) |
const |
|
inline |
◆ set_range_separated_omega()
| void occ::qm::cosx::SemiNumericalExchange::set_range_separated_omega |
( |
double |
omega | ) |
|
|
inline |
Range-separation parameter for the exchange operator.
omega == 0 (default): full Coulomb 1/r exchange. omega > 0: long-range erf(omega*r)/r exchange (for range-separated hybrids). The short-range part is obtained as K_full - K_long_range.
◆ 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: