occ
Loading...
Searching...
No Matches
occ::dft::VoronoiPartition Class Reference

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.
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ VoronoiPartition()

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.

Parameters
basisBasis set for the molecule
chargeTotal molecular charge
temperatureTemperature parameter for LogSumExp smoothing (default: 0.1; use 0.37 for VDW-scaled)
use_vdw_radiiWhether to scale distances by VDW radii (default: false)
grid_settingsGrid settings for integration (default: Coarse quality)

Member Function Documentation

◆ atom_volumes()

const Vec & occ::dft::VoronoiPartition::atom_volumes ( ) const
inline

Get the volumes of each atom in the molecule.

Returns
const Vec& Reference to the atomic volumes

◆ calculate()

Vec occ::dft::VoronoiPartition::calculate ( const occ::qm::MolecularOrbitals mo)

Calculate Voronoi charges for a given set of molecular orbitals.

Parameters
moMolecular orbitals containing the density matrix
Returns
Vec Vector of Voronoi charges for each atom

◆ charges()

const Vec & occ::dft::VoronoiPartition::charges ( ) const
inline

Get the last calculated Voronoi charges.

Returns
const Vec& Reference to the Voronoi charges

◆ set_temperature()

void occ::dft::VoronoiPartition::set_temperature ( double  temperature)
inline

Set the temperature parameter for LogSumExp smoothing.

Parameters
temperatureTemperature parameter (smaller values = sharper boundaries)

The documentation for this class was generated from the following file: