occ
Loading...
Searching...
No Matches
grid_utils.h File Reference
#include <array>
#include <cmath>
#include <occ/dft/grid_types.h>
Include dependency graph for grid_utils.h:

Namespaces

namespace  occ
 
namespace  occ::dft
 functionality related to Kohn-Sham density functional theory
 

Functions

uint_fast16_t occ::dft::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::dft::nearest_grid_level_below (uint_fast16_t n)
 Find the nearest Lebedev grid level below the requested number of points.
 
size_t occ::dft::angular_point_count (size_t level)
 Get the number of points in a Lebedev grid.
 
double occ::dft::get_atomic_radius (size_t atomic_number)
 Get the atomic radius for a given atomic number.
 
Vec occ::dft::becke_partition (const Vec &w)
 Apply the Becke partition function.
 
Vec occ::dft::stratmann_scuseria_partition (const Vec &w)
 Apply the Stratmann-Scuseria partition function.
 
Mat occ::dft::calculate_interatomic_distances (const Mat3N &positions)
 Calculate interatomic distances.
 
Mat occ::dft::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::dft::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::dft::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.
 
RadialGrid occ::dft::generate_becke_radial_grid (size_t num_points, double rm=1.0)
 Generate a Becke radial grid.
 
RadialGrid occ::dft::generate_mura_knowles_radial_grid (size_t num_points, size_t charge)
 Generate a Mura-Knowles radial grid.
 
RadialGrid occ::dft::generate_treutler_alrichs_radial_grid (size_t num_points)
 Generate a Treutler-Alrichs radial grid.
 
RadialGrid occ::dft::generate_gauss_chebyshev_radial_grid (size_t num_points)
 Generate a Gauss-Chebyshev radial grid.
 
RadialGrid occ::dft::generate_euler_maclaurin_radial_grid (size_t num_points, double alpha)
 Generate a Euler-Maclaurin radial grid.
 
RadialGrid occ::dft::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::dft::lmg_inner (const double max_error, const double alpha_inner)
 Helper function to calculate LMG inner radial boundary.
 
double occ::dft::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::dft::lmg_h (const double max_error, const int l, const double guess)
 Helper function to calculate LMG grid spacing parameter.
 
AtomGrid occ::dft::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::dft::lebedev_grid_levels
 Array of available Lebedev grid levels.