STORMM Source Documentation
|
Table of options and optimization targets for an Indigo formal charge and bond order assignment. More...
#include <indigo.h>
Public Member Functions | |
IndigoTable (const AtomGraph *ag_in, int molecule_index=0, double temperature_in=300.0) | |
The constructor takes a topology and options for the min and max formal charge (these are merely to accelerate the optimization and search for possible values from the respective maps). | |
int | getAtomCount () const |
Get the number of atoms. | |
int | getBondCount () const |
Get the number of bonds. | |
int | getNetCharge () const |
Get the net charge on the system. | |
std::vector< CombineIDp > | getGroundStateFormalCharges () const |
Return the system's ground state formal charges in a form amenable to the original topology. The output is a list of tuples containg the topology atom index in the x member (round and convert to nearest integer) and the formal charge in the y member. | |
std::vector< CombineIDp > | getGroundStateBondOrders () const |
Return the system's ground state bond orders in a form amenable to the original topology. The output is a list of tuples containg the topology bond index in the x member (round and convert to nearest integer) and the order in the y member. | |
std::vector< CombineIDp > | getGroundStateFreeElectrons () const |
Return the number of free electrons on each atom in the system's ground state. | |
std::vector< int2 > | getZeroKelvinFormalCharges () const |
Return the system's ground state formal charges, taking only a single representation of each bond and formal charge state. This equates to a single Lewis structure (out of many), with the lowest or tied-for-lowest energy state at 0K. This will produce integral formal charges, suitable for an SD file. The topological index of each atom is given in the "x" member while the formal charge is given in the "y" member of each tuple in the output array. | |
std::vector< int2 > | getZeroKelvinBondOrders () const |
Return the system's ground state bond orders, taking only a single representation of each bond and formal charge state. As with getZeroKelvinFormalCharges() above, this will produce a single Lewis structure with integral bond orders. The topological index of each atom is given in the "x" member while the bond order is given in the "y" member of each tuple in the output array. | |
std::vector< int2 > | getZeroKelvinFreeElectrons () const |
Return the system's ground state electron content, taking only a single representation of each bond and formal charge state. As with getZeroKelvinFormalCharges() above, this will produce a single Lewis structure with integral bond orders. The topological index of each atom is given in the "x" member while the bond order is given in the "y" member of each tuple in the output array. | |
double | getGroundStateEnergy () const |
Return the system's ground state energy. | |
Table of options and optimization targets for an Indigo formal charge and bond order assignment.
stormm::chemistry::IndigoTable::IndigoTable | ( | const AtomGraph * | ag_in, |
int | molecule_index = 0, | ||
double | temperature_in = 300.0 ) |
The constructor takes a topology and options for the min and max formal charge (these are merely to accelerate the optimization and search for possible values from the respective maps).
ag | System topology |
molecule_index | Molecule within the topology to develop a Lewis structure for (if there are solvent molecules, this is a good way to ignore them) |
temperature | System temperature in Kelvin |