occ
|
Class implementing Voronoi atomic charge analysis using LogSumExp approximation. More...
#include <voronoi_charges.h>
Public Member Functions | |
VoronoiPartition (const occ::qm::AOBasis &basis, int charge=0, double temperature=0.1, bool use_vdw_radii=false, const occ::io::GridSettings &grid_settings=occ::io::GridSettings::from_grid_quality(GridQuality::Coarse)) | |
Constructor for Voronoi charge analysis. | |
Vec | calculate (const occ::qm::MolecularOrbitals &mo) |
Calculate Voronoi charges for a given set of molecular orbitals. | |
const Vec & | charges () const |
Get the last calculated Voronoi charges. | |
const Vec & | atom_volumes () const |
Get the volumes of each atom in the molecule. | |
void | set_temperature (double temperature) |
Set the temperature parameter for LogSumExp smoothing. | |
Class implementing Voronoi atomic charge analysis using LogSumExp approximation.
Voronoi charges are computed by partitioning the molecular electron density using a smooth approximation to Voronoi cells via the LogSumExp function. This provides a more robust alternative to traditional Hirshfeld partitioning.
occ::dft::VoronoiPartition::VoronoiPartition | ( | const occ::qm::AOBasis & | basis, |
int | charge = 0 , |
||
double | temperature = 0.1 , |
||
bool | use_vdw_radii = false , |
||
const occ::io::GridSettings & | grid_settings = occ::io::GridSettings::from_grid_quality(GridQuality::Coarse) |
||
) |
Constructor for Voronoi charge analysis.
basis | Basis set for the molecule |
charge | Total molecular charge |
temperature | Temperature parameter for LogSumExp smoothing (default: 0.1; use 0.37 for VDW-scaled) |
use_vdw_radii | Whether to scale distances by VDW radii (default: false) |
grid_settings | Grid settings for integration (default: Coarse quality) |
|
inline |
Get the volumes of each atom in the molecule.
Vec occ::dft::VoronoiPartition::calculate | ( | const occ::qm::MolecularOrbitals & | mo | ) |
Calculate Voronoi charges for a given set of molecular orbitals.
mo | Molecular orbitals containing the density matrix |
|
inline |
Get the last calculated Voronoi charges.
|
inline |
Set the temperature parameter for LogSumExp smoothing.
temperature | Temperature parameter (smaller values = sharper boundaries) |