# OEAM1BCCCharges¶

class OEAM1BCCCharges : public OEChargeEngineBase


Charge engine input to OEAssignCharges to assign AM1 Mulliken-type partial charges with bond-charge corrections.

The input must be a 3D molecule with a number of atoms no larger than a defined maximum. The default is 300 atoms, see constructors. Parameters must be available for each atom and bond type. If permissive BCCs are requested, no correction is applied when a BCC is missing.

The following methods are publicly inherited from OEChargeEngineBase:

## Constructors¶

OEAM1BCCCharges(bool optimize=true,
bool symmetrize=true,
bool permissiveBCCs=false,
unsigned maxAtoms=300)


Constructor. Parameters also have getter and setter methods.

## GetOptimize¶

bool GetOptimize() const


Returns true if the geometry of the input molecule will be optimized during charge assignment.

## GetPermissiveBCCs¶

bool GetPermissiveBCCs() const


Returns true if a missing BCC will be treated as a correction of zero rather than an error.

## GetSizeLimit¶

unsigned GetSizeLimit() const


Returns the maximum number of atoms permitted.

## GetSymmetrize¶

bool GetSymmetrize() const


Returns true if charges will be symmetrized with respect to bond-topologically equivalent atoms.

## SetOptimize¶

void SetOptimize(bool optimize=true)


Defines whether the geometry of the input molecule will be optimized during charge assignment. Optimization is lightly restrained to starting coordinates.

## SetPermissiveBCCs¶

void SetPermissiveBCCs(bool permissive=true)


Defines whether a missing BCC will be treated as a correction of zero or as an error.

## SetSizeLimit¶

void SetSizeLimit(unsigned maxAtoms)


Defines the maximum number of atoms permitted in the input molecule.

## SetSymmetrize¶

void SetSymmetrize(bool symmetrize=true)


Defines whether charges on the molecule are symmetrized with respect to bond-topologically equivalent atoms.