occ
Loading...
Searching...
No Matches
occ::descriptors::PointwiseDistanceDistribution Class Reference

Pointwise Distance Distribution for crystals. More...

#include <pdd_amd.h>

Public Member Functions

 PointwiseDistanceDistribution (const crystal::Crystal &crystal, int k, const PointwiseDistanceDistributionConfig &config=PointwiseDistanceDistributionConfig{})
 Construct PDD from crystal structure.
 
const Vecweights () const
 Get the weights for each environment.
 
const Matdistances () const
 Get the distance matrix (environments as columns)
 
Vec average_minimum_distance () const
 Calculate Average Minimum Distance from this PDD.
 
Mat matrix () const
 Get the full PDD matrix (weights + distances) - assembled on demand.
 
size_t size () const
 Number of unique chemical environments.
 
int k () const
 Number of neighbors considered.
 
const Eigen::MatrixXi & groups () const
 Get grouping information if available.
 

Detailed Description

Pointwise Distance Distribution for crystals.

Based on the work by Widdowson et al., providing geometry-based crystallographic descriptors independent of unit cell choice.

The PDD is a matrix where each row corresponds to a unique chemical environment and contains the k nearest neighbor distances along with a weight indicating the relative abundance of that environment.

References:

Constructor & Destructor Documentation

◆ PointwiseDistanceDistribution()

occ::descriptors::PointwiseDistanceDistribution::PointwiseDistanceDistribution ( const crystal::Crystal crystal,
int  k,
const PointwiseDistanceDistributionConfig config = PointwiseDistanceDistributionConfig{} 
)

Construct PDD from crystal structure.

Parameters
crystalThe crystal structure to analyze
kNumber of nearest neighbors to consider
configConfiguration options for the calculation

Member Function Documentation

◆ average_minimum_distance()

Vec occ::descriptors::PointwiseDistanceDistribution::average_minimum_distance ( ) const

Calculate Average Minimum Distance from this PDD.

Computes the weighted average of each distance column, providing a k-dimensional vector representing the average k-nearest neighbor distances across all chemical environments.

◆ distances()

const Mat & occ::descriptors::PointwiseDistanceDistribution::distances ( ) const
inline

Get the distance matrix (environments as columns)

◆ groups()

const Eigen::MatrixXi & occ::descriptors::PointwiseDistanceDistribution::groups ( ) const
inline

Get grouping information if available.

Returns a matrix where each column corresponds to a chemical environment and contains the indices of asymmetric unit atoms in that environment. Unused entries are filled with -1.

◆ k()

int occ::descriptors::PointwiseDistanceDistribution::k ( ) const
inline

Number of neighbors considered.

◆ matrix()

Mat occ::descriptors::PointwiseDistanceDistribution::matrix ( ) const
inline

Get the full PDD matrix (weights + distances) - assembled on demand.

◆ size()

size_t occ::descriptors::PointwiseDistanceDistribution::size ( ) const
inline

Number of unique chemical environments.

◆ weights()

const Vec & occ::descriptors::PointwiseDistanceDistribution::weights ( ) const
inline

Get the weights for each environment.


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