occ
Loading...
Searching...
No Matches
occ::qm::cosx Namespace Reference

Classes

struct  Settings
 Configuration settings for COSX seminumerical exchange. More...
struct  GridBatches
 The exchange grid in point batches: every atomic grid's points and weights concatenated, each batch a contiguous (start, count) range of one atom's points. More...
struct  GridBatchInfo
struct  ScreenedShellPairs
struct  ShellLists
 ORCA-style SHARK shell lists (shell-based, not pair-based) See: Helmich-Paris et al. More...
class  SemiNumericalExchange
class  MolecularGrid
 Class for molecular integration grids in DFT. More...
struct  AtomGrid
 Structure to hold atom-centered grid data. More...
struct  GridSettings
 Extended settings for Becke grid generation. More...

Functions

GridBatchInfo compute_batch_info (Eigen::Ref< const occ::Mat3N > pts_block)
ScreenedShellPairs screen_shell_pairs (const GridBatchInfo &batch, const std::vector< occ::gto::Shell > &shells, const Vec &screening_extents, double margin=1.0)
std::vector< size_t > screen_shells_geometric (const GridBatchInfo &batch, const std::vector< occ::gto::Shell > &shells, const Vec &screening_extents, double margin=1.0)
 Screen shells based on geometric proximity to grid batch Returns list-1: shells where distance - extent < batch_radius + margin.
std::vector< size_t > screen_shells_density (const std::vector< size_t > &list1, const Mat &Fg, const std::vector< occ::gto::Shell > &shells, const std::vector< int > &first_bf, double threshold=1e-10)
 Screen shells based on F intermediate magnitude (density-weighted basis values) Returns list-2: shells from list1 where max|F_shell| > threshold F = sum_kappa P_kappa,lambda * X_kappa,g (Eq.
std::vector< size_t > screen_shells_overlap (const std::vector< size_t > &list2, const GridBatchInfo &batch, const std::vector< occ::gto::Shell > &shells, const Vec &screening_extents, double threshold=1e-12)
 Screen shells based on differential overlap for ESP integrals Returns list-3: shells from list2 with non-negligible overlap at grid points This is based on the "chain of spheres" - each basis function has a sphere outside of which it's negligible.
ShellLists build_shell_lists (const GridBatchInfo &batch, const Mat &Fg, const std::vector< occ::gto::Shell > &shells, const std::vector< int > &first_bf, const Vec &screening_extents, double f_threshold=1e-10, double overlap_threshold=1e-12, double margin=1.0)
 Build all three shell lists for a batch.

Function Documentation

◆ build_shell_lists()

ShellLists occ::qm::cosx::build_shell_lists ( const GridBatchInfo & batch,
const Mat & Fg,
const std::vector< occ::gto::Shell > & shells,
const std::vector< int > & first_bf,
const Vec & screening_extents,
double f_threshold = 1e-10,
double overlap_threshold = 1e-12,
double margin = 1.0 )

Build all three shell lists for a batch.

◆ compute_batch_info()

GridBatchInfo occ::qm::cosx::compute_batch_info ( Eigen::Ref< const occ::Mat3N > pts_block)

◆ screen_shell_pairs()

ScreenedShellPairs occ::qm::cosx::screen_shell_pairs ( const GridBatchInfo & batch,
const std::vector< occ::gto::Shell > & shells,
const Vec & screening_extents,
double margin = 1.0 )

◆ screen_shells_density()

std::vector< size_t > occ::qm::cosx::screen_shells_density ( const std::vector< size_t > & list1,
const Mat & Fg,
const std::vector< occ::gto::Shell > & shells,
const std::vector< int > & first_bf,
double threshold = 1e-10 )

Screen shells based on F intermediate magnitude (density-weighted basis values) Returns list-2: shells from list1 where max|F_shell| > threshold F = sum_kappa P_kappa,lambda * X_kappa,g (Eq.

8 in paper)

◆ screen_shells_geometric()

std::vector< size_t > occ::qm::cosx::screen_shells_geometric ( const GridBatchInfo & batch,
const std::vector< occ::gto::Shell > & shells,
const Vec & screening_extents,
double margin = 1.0 )

Screen shells based on geometric proximity to grid batch Returns list-1: shells where distance - extent < batch_radius + margin.

◆ screen_shells_overlap()

std::vector< size_t > occ::qm::cosx::screen_shells_overlap ( const std::vector< size_t > & list2,
const GridBatchInfo & batch,
const std::vector< occ::gto::Shell > & shells,
const Vec & screening_extents,
double threshold = 1e-12 )

Screen shells based on differential overlap for ESP integrals Returns list-3: shells from list2 with non-negligible overlap at grid points This is based on the "chain of spheres" - each basis function has a sphere outside of which it's negligible.