occ
Loading...
Searching...
No Matches
grid_utils.h File Reference
#include <array>
#include <cmath>
#include <occ/numint/grid_types.h>
#include <utility>
#include <vector>
Include dependency graph for grid_utils.h:
This graph shows which files directly or indirectly include this file:

Classes

class  occ::numint::BeckeWeightDerivative
 Per-point derivatives of Becke-partitioned weights. More...
struct  occ::numint::OrcaCOSXAtomicGrid
 One ORCA 6.1 COSX atomic grid: number of radial shells, the M3 scaling xi (bohr), and the angular grid as runs of (Lebedev order, shell count) from the nucleus outwards. More...

Namespaces

namespace  occ
namespace  occ::numint

Functions

uint_fast16_t occ::numint::nearest_grid_level_at_or_above (uint_fast16_t n)
 Find the nearest Lebedev grid level at or above the requested number of points.
uint_fast16_t occ::numint::nearest_grid_level_below (uint_fast16_t n)
 Find the nearest Lebedev grid level below the requested number of points.
size_t occ::numint::angular_point_count (size_t level)
 Get the number of points in a Lebedev grid.
double occ::numint::get_atomic_radius (size_t atomic_number)
 Get the atomic radius for a given atomic number.
Vec occ::numint::becke_partition (const Vec &w)
 Apply the Becke partition function.
Vec occ::numint::stratmann_scuseria_partition (const Vec &w)
 Apply the Stratmann-Scuseria partition function.
Mat occ::numint::calculate_interatomic_distances (const Mat3N &positions)
 Calculate interatomic distances.
Mat3N occ::numint::becke_weight_gradient (const Mat3N &points, const Vec &weights, const std::vector< std::pair< size_t, size_t > > &atom_blocks, const Vec &e, const Mat3N &positions, const Vec &radii, bool treutler_ahlrichs)
 Grid-weight response: sum_g e_g dw_g/dR_B for every atom B.
Mat occ::numint::becke_weight_hessian (const Mat3N &points, const Vec &weights, const std::vector< std::pair< size_t, size_t > > &atom_blocks, const Vec &e, const Mat3N &positions, const Vec &radii, bool treutler_ahlrichs)
 Second-order grid-weight response: sum_g e_g d2 w_g / dR_X dR_Y (3N x 3N), points moving with their parent atoms, e_g held fixed.
Mat occ::numint::calculate_atomic_grid_weights (PartitionMethod method, const Mat &grid_points, const Mat &atomic_positions, const Vec &radii, const Mat &interatomic_distances)
 Calculate Becke atomic weights for grid points.
IVec occ::numint::prune_nwchem_scheme (size_t nuclear_charge, size_t max_angular, size_t num_radial, const Vec &radii)
 Apply the NWChem pruning scheme to a radial grid.
IVec occ::numint::prune_numgrid_scheme (size_t atomic_number, size_t max_angular, size_t min_angular, const Vec &radii)
 Apply the NumGrid pruning scheme to a radial grid.
IVec occ::numint::prune_orca_scheme (size_t atomic_number, const std::array< size_t, 5 > &region_grids, const Vec &radii)
 Apply ORCA-style 5-region angular pruning.
RadialGrid occ::numint::generate_becke_radial_grid (size_t num_points, double rm=1.0)
 Generate a Becke radial grid.
RadialGrid occ::numint::generate_mura_knowles_radial_grid (size_t num_points, size_t charge)
 Generate a Mura-Knowles radial grid.
RadialGrid occ::numint::generate_treutler_alrichs_radial_grid (size_t num_points)
 Generate a Treutler-Alrichs radial grid.
RadialGrid occ::numint::generate_perez_jorda_m3_radial_grid (size_t num_points, double xi)
 Perez-Jorda Gauss-Chebyshev (second kind) quadrature with the Treutler-Ahlrichs M3 mapping r = xi / ln 2 * ln(2 / (1 - x)).
OrcaCOSXAtomicGrid occ::numint::orca_cosx_atomic_grid (int atomic_number, int level)
 ORCA 6.1 COSX atomic grid for an element and GRIDX level (1-3).
RadialGrid occ::numint::generate_gauss_chebyshev_radial_grid (size_t num_points)
 Generate a Gauss-Chebyshev radial grid.
RadialGrid occ::numint::generate_gauss_chebyshev_m3_radial_grid (size_t num_points, size_t atomic_number)
 Generate a Gauss-Chebyshev radial grid with M3 mapping.
RadialGrid occ::numint::generate_euler_maclaurin_radial_grid (size_t num_points, double alpha)
 Generate a Euler-Maclaurin radial grid.
RadialGrid occ::numint::generate_lmg_radial_grid (size_t atomic_number, double radial_precision, double alpha_max, int l_max, const occ::Vec &alpha_min)
 Generate a Lindh-Malmqvist-Gagliardi (LMG) radial grid.
double occ::numint::lmg_inner (const double max_error, const double alpha_inner)
 Helper function to calculate LMG inner radial boundary.
double occ::numint::lmg_outer (const double max_error, const double alpha_outer, const int l, const double guess)
 Helper function to calculate LMG outer radial boundary.
double occ::numint::lmg_h (const double max_error, const int l, const double guess)
 Helper function to calculate LMG grid spacing parameter.
AtomGrid occ::numint::generate_atom_grid (size_t atomic_number, const GridSettings &settings, RadialGridMethod method=RadialGridMethod::LMG, double alpha_max=0.0, int l_max=0, const Vec &alpha_min=Vec())
 Generate an atom-centered grid using the specified method.

Variables

const std::array< uint_fast16_t, 33 > occ::numint::lebedev_grid_levels
 Array of available Lebedev grid levels.