Class Scine::Utils::BondOrderCollection

class BondOrderCollection

Class defining the bond orders between atoms of some molecular system.

Public Functions

BondOrderCollection()

Default Constructor.

BondOrderCollection(int numberAtoms)

Create an empty collection.

Parameters
  • numberAtoms: The number of atoms.

bool empty() const

Whether this collection is empty, i.e.

whether there are any non-zero bond orders in this collection

const Eigen::SparseMatrix<double> &getMatrix() const

Get the Matrix.

Return

const Eigen::SparseMatrix<double>& The bond order matrix. This is a symmetric matrix.

template<typename T>
void setMatrix(T &&bondOrderMatrix)

Set the Matrix.

Template Parameters
  • T: Any matrix type.

Parameters
  • bondOrderMatrix: The new matrix. This must be a symmetric matrix.

void resize(int numberAtoms)

Resize the matrix.

This operation does not preserve any existing values.

Parameters
  • numberAtoms: The new number of atoms.

void setZero()

Set all bond orders to zero and frees the memory.

template<typename Index = int>
Index getSystemSize() const

Get the system size.

Return

int Returns the number of atoms considered in the BondOrderCollection.

Template Parameters
  • Index: The type of the index desired. Defaults to integer

template<typename Index>
void setOrder(Index i, Index j, double order)

Set the bond order.

Sets both \(M_{ij}\) and \(M_{ji}\)

Template Parameters
  • Index:

Parameters
  • i: The index of the first atom.

  • j: The index of the second atom.

  • double: The new bond order.

template<typename Index>
double getOrder(Index i, Index j) const

Get the Order object.

Return

double The bond order.

Template Parameters
  • Index:

Parameters
  • i: The index of the first atom.

  • j: The index of the second atom.

bool operator==(const BondOrderCollection &other) const

Checks whether two bond order collections are approximately equal.

Note

Uses Eigen’s isApprox to fuzzy-compare. Elements in both matrices need not be exactly the same.

Return

Whether the matrices are approximately the same

Parameters
  • other: The other bond order collection to compare against

bool operator!=(const BondOrderCollection &other) const

Negates.

See

operator ==